#pragma warning disable 1591, 0612, 3021
#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;
/// <summary>Holder for reflection information generated from Campofinale.proto</summary>
public static partial class CampofinaleReflection {

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

  static CampofinaleReflection() {
    byte[] descriptorData = global::System.Convert.FromBase64String(
        string.Concat(
          "ChFDYW1wb2ZpbmFsZS5wcm90byJXCgZIZWFkZXISGQoHdmVyc2lvbhgBIAEo",
          "DjIILlZlcnNpb24SIgoMbWVzc2FnZV90eXBlGAIgASgOMgwuTWVzc2FnZVR5",
          "cGUSDgoGc2VxX2lkGAMgASgNIpwCCgtBdXRoUmVxdWVzdBINCgV0b2tlbhgB",
          "IAEoCRILCgN1aWQYAiABKAkSCwoDZGlkGAMgASgJEg4KBmFwcF9pZBgEIAEo",
          "CRIKCgJvcxgFIAEoCRISCgpvc192ZXJzaW9uGAYgASgJEhMKC2FwcF92ZXJz",
          "aW9uGAcgASgJEhcKD2xvZ19zZGtfdmVyc2lvbhgIIAEoCRIUCgxkZXZpY2Vf",
          "bW9kZWwYCSABKAkSFAoMbmV0d29ya190eXBlGAogASgJEhMKC2RldmljZV9u",
          "YW1lGAsgASgJEhMKC3NlcnZlcl9uYW1lGAwgASgJEhYKDnNlcnZlcl9jaGFu",
          "bmVsGA0gASgJEhgKEGdhbWVfbGF1bmNoX3RpbWUYDiABKAMicQoMQXV0aFJl",
          "c3BvbnNlEh8KBnN0YXR1cxgBIAEoDjIPLlJlc3BvbnNlU3RhdHVzEg8KB21l",
          "c3NhZ2UYAiABKAkSIgoMZW5jcnlwdF90eXBlGAMgASgOMgwuRW5jcnlwdFR5",
          "cGUSCwoDa2V5GAQgASgJIikKC0xvZ0ludFBhcmFtEgsKA3ZhbBgBIAEoAxIN",
          "CgVpbmRleBgCIAEoBSIrCg1Mb2dGbG9hdFBhcmFtEgsKA3ZhbBgBIAEoAhIN",
          "CgVpbmRleBgCIAEoBSIsCg5Mb2dEb3VibGVQYXJhbRILCgN2YWwYASABKAES",
          "DQoFaW5kZXgYAiABKAUiKgoMTG9nQm9vbFBhcmFtEgsKA3ZhbBgBIAEoCRIN",
          "CgVpbmRleBgCIAEoBSIsCg5Mb2dTdHJpbmdQYXJhbRILCgN2YWwYASABKAkS",
          "DQoFaW5kZXgYAiABKAUi3AIKCkxvZ01lc3NhZ2USFAoMbG9nX3RlbXBsYXRl",
          "GAEgASgJEhUKDXRlbXBsYXRlX2hhc2gYAiABKA0SHAoJbG9nX2xldmVsGAMg",
          "ASgOMgkuTG9nTGV2ZWwSDwoHY2hhbm5lbBgEIAEoBRIMCgR0aW1lGAUgASgD",
          "Eg8KB3JvbGVfaWQYCyABKAMSJQoPcGFyYW1zX2ludF9saXN0GAYgAygLMgwu",
          "TG9nSW50UGFyYW0SKQoRcGFyYW1zX2Zsb2F0X2xpc3QYByADKAsyDi5Mb2dG",
          "bG9hdFBhcmFtEisKEnBhcmFtc19kb3VibGVfbGlzdBgIIAMoCzIPLkxvZ0Rv",
          "dWJsZVBhcmFtEicKEHBhcmFtc19ib29sX2xpc3QYCSADKAsyDS5Mb2dCb29s",
          "UGFyYW0SKwoScGFyYW1zX3N0cmluZ19saXN0GAogAygLMg8uTG9nU3RyaW5n",
          "UGFyYW0iXQoSTG9nTWVzc2FnZVJlc3BvbnNlEh8KBnN0YXR1cxgBIAEoDjIP",
          "LlJlc3BvbnNlU3RhdHVzEg8KB21lc3NhZ2UYAiABKAkSFQoNdGVtcGxhdGVf",
          "aGFzaBgDIAEoDSIfCgdWZWN0b3IyEgkKAXgYASABKAUSCQoBeRgCIAEoBSI/",
          "CgdTdWJQb3J0EhUKA3BvcxgBIAEoCzIILlZlY3RvcjISHQoJZGlyZWN0aW9u",
          "GAIgASgOMgouRGlyZWN0aW9uIiUKCEl0ZW1Vbml0EgoKAmlkGAEgASgJEg0K",
          "BWNvdW50GAIgASgEIkMKB0l0ZW1Cb3gSCgoCaWQYASABKAkSDQoFY291bnQY",
          "AiABKAQSDQoFaW5kZXgYAyABKAUSDgoGb2Zmc2V0GAQgASgDImEKB0Zvcm11",
          "bGESCgoCaWQYASABKAkSGgoScHJvZ3Jlc3NfcGVyX3JvdW5kGAIgASgDEhcK",
          "BGZyb20YAyADKAsyCS5JdGVtVW5pdBIVCgJ0bxgEIAMoCzIJLkl0ZW1Vbml0",
          "Ij0KB1NEU2hhcGUSGAoEdHlwZRgBIAEoDjIKLlNoYXBlVHlwZRIYCgZwb2lu",
          "dHMYAiADKAsyCC5WZWN0b3IyIuUCCgpTRFRlbXBsYXRlEgoKAmlkGAEgASgJ",
          "EhcKBHR5cGUYAiABKA4yCS5Ob2RlVHlwZRIXCgVzaGFwZRgDIAEoCzIILlNE",
          "U2hhcGUSGQoDYnVzGBUgASgLMgouU0ROb2RlQnVzSAASKgoMYnVzX3VubG9h",
          "ZGVyGBYgASgLMhIuU0ROb2RlQnVzVW5sb2FkZXJIABImCgpidXNfbG9hZGVy",
          "GBcgASgLMhAuU0ROb2RlQnVzTG9hZGVySAASJQoJY29sbGVjdG9yGBggASgL",
          "MhAuU0ROb2RlQ29sbGVjdG9ySAASIwoIcHJvZHVjZXIYGSABKAsyDy5TRE5v",
          "ZGVQcm9kdWNlckgAEioKDGJveF9jb252ZXlvchgaIAEoCzISLlNETm9kZUJv",
          "eENvbnZleW9ySAASJgoKYm94X3JvdXRlchgbIAEoCzIQLlNETm9kZUJveFJv",
          "dXRlckgAQgoKCHNfZF9ub2RlIikKCVNETm9kZUJ1cxIcCgNidXMYASABKAsy",
          "Dy5TRENvbXBvbmVudEJ1cyIpCg5TRENvbXBvbmVudEJ1cxIXCgVwb3J0cxgB",
          "IAMoCzIILlN1YlBvcnQiagoRU0ROb2RlQnVzVW5sb2FkZXISLQoMYnVzX3Vu",
          "bG9hZGVyGAEgASgLMhcuU0RDb21wb25lbnRCdXNVbmxvYWRlchImCghzZWxl",
          "Y3RvchgCIAEoCzIULlNEQ29tcG9uZW50U2VsZWN0b3IiMQoWU0RDb21wb25l",
          "bnRCdXNVbmxvYWRlchIXCgVwb3J0cxgBIAMoCzIILlN1YlBvcnQiLgoTU0RD",
          "b21wb25lbnRTZWxlY3RvchIXCgVwb3J0cxgBIAMoCzIILlN1YlBvcnQiPAoP",
          "U0ROb2RlQnVzTG9hZGVyEikKCmJ1c19sb2FkZXIYASABKAsyFS5TRENvbXBv",
          "bmVudEJ1c0xvYWRlciJPChRTRENvbXBvbmVudEJ1c0xvYWRlchIaCghwb3J0",
          "c19pbhgBIAMoCzIILlN1YlBvcnQSGwoJcG9ydHNfb3V0GAIgAygLMgguU3Vi",
          "UG9ydCJeCg9TRE5vZGVDb2xsZWN0b3ISKAoJY29sbGVjdG9yGAEgASgLMhUu",
          "U0RDb21wb25lbnRDb2xsZWN0b3ISIQoGY2FjaGVzGAIgAygLMhEuU0RDb21w",
          "b25lbnRDYWNoZSIyChRTRENvbXBvbmVudENvbGxlY3RvchIaChJwcm9ncmVz",
          "c19wZXJfcm91bmQYASABKAMiOQoQU0RDb21wb25lbnRDYWNoZRIMCgRzaXpl",
          "GAEgASgFEhcKBXBvcnRzGAIgAygLMgguU3ViUG9ydCKyAQoOU0ROb2RlUHJv",
          "ZHVjZXISJgoIcHJvZHVjZXIYASABKAsyFC5TRENvbXBvbmVudFByb2R1Y2Vy",
          "EisKC2Zvcm11bGFfbWFuGAIgASgLMhYuU0RDb21wb25lbnRGb3JtdWxhTWFu",
          "EiQKCWNhY2hlc19pbhgDIAMoCzIRLlNEQ29tcG9uZW50Q2FjaGUSJQoKY2Fj",
          "aGVzX291dBgEIAMoCzIRLlNEQ29tcG9uZW50Q2FjaGUiLAoTU0RDb21wb25l",
          "bnRQcm9kdWNlchIVCg1wcm9kdWNlX3NjYWxlGAEgASgDIiwKFVNEQ29tcG9u",
          "ZW50Rm9ybXVsYU1hbhITCgtmb3JtdWxhX2lkcxgBIAMoCSJCChFTRE5vZGVC",
          "b3hDb252ZXlvchItCgxib3hfY29udmV5b3IYASABKAsyFy5TRENvbXBvbmVu",
          "dEJveENvbnZleW9yIi4KFlNEQ29tcG9uZW50Qm94Q29udmV5b3ISFAoMbV9z",
          "X3Blcl9zdGVwGAEgASgDIjwKD1NETm9kZUJveFJvdXRlchIpCgpib3hfcm91",
          "dGVyGAEgASgLMhUuU0RDb21wb25lbnRCb3hSb3V0ZXIiQQoUU0RDb21wb25l",
          "bnRCb3hSb3V0ZXISEAoIbV9zX2hvbGQYASABKAMSFwoFcG9ydHMYAiADKAsy",
          "CC5TdWJQb3J0IooBCgtMYXlvdXRTaGFwZRIYCgR0eXBlGAEgASgOMgouU2hh",
          "cGVUeXBlEhgKBnBvaW50cxgCIAMoCzIILlZlY3RvcjISIgoOZHluYW1pY19k",
          "aXJfaW4YAyADKA4yCi5EaXJlY3Rpb24SIwoPZHluYW1pY19kaXJfb3V0GAQg",
          "AygOMgouRGlyZWN0aW9uIoEBCgROb2RlEg8KB25vZGVfaWQYASABKAQSFwoE",
          "dHlwZRgCIAEoDjIJLk5vZGVUeXBlEhMKC3RlbXBsYXRlX2lkGAMgASgJEhsK",
          "BXNoYXBlGAQgASgLMgwuTGF5b3V0U2hhcGUSHQoJY29tcG9uZW50GAsgAygL",
          "MgouQ29tcG9uZW50IrIDCglDb21wb25lbnQSFAoMY29tcG9uZW50X2lkGAEg",
          "ASgEEhwKBHR5cGUYAiABKA4yDi5Db21wb25lbnRUeXBlEiAKBWNhY2hlGAsg",
          "ASgLMg8uQ29tcG9uZW50Q2FjaGVIABIoCglpbnZlbnRvcnkYDCABKAsyEy5D",
          "b21wb25lbnRJbnZlbnRvcnlIABIoCgljb2xsZWN0b3IYDSABKAsyEy5Db21w",
          "b25lbnRDb2xsZWN0b3JIABImCghwcm9kdWNlchgOIAEoCzISLkNvbXBvbmVu",
          "dFByb2R1Y2VySAASJgoIc2VsZWN0b3IYDyABKAsyEi5Db21wb25lbnRTZWxl",
          "Y3RvckgAEi0KDGJveF9jb252ZXlvchgQIAEoCzIVLkNvbXBvbmVudEJveENv",
          "bnZleW9ySAASKQoKYm94X3JvdXRlchgRIAEoCzITLkNvbXBvbmVudEJveFJv",
          "dXRlckgAEhwKA21hcBgSIAEoCzINLkNvbXBvbmVudE1hcEgAEigKCXRyYW5z",
          "Zm9ybRgTIAEoCzITLkNvbXBvbmVudFRyYW5zZm9ybUgAQgkKB2NvbnRlbnQi",
          "KgoOQ29tcG9uZW50Q2FjaGUSGAoFY2FjaGUYASADKAsyCS5JdGVtVW5pdCIu",
          "ChJDb21wb25lbnRJbnZlbnRvcnkSGAoFc3RvcmUYASADKAsyCS5JdGVtVW5p",
          "dCJuChJDb21wb25lbnRDb2xsZWN0b3ISGAoQY3VycmVudF9wcm9ncmVzcxgB",
          "IAEoAxIaChJwcm9ncmVzc19wZXJfcm91bmQYAiABKAMSIgoPaXRlbXNfcGVy",
          "X3JvdW5kGAMgAygLMgkuSXRlbVVuaXQiSQoRQ29tcG9uZW50UHJvZHVjZXIS",
          "GAoQY3VycmVudF9wcm9ncmVzcxgBIAEoAxIaChJjdXJyZW50X2Zvcm11bGFf",
          "aWQYAiABKAkiLQoRQ29tcG9uZW50U2VsZWN0b3ISGAoQc2VsZWN0ZWRfaXRl",
          "bV9pZBgBIAEoCSJlChRDb21wb25lbnRCb3hDb252ZXlvchIZCgdwb3J0X2lu",
          "GAEgASgLMgguU3ViUG9ydBIaCghwb3J0X291dBgCIAEoCzIILlN1YlBvcnQS",
          "FgoEbGlzdBgGIAMoCzIILkl0ZW1Cb3giLwoSQ29tcG9uZW50Qm94Um91dGVy",
          "EhkKB2NvbnRlbnQYASABKAsyCC5JdGVtQm94InMKDENvbXBvbmVudE1hcBIx",
          "Cgtjb21fYXNfa2luZBgBIAMoCzIcLkNvbXBvbmVudE1hcC5Db21Bc0tpbmRF",
          "bnRyeRowCg5Db21Bc0tpbmRFbnRyeRILCgNrZXkYASABKAUSDQoFdmFsdWUY",
          "AiABKAQ6AjgBIk8KEkNvbXBvbmVudFRyYW5zZm9ybRIaCghwb3NpdGlvbhgB",
          "IAEoCzIILlZlY3RvcjISHQoJZGlyZWN0aW9uGAIgASgOMgouRGlyZWN0aW9u",
          "IjsKDENvbnRleHRCcmllZhILCgNjX2QYASABKAQSCwoDbm93GAIgASgDEhEK",
          "CWlzX2FjdGl2ZRgDIAEoCCJDChFDb250ZXh0QmxhY2tib2FyZBIYChBlbGVj",
          "dHJpY19jdXJyZW50GAEgASgDEhQKDGVsZWN0cmljX21heBgCIAEoAyJnCg1D",
          "b250ZXh0U3RhdHVzEhwKBWJyaWVmGAEgASgLMg0uQ29udGV4dEJyaWVmEiYK",
          "CmJsYWNrYm9hcmQYAiABKAsyEi5Db250ZXh0QmxhY2tib2FyZBIQCghub2Rl",
          "X2lkcxgDIAMoBCL4AQoFRXZlbnQSFQoNdGltZXN0YW1wX21fcxgBIAEoAxIQ",
          "CghzZXF1ZW5jZRgCIAEoBBIYCgR0eXBlGAMgASgOMgouRXZlbnRUeXBlEiIK",
          "CHByZXBhcmVkGAsgASgLMg4uRXZlbnRQcmVwYXJlZEgAEiUKCmxheW91dF9j",
          "aGcYDCABKAsyDy5FdmVudExheW91dENoZ0gAEisKDWNvbXBvbmVudF9jaGcY",
          "DSABKAsyEi5FdmVudENvbXBvbmVudENoZ0gAEikKDHJlbGF0aW9uX2NoZxgO",
          "IAEoCzIRLkV2ZW50UmVsYXRpb25DaGdIAEIJCgdwYXlsb2FkIg8KDUV2ZW50",
          "UHJlcGFyZWQiIgoORXZlbnRMYXlvdXRDaGcSEAoIbm9kZV9pZHMYASADKAQi",
          "KgoRRXZlbnRDb21wb25lbnRDaGcSFQoNY29tcG9uZW50X2lkcxgBIAMoBCIy",
          "ChBFdmVudFJlbGF0aW9uQ2hnEg4KBmlzX2dvdBgBIAEoCBIOCgZjb21faWQY",
          "AiADKAQiugQKB09wZXJhdGUSGgoEdHlwZRgBIAEoDjIMLk9wZXJhdGVUeXBl",
          "EiUKBXBsYWNlGAsgASgLMhQuT3BlcmF0ZVBheWxvYWRQbGFjZUgAEjYKDnBs",
          "YWNlX2NvbnZleW9yGAwgASgLMhwuT3BlcmF0ZVBheWxvYWRQbGFjZUNvbnZl",
          "eW9ySAASLQoJZGlzbWFudGxlGA0gASgLMhguT3BlcmF0ZVBheWxvYWREaXNt",
          "YW50bGVIABI9ChJzZXRfY29sbGVjdF90YXJnZXQYDiABKAsyHy5PcGVyYXRl",
          "UGF5bG9hZFNldENvbGxlY3RUYXJnZXRIABI/ChNzZXRfdW5sb2FkZXJfc2Vs",
          "ZWN0GA8gASgLMiAuT3BlcmF0ZVBheWxvYWRTZXRVbmxvYWRlclNlbGVjdEgA",
          "EkEKFXB1dF9pbl9pdGVtc190b19jYWNoZRgQIAEoCzIgLk9wZXJhdGVQYXls",
          "b2FkUHV0SW5JdGVtc1RvQ2FjaGVIABJJChl0YWtlX291dF9pdGVtc19mcm9t",
          "X2NhY2hlGBEgASgLMiQuT3BlcmF0ZVBheWxvYWRUYWtlT3V0SXRlbXNGcm9t",
          "Q2FjaGVIABIxCgxhZGRfbmV3X2FyZWEYEiABKAsyGS5PcGVyYXRlUGF5bG9h",
          "ZEFkZE5ld0FyZWFIABI5ChBzZXRfZXZlbnRfZW5hYmxlGBMgASgLMh0uT3Bl",
          "cmF0ZVBheWxvYWRTZXRFdmVudEVuYWJsZUgAQgkKB3BheWxvYWQiYAoTT3Bl",
          "cmF0ZVBheWxvYWRQbGFjZRITCgt0ZW1wbGF0ZV9pZBgBIAEoCRIVCgNwb3MY",
          "AiABKAsyCC5WZWN0b3IyEh0KCWRpcmVjdGlvbhgDIAEoDjIKLkRpcmVjdGlv",
          "biKRAQobT3BlcmF0ZVBheWxvYWRQbGFjZUNvbnZleW9yEhMKC3RlbXBsYXRl",
          "X2lkGAEgASgJEiAKDGRpcmVjdGlvbl9pbhgCIAEoDjIKLkRpcmVjdGlvbhIh",
          "Cg1kaXJlY3Rpb25fb3V0GAMgASgOMgouRGlyZWN0aW9uEhgKBnBvaW50cxgE",
          "IAMoCzIILlZlY3RvcjIiKgoXT3BlcmF0ZVBheWxvYWREaXNtYW50bGUSDwoH",
          "bm9kZV9pZBgBIAEoBCJVCh5PcGVyYXRlUGF5bG9hZFNldENvbGxlY3RUYXJn",
          "ZXQSDwoHbm9kZV9pZBgBIAEoBBIiCg9pdGVtc19wZXJfcm91bmQYAiADKAsy",
          "CS5JdGVtVW5pdCJDCh9PcGVyYXRlUGF5bG9hZFNldFVubG9hZGVyU2VsZWN0",
          "Eg8KB25vZGVfaWQYASABKAQSDwoHaXRlbV9pZBgCIAEoCSJLCh9PcGVyYXRl",
          "UGF5bG9hZFB1dEluSXRlbXNUb0NhY2hlEg4KBmNvbV9pZBgBIAEoBBIYCgVp",
          "dGVtcxgCIAMoCzIJLkl0ZW1Vbml0Ik8KI09wZXJhdGVQYXlsb2FkVGFrZU91",
          "dEl0ZW1zRnJvbUNhY2hlEg4KBmNvbV9pZBgBIAEoBBIYCgVpdGVtcxgCIAMo",
          "CzIJLkl0ZW1Vbml0IjIKGE9wZXJhdGVQYXlsb2FkQWRkTmV3QXJlYRIWCgRh",
          "cmVhGAEgAygLMgguVmVjdG9yMiJTChxPcGVyYXRlUGF5bG9hZFNldEV2ZW50",
          "RW5hYmxlEg4KBmVuYWJsZRgBIAEoCBIjCg9ldmVudF90eXBlX2xpc3QYAiAD",
          "KA4yCi5FdmVudFR5cGUizwIKDU9wZXJhdGVSZXR1cm4SIQoIcmV0X2NvZGUY",
          "ASABKA4yDy5PcGVyYXRlUmV0Q29kZRIVCg10aW1lc3RhbXBfbV9zGAIgASgD",
          "EhAKCHNlcXVlbmNlGAMgASgEEiQKBXBsYWNlGAsgASgLMhMuT3BlcmF0ZVJl",
          "dHVyblBsYWNlSAASNQoOcGxhY2VfY29udmV5b3IYDCABKAsyGy5PcGVyYXRl",
          "UmV0dXJuUGxhY2VDb252ZXlvckgAEkAKFXB1dF9pbl9pdGVtc190b19jYWNo",
          "ZRgNIAEoCzIfLk9wZXJhdGVSZXR1cm5QdXRJbkl0ZW1zVG9DYWNoZUgAEkgK",
          "GXRha2Vfb3V0X2l0ZW1zX2Zyb21fY2FjaGUYDiABKAsyIy5PcGVyYXRlUmV0",
          "dXJuVGFrZU91dEl0ZW1zRnJvbUNhY2hlSABCCQoHcGF5bG9hZCIlChJPcGVy",
          "YXRlUmV0dXJuUGxhY2USDwoHbm9kZV9pZBgBIAEoBCItChpPcGVyYXRlUmV0",
          "dXJuUGxhY2VDb252ZXlvchIPCgdub2RlX2lkGAEgASgEIkAKHk9wZXJhdGVS",
          "ZXR1cm5QdXRJbkl0ZW1zVG9DYWNoZRIeCgtsZWFzdF9pdGVtcxgBIAMoCzIJ",
          "Lkl0ZW1Vbml0IkIKIk9wZXJhdGVSZXR1cm5UYWtlT3V0SXRlbXNGcm9tQ2Fj",
          "aGUSHAoJZ290X2l0ZW1zGAEgAygLMgkuSXRlbVVuaXQiIwoITWVzaEFyZWES",
          "FwoFcmFuZ2UYASADKAsyCC5WZWN0b3IyIjkKDk1lc2hBcmVhQml0bWFwEhYK",
          "BGFyZWEYASADKAsyCC5WZWN0b3IyEg8KB2JpdG1hcHMYAiADKAQihgEKDkNv",
          "bnRleHRBcmNoaXZlEhwKBWJyaWVmGAEgASgLMg0uQ29udGV4dEJyaWVmEiYK",
          "CmJsYWNrYm9hcmQYAiABKAsyEi5Db250ZXh0QmxhY2tib2FyZBIYCgVhcmVh",
          "cxgDIAMoCzIJLk1lc2hBcmVhEhQKBW5vZGVzGAsgAygLMgUuTm9kZSI4ChBC",
          "YXR0bGVDbGllbnREYXRhEiQKB29wX2xpc3QYASADKAsyEy5CYXR0bGVDbGll",
          "bnRPcERhdGEimAcKEkJhdHRsZUNsaWVudE9wRGF0YRIQCghvd25lcl9pZBgB",
          "IAEoBBIpCgdvcF90eXBlGAIgASgOMhguQmF0dGxlQWN0aW9uT3BlcmF0ZVR5",
          "cGUSEgoKZ2VuZXJhdGlvbhgDIAEoDRIWCg5jaGFwdGVyX21hcF9pZBgRIAEo",
          "BRIwChBhZGRfYnVmZl9vcF9kYXRhGAQgASgLMhQuQmF0dGxlQWRkQnVmZk9w",
          "RGF0YUgAEjYKE2ZpbmlzaF9idWZmX29wX2RhdGEYBSABKAsyFy5CYXR0bGVG",
          "aW5pc2hCdWZmT3BEYXRhSAASOAoUc2tpbGxfYXR0YWNoX29wX2RhdGEYBiAB",
          "KAsyGC5CYXR0bGVTa2lsbEF0dGFjaE9wRGF0YUgAEjgKFHNraWxsX2RldGFj",
          "aF9vcF9kYXRhGAcgASgLMhguQmF0dGxlU2tpbGxEZXRhY2hPcERhdGFIABI/",
          "Chhza2lsbF9zdGFydF9jYXN0X29wX2RhdGEYCCABKAsyGy5CYXR0bGVTa2ls",
          "bFN0YXJ0Q2FzdE9wRGF0YUgAEjsKFnNraWxsX2VuZF9jYXN0X29wX2RhdGEY",
          "CSABKAsyGS5CYXR0bGVTa2lsbEVuZENhc3RPcERhdGFIABI8Chlza2lsbF9z",
          "d2l0Y2hfbW9kZV9vcF9kYXRhGAogASgLMhcuQmF0dGxlU3dpdGNoTW9kZU9w",
          "RGF0YUgAEjwKFnRyaWdnZXJfYWN0aW9uX29wX2RhdGEYCyABKAsyGi5CYXR0",
          "bGVUcmlnZ2VyQWN0aW9uT3BEYXRhSAASNAoSdXBkYXRlX2h1Yl9vcF9kYXRh",
          "GAwgASgLMhYuQmF0dGxlVXBkYXRlSHViT3BEYXRhSAASNAoSZW50aXR5X2Rp",
          "ZV9vcF9kYXRhGA0gASgLMhYuQmF0dGxlRW50aXR5RGllT3BEYXRhSAASQAoY",
          "ZW50aXR5X3ZhbHVlX21vZGlmeV9kYXRhGA4gASgLMhwuQmF0dGxlRW50aXR5",
          "VmFsdWVNb2RpZnlEYXRhSAASPAoUcmVzZXRfYmF0dGxlX29wX2RhdGEYDyAB",
          "KAsyHC5CYXR0bGVSZXNldEJhdHRsZURhdGFPcERhdGFIABJFCht1cGRhdGVf",
          "ZGF0YV92ZXJzaW9uX29wX2RhdGEYECABKAsyHi5CYXR0bGVVcGRhdGVEYXRh",
          "VmVyc2lvbk9wRGF0YUgAQg4KDG9wX2RhdGFfaW1wbCLZAQoTQmF0dGxlQWRk",
          "QnVmZk9wRGF0YRITCgtzcmNfaW5zdF9pZBgBIAEoBBIWCg50YXJnZXRfaW5z",
          "dF9pZBgCIAEoBBIPCgdidWZmX2lkGAMgASgJEhQKDGJ1ZmZfaW5zdF9pZBgE",
          "IAEoBBIVCg1jbGllbnRfYWRkX3RzGAUgASgDEikKDmFzc2lnbmVkX2l0ZW1z",
          "GAYgASgLMhEuQmF0dGxlQmxhY2tib2FyZBIVCg1idWZmX3NyY190eXBlGAcg",
          "ASgFEhUKDWJ1ZmZfc3JjX2FyZ3MYCCABKAkikwEKEEJhdHRsZUJsYWNrYm9h",
          "cmQSNQoKYmxhY2tib2FyZBgBIAMoCzIhLkJhdHRsZUJsYWNrYm9hcmQuQmxh",
          "Y2tib2FyZEVudHJ5GkgKD0JsYWNrYm9hcmRFbnRyeRILCgNrZXkYASABKAkS",
          "JAoFdmFsdWUYAiABKAsyFS5CYXR0bGVCbGFja2JvYXJkRGF0YToCOAEiUgoU",
          "QmF0dGxlQmxhY2tib2FyZERhdGESEQoJc3RyX3ZhbHVlGAEgASgJEhMKC2Zs",
          "b2F0X3ZhbHVlGAIgASgBEhIKCmlzX2R5bmFtaWMYAyABKAgiUwoWQmF0dGxl",
          "RmluaXNoQnVmZk9wRGF0YRIUCgxidWZmX2luc3RfaWQYASABKAQSFAoMcmVk",
          "dWNlX2xheWVyGAIgASgFEg0KBWZvcmNlGAMgASgIIpMBChdCYXR0bGVTa2ls",
          "bEF0dGFjaE9wRGF0YRITCgtzcmNfaW5zdF9pZBgBIAEoBBIQCghza2lsbF9p",
          "ZBgCIAEoCRIQCghza2lsbF9sdhgDIAEoBRIoCgxza2lsbF9zb3VyY2UYBCAB",
          "KA4yEi5CYXR0bGVTa2lsbFNvdXJjZRIVCg1za2lsbF9pbnN0X2lkGAUgASgE",
          "IjAKF0JhdHRsZVNraWxsRGV0YWNoT3BEYXRhEhUKDXNraWxsX2luc3RfaWQY",
          "ASABKAQiUgoaQmF0dGxlU2tpbGxTdGFydENhc3RPcERhdGESDwoHaW5zdF9p",
          "ZBgBIAEoBBIjCgZ0YXJnZXQYAiABKAsyEy5CYXR0bGVUYXJnZXRIYW5kbGUi",
          "OwoSQmF0dGxlVGFyZ2V0SGFuZGxlEiUKB3RhcmdldHMYASADKAsyFC5CYXR0",
          "bGVUYXJnZXRXcmFwcGVyIkUKE0JhdHRsZVRhcmdldFdyYXBwZXISEQoJdGFy",
          "Z2V0X2lkGAEgASgEEhsKCnRhcmdldF9wb3MYAiABKAsyBy5WZWN0b3IiKQoG",
          "VmVjdG9yEgkKAXgYASABKAISCQoBeRgCIAEoAhIJCgF6GAMgASgCIisKGEJh",
          "dHRsZVNraWxsRW5kQ2FzdE9wRGF0YRIPCgdpbnN0X2lkGAEgASgEImwKFkJh",
          "dHRsZVN3aXRjaE1vZGVPcERhdGESFAoMbW9kZV9pbnN0X2lkGAEgASgNEg8K",
          "B21vZGVfaWQYAiABKAkSGAoQbW9kZV9jaGFuZ2VfdHlwZRgDIAEoBRIRCglp",
          "c19lbmFibGUYBCABKAgi+AEKGUJhdHRsZVRyaWdnZXJBY3Rpb25PcERhdGES",
          "EAoIb3duZXJfaWQYASABKAQSDwoHaW5zdF9pZBgCIAEoBBITCgt0ZW1wbGF0",
          "ZV9pZBgDIAEoCRIqCg1pbnB1dF90YXJnZXRzGAQgASgLMhMuQmF0dGxlVGFy",
          "Z2V0SGFuZGxlEiEKBmFjdGlvbhgFIAEoCzIRLkJhdHRsZUFjdGlvbkluc3QS",
          "KAoMdHJpZ2dlcl90eXBlGAYgASgOMhIuQmF0dGxlVHJpZ2dlclR5cGUSKgoK",
          "b3duZXJfdHlwZRgHIAEoDjIWLkJhdHRsZUFjdGlvbk93bmVyVHlwZSKGEQoQ",
          "QmF0dGxlQWN0aW9uSW5zdBIRCglhY3Rpb25faWQYASABKAUSLAoLYWN0aW9u",
          "X3R5cGUYAiABKA4yFy5TZXJ2ZXJCYXR0bGVBY3Rpb25UeXBlEjMKDWRhbWFn",
          "ZV9hY3Rpb24YAyABKAsyGi5CYXR0bGVEYW1hZ2VBY3Rpb25SdW50aW1lSAAS",
          "PAoSY3JlYXRlX2J1ZmZfYWN0aW9uGAQgASgLMh4uQmF0dGxlQ3JlYXRlQnVm",
          "ZkFjdGlvblJ1bnRpbWVIABI8ChJmaW5pc2hfYnVmZl9hY3Rpb24YBSABKAsy",
          "Hi5CYXR0bGVGaW5pc2hCdWZmQWN0aW9uUnVudGltZUgAEjgKEGdhaW5fY29z",
          "dF9hY3Rpb24YBiABKAsyHC5CYXR0bGVHYWluQ29zdEFjdGlvblJ1bnRpbWVI",
          "ABIvCgtoZWFsX2FjdGlvbhgHIAEoCzIYLkJhdHRsZUhlYWxBY3Rpb25SdW50",
          "aW1lSAASPAoSc3dpdGNoX21vZGVfYWN0aW9uGAggASgLMh4uQmF0dGxlU3dp",
          "dGNoTW9kZUFjdGlvblJ1bnRpbWVIABJXCiBtb2RpZnlfZHluYW1pY19ibGFj",
          "a2JvYXJkX2FjdGlvbhgJIAEoCzIrLkJhdHRsZU1vZGlmeUR5bmFtaWNCbGFj",
          "a2JvYXJkQWN0aW9uUnVudGltZUgAEjwKEnNwYXduX2VuZW15X2FjdGlvbhgK",
          "IAEoCzIeLkJhdHRsZVNwYXduRW5lbXlBY3Rpb25SdW50aW1lSAASRwoYY2hl",
          "Y2tfZGFtYWdlX3R5cGVfYWN0aW9uGAsgASgLMiMuQmF0dGxlQ2hlY2tEYW1h",
          "Z2VUeXBlQWN0aW9uUnVudGltZUgAElgKIWNoZWNrX2RhbWFnZV9kZWNvcmF0",
          "ZV9tYXNrX2FjdGlvbhgMIAEoCzIrLkJhdHRsZUNoZWNrRGFtYWdlRGVjb3Jh",
          "dGVNYXNrQWN0aW9uUnVudGltZUgAElUKH2NoZWNrX2Rpc3RhbmNlX2NvbmRp",
          "dGlvbl9hY3Rpb24YDSABKAsyKi5CYXR0bGVDaGVja0Rpc3RhbmNlQ29uZGl0",
          "aW9uQWN0aW9uUnVudGltZUgAEkUKF2NoZWNrX2VudGl0eV9udW1fYWN0aW9u",
          "GA4gASgLMiIuQmF0dGxlQ2hlY2tFbnRpdHlOdW1BY3Rpb25SdW50aW1lSAAS",
          "NgoPY2hlY2tfaHBfYWN0aW9uGA8gASgLMhsuQmF0dGxlQ2hlY2tIcEFjdGlv",
          "blJ1bnRpbWVIABJUCh9jaGVja19pc19jcml0aWNhbF9kYW1hZ2VfYWN0aW9u",
          "GBAgASgLMikuQmF0dGxlQ2hlY2tJc0NyaXRpY2FsRGFtYWdlQWN0aW9uUnVu",
          "dGltZUgAEk0KG2NoZWNrX21haW5fY2hhcmFjdGVyX2FjdGlvbhgRIAEoCzIm",
          "LkJhdHRsZUNoZWNrTWFpbkNoYXJhY3RlckFjdGlvblJ1bnRpbWVIABJSCh5j",
          "aGVja19vYmplY3RfdHlwZV9tYXRjaF9hY3Rpb24YEiABKAsyKC5CYXR0bGVD",
          "aGVja09iamVjdFR5cGVNYXRjaEFjdGlvblJ1bnRpbWVIABJFChdjaGVja19z",
          "a2lsbF90eXBlX2FjdGlvbhgTIAEoCzIiLkJhdHRsZUNoZWNrU2tpbGxUeXBl",
          "QWN0aW9uUnVudGltZUgAEkwKG2NoZWNrX3NxdWFkX2luX2ZpZ2h0X2FjdGlv",
          "bhgUIAEoCzIlLkJhdHRsZUNoZWNrU3F1YWRJbkZpZ2h0QWN0aW9uUnVudGlt",
          "ZUgAEkMKFmNoZWNrX3RhZ19tYXRjaF9hY3Rpb24YFSABKAsyIS5CYXR0bGVD",
          "aGVja1RhZ01hdGNoQWN0aW9uUnVudGltZUgAEkkKGWNoZWNrX3RhcmdldF9h",
          "bmdsZV9hY3Rpb24YFiABKAsyJC5CYXR0bGVDaGVja1RhcmdldEFuZ2xlQWN0",
          "aW9uUnVudGltZUgAEkAKFGNvbXBhcmVfZmxvYXRfYWN0aW9uGBcgASgLMiAu",
          "QmF0dGxlQ29tcGFyZUZsb2F0QWN0aW9uUnVudGltZUgAEj0KEnByb2JhYmls",
          "aXR5X2FjdGlvbhgYIAEoCzIfLkJhdHRsZVByb2JhYmlsaXR5QWN0aW9uUnVu",
          "dGltZUgAEkgKGGxhdW5jaF9wcm9qZWN0aWxlX2FjdGlvbhgZIAEoCzIkLkJh",
          "dHRsZUxhdW5jaFByb2plY3RpbGVBY3Rpb25SdW50aW1lSAASTQobc3Bhd25f",
          "YWJpbGl0eV9lbnRpdHlfYWN0aW9uGBogASgLMiYuQmF0dGxlU3Bhd25BYmls",
          "aXR5RW50aXR5QWN0aW9uUnVudGltZUgAEksKGnNwYXduX2N1c3RvbV9zdW1t",
          "b25fYWN0aW9uGBsgASgLMiUuQmF0dGxlU3Bhd25DdXN0b21TdW1tb25BY3Rp",
          "b25SdW50aW1lSAASYwoncmVmcmVzaF9idWZmX2F0dHJfbW9kaWZpZXJfdmFs",
          "dWVfYWN0aW9uGBwgASgLMjAuQmF0dGxlUmVmcmVzaEJ1ZmZBdHRyTW9kaWZp",
          "ZXJWYWx1ZUFjdGlvblJ1bnRpbWVIABJPChxzdG9yZV9hdHRyaWJ1dGVfdmFs",
          "dWVfYWN0aW9uGB0gASgLMicuQmF0dGxlU3RvcmVBdHRyaWJ1dGVWYWx1ZUFj",
          "dGlvblJ1bnRpbWVIABJSCiFzZXRfYmxhY2tib2FyZF9mcm9tX3ByZXNldF9h",
          "Y3Rpb24YHiABKAsyJS5CYXR0bGVTZXRCbGFja2JvYXJkRnJvbVByZXNldFJ1",
          "bnRpbWVIABIrCgxlbXB0eV9hY3Rpb24Y5wcgASgLMhIuRW1wdHlCYXR0bGVB",
          "Y3Rpb25IAEILCglpbnN0X2ltcGwiVgoZQmF0dGxlRGFtYWdlQWN0aW9uUnVu",
          "dGltZRITCgthdHRhY2tlcl9pZBgBIAEoBBIkCgdkZXRhaWxzGAIgAygLMhMu",
          "QmF0dGxlRGFtYWdlRGV0YWlsIqQBChJCYXR0bGVEYW1hZ2VEZXRhaWwSEQoJ",
          "dGFyZ2V0X2lkGAEgASgEEhkKEWRhbWFnZV91bml0X2luZGV4GAIgASgFEg8K",
          "B2lzX2NyaXQYAyABKAgSDQoFdmFsdWUYBCABKAESMAoNbW9kaWZpZXJfYXJn",
          "cxgFIAEoCzIZLkJhdHRsZURhbWFnZU1vZGlmaWVyQXJncxIOCgZjdXJfaHAY",
          "BiABKAEiqgEKGEJhdHRsZURhbWFnZU1vZGlmaWVyQXJncxITCgthdHRhY2tl",
          "cl9pZBgBIAEoBBITCgtkZWZlbmRlcl9pZBgCIAEoBBIxChJhdHRhY2tlcl9t",
          "b2RpZmllcnMYAyADKAsyFS5CYXR0bGVNb2RpZmllckhhbmRsZRIxChJkZWZl",
          "bmRlcl9tb2RpZmllcnMYBCADKAsyFS5CYXR0bGVNb2RpZmllckhhbmRsZSI7",
          "ChRCYXR0bGVNb2RpZmllckhhbmRsZRIUCgxidWZmX2luc3RfaWQYASABKAQS",
          "DQoFaW5kZXgYAiABKAUiTwodQmF0dGxlQ3JlYXRlQnVmZkFjdGlvblJ1bnRp",
          "bWUSLgoHZGV0YWlscxgCIAMoCzIdLkJhdHRsZUNyZWF0ZUJ1ZmZBY3Rpb25E",
          "ZXRhaWwiqQEKHEJhdHRsZUNyZWF0ZUJ1ZmZBY3Rpb25EZXRhaWwSEQoJc291",
          "cmNlX2lkGAEgASgEEhEKCXRhcmdldF9pZBgCIAEoBBIUCgxidWZmX2luc3Rf",
          "aWQYAyABKAQSGAoQYnVmZl9pbnB1dF9pbmRleBgEIAEoBRIzCg5hc3NpZ25l",
          "ZF9pdGVtcxgFIAMoCzIbLkJhdHRsZUJsYWNrYm9hcmRBc3NpZ25JdGVtIpAB",
          "ChpCYXR0bGVCbGFja2JvYXJkQXNzaWduSXRlbRISCgp0YXJnZXRfa2V5GAEg",
          "ASgJEhcKD2lucHV0X3ZhbHVlX2tleRgCIAEoCRIYChB1c2VfZGlyZWN0X3Zh",
          "bHVlGAMgASgIEhUKDW51bWVyaWNfdmFsdWUYBCABKAISFAoMc3RyaW5nX3Zh",
          "bHVlGAUgASgJIlQKHUJhdHRsZUZpbmlzaEJ1ZmZBY3Rpb25SdW50aW1lEjMK",
          "DGZpbmlzaF9idWZmcxgBIAMoCzIdLkJhdHRsZUZpbmlzaEJ1ZmZBY3Rpb25E",
          "ZXRhaWwiRwocQmF0dGxlRmluaXNoQnVmZkFjdGlvbkRldGFpbBIRCgl0YXJn",
          "ZXRfaWQYASABKAQSFAoMYnVmZl9pbnN0X2lkGAIgASgEIlgKG0JhdHRsZUdh",
          "aW5Db3N0QWN0aW9uUnVudGltZRIRCglzb3VyY2VfaWQYASABKAQSEQoJdGFy",
          "Z2V0X2lkGAIgASgEEhMKC2ZpbmFsX3ZhbHVlGAMgASgBIkMKF0JhdHRsZUhl",
          "YWxBY3Rpb25SdW50aW1lEigKB2RldGFpbHMYASADKAsyFy5CYXR0bGVIZWFs",
          "QWN0aW9uRGV0YWlsIo0BChZCYXR0bGVIZWFsQWN0aW9uRGV0YWlsEhEKCXNv",
          "dXJjZV9pZBgBIAEoBBIRCgl0YXJnZXRfaWQYAiABKAQSDQoFdmFsdWUYAyAB",
          "KAESLgoNbW9kaWZpZXJfYXJncxgEIAEoCzIXLkJhdHRsZUhlYWxNb2RpZmll",
          "ckFyZ3MSDgoGY3VyX2hwGAUgASgBIqwBChZCYXR0bGVIZWFsTW9kaWZpZXJB",
          "cmdzEhEKCWhlYWxlcl9pZBgBIAEoBBIXCg9oZWFsX3JlY2VpdmVfaWQYAiAB",
          "KAQSLwoQaGVhbGVyX21vZGlmaWVycxgDIAMoCzIVLkJhdHRsZU1vZGlmaWVy",
          "SGFuZGxlEjUKFmhlYWxfcmVjZWl2ZV9tb2RpZmllcnMYBCADKAsyFS5CYXR0",
          "bGVNb2RpZmllckhhbmRsZSJZCh1CYXR0bGVTd2l0Y2hNb2RlQWN0aW9uUnVu",
          "dGltZRIRCglzb3VyY2VfaWQYASABKAQSDwoHbW9kZV9pZBgCIAEoCRIUCgxt",
          "b2RlX2luc3RfaWQYAyABKA0iQgoqQmF0dGxlTW9kaWZ5RHluYW1pY0JsYWNr",
          "Ym9hcmRBY3Rpb25SdW50aW1lEhQKDGNsaWVudF92YWx1ZRgBIAEoASJjCh1C",
          "YXR0bGVTcGF3bkVuZW15QWN0aW9uUnVudGltZRISCgpjbGllbnRfa2V5GAEg",
          "ASgNEi4KB2RldGFpbHMYAiADKAsyHS5CYXR0bGVTcGF3bkVuZW15QWN0aW9u",
          "RGV0YWlsIooBChxCYXR0bGVTcGF3bkVuZW15QWN0aW9uRGV0YWlsEhEKCXNv",
          "dXJjZV9pZBgBIAEoBBIQCghlbmVteV9sdhgCIAEoDRIUCgNwb3MYAyABKAsy",
          "By5WZWN0b3ISGQoIcm90YXRpb24YBCABKAsyBy5WZWN0b3ISFAoMc2NlbmVf",
          "bnVtX2lkGAUgASgFIjQKIkJhdHRsZUNoZWNrRGFtYWdlVHlwZUFjdGlvblJ1",
          "bnRpbWUSDgoGcmVzdWx0GAEgASgIIjwKKkJhdHRsZUNoZWNrRGFtYWdlRGVj",
          "b3JhdGVNYXNrQWN0aW9uUnVudGltZRIOCgZyZXN1bHQYASABKAgifQopQmF0",
          "dGxlQ2hlY2tEaXN0YW5jZUNvbmRpdGlvbkFjdGlvblJ1bnRpbWUSFgoFcG9z",
          "X2EYASABKAsyBy5WZWN0b3ISFgoFcG9zX2IYAiABKAsyBy5WZWN0b3ISEAoI",
          "ZGlzdGFuY2UYBCABKAISDgoGcmVzdWx0GAMgASgIIjMKIUJhdHRsZUNoZWNr",
          "RW50aXR5TnVtQWN0aW9uUnVudGltZRIOCgZyZXN1bHQYASABKAgiPwoaQmF0",
          "dGxlQ2hlY2tIcEFjdGlvblJ1bnRpbWUSEQoJc291cmNlX2lkGAEgASgEEg4K",
          "BnJlc3VsdBgCIAEoCCI6CihCYXR0bGVDaGVja0lzQ3JpdGljYWxEYW1hZ2VB",
          "Y3Rpb25SdW50aW1lEg4KBnJlc3VsdBgBIAEoCCJQCiVCYXR0bGVDaGVja01h",
          "aW5DaGFyYWN0ZXJBY3Rpb25SdW50aW1lEhcKD2NoZWNrX3RhcmdldF9pZBgB",
          "IAEoBBIOCgZyZXN1bHQYAiABKAgiOQonQmF0dGxlQ2hlY2tPYmplY3RUeXBl",
          "TWF0Y2hBY3Rpb25SdW50aW1lEg4KBnJlc3VsdBgDIAEoCCIzCiFCYXR0bGVD",
          "aGVja1NraWxsVHlwZUFjdGlvblJ1bnRpbWUSDgoGcmVzdWx0GAEgASgIIjYK",
          "JEJhdHRsZUNoZWNrU3F1YWRJbkZpZ2h0QWN0aW9uUnVudGltZRIOCgZyZXN1",
          "bHQYASABKAgiRgogQmF0dGxlQ2hlY2tUYWdNYXRjaEFjdGlvblJ1bnRpbWUS",
          "EgoKdGFyZ2V0X2lkcxgBIAMoBBIOCgZyZXN1bHQYAiABKAgidQojQmF0dGxl",
          "Q2hlY2tUYXJnZXRBbmdsZUFjdGlvblJ1bnRpbWUSHgoNc291cmNlX3ZlY3Rv",
          "chgBIAEoCzIHLlZlY3RvchIeCg10YXJnZXRfdmVjdG9yGAIgASgLMgcuVmVj",
          "dG9yEg4KBnJlc3VsdBgDIAEoCCIxCh9CYXR0bGVDb21wYXJlRmxvYXRBY3Rp",
          "b25SdW50aW1lEg4KBnJlc3VsdBgBIAEoCCIwCh5CYXR0bGVQcm9iYWJpbGl0",
          "eUFjdGlvblJ1bnRpbWUSDgoGcmVzdWx0GAEgASgIImIKI0JhdHRsZUxhdW5j",
          "aFByb2plY3RpbGVBY3Rpb25SdW50aW1lEhEKCXNvdXJjZV9pZBgBIAEoBBIo",
          "CgdkZXRhaWxzGAIgAygLMhcuQmF0dGxlUHJvamVjdGlsZURldGFpbCI2ChZC",
          "YXR0bGVQcm9qZWN0aWxlRGV0YWlsEhwKFGNsaWVudF9wcm9qZWN0aWxlX2lk",
          "GAEgASgEIlQKJUJhdHRsZVNwYXduQWJpbGl0eUVudGl0eUFjdGlvblJ1bnRp",
          "bWUSKwoHZGV0YWlscxgBIAMoCzIaLkJhdHRsZUFiaWxpdHlFbnRpdHlEZXRh",
          "aWwihgEKGUJhdHRsZUFiaWxpdHlFbnRpdHlEZXRhaWwSIAoYY2xpZW50X2Fi",
          "aWxpdHlfZW50aXR5X2lkGAEgASgEEhEKCXNvdXJjZV9pZBgCIAEoBBIZCghp",
          "bml0X3BvcxgDIAEoCzIHLlZlY3RvchIZCghyb3RhdGlvbhgEIAEoCzIHLlZl",
          "Y3RvciJXCiRCYXR0bGVTcGF3bkN1c3RvbVN1bW1vbkFjdGlvblJ1bnRpbWUS",
          "LwoHZGV0YWlscxgBIAMoCzIeLkJhdHRsZVNwYXduQ3VzdG9tU3VtbW9uRGV0",
          "YWlsIt0BCh1CYXR0bGVTcGF3bkN1c3RvbVN1bW1vbkRldGFpbBIRCglzdW1t",
          "b25faWQYASABKAkSFwoPc3VtbW9uX3NraWxsX2lkGAIgASgJEiAKGGNsaWVu",
          "dF9hYmlsaXR5X2VudGl0eV9pZBgDIAEoBBIZCghpbml0X3BvcxgEIAEoCzIH",
          "LlZlY3RvchIZCghyb3RhdGlvbhgFIAEoCzIHLlZlY3RvchIlCgpibGFja2Jv",
          "YXJkGAYgASgLMhEuQmF0dGxlQmxhY2tib2FyZBIRCglzb3VyY2VfaWQYByAB",
          "KAQiMQovQmF0dGxlUmVmcmVzaEJ1ZmZBdHRyTW9kaWZpZXJWYWx1ZUFjdGlv",
          "blJ1bnRpbWUiNwomQmF0dGxlU3RvcmVBdHRyaWJ1dGVWYWx1ZUFjdGlvblJ1",
          "bnRpbWUSDQoFdmFsdWUYASABKAIiPgokQmF0dGxlU2V0QmxhY2tib2FyZEZy",
          "b21QcmVzZXRSdW50aW1lEhYKDm1vZGlmaWVkX3ZhbHVlGAEgASgJIhMKEUVt",
          "cHR5QmF0dGxlQWN0aW9uIp0BChVCYXR0bGVVcGRhdGVIdWJPcERhdGESEAoI",
          "b3duZXJfaWQYASABKAQSDwoHaW5zdF9pZBgCIAEoBBITCgt0ZW1wbGF0ZV9p",
          "ZBgDIAEoCRIgCghodWJfZGF0YRgEIAMoCzIOLkJhdHRsZUh1Ykl0ZW0SKgoK",
          "b3duZXJfdHlwZRgFIAEoDjIWLkJhdHRsZUFjdGlvbk93bmVyVHlwZSKQAQoN",
          "QmF0dGxlSHViSXRlbRIjCghrZXlfdHlwZRgBIAEoDjIRLkJhdHRsZUh1Yktl",
          "eVR5cGUSFgoObnVtZXJpY192YWx1ZXMYAiADKAESFQoNc3RyaW5nX3ZhbHVl",
          "cxgDIAMoCRIrCg50YXJnZXRfaGFuZGxlcxgEIAMoCzITLkJhdHRsZVRhcmdl",
          "dEhhbmRsZSJhChVCYXR0bGVFbnRpdHlEaWVPcERhdGESFgoOZW50aXR5X2lu",
          "c3RfaWQYASABKAQSFAoMc2NlbmVfbnVtX2lkGAIgASgFEhoKEmRpc2FibGVf",
          "YW50aV9jaGVhdBgDIAEoCCJ3ChtCYXR0bGVFbnRpdHlWYWx1ZU1vZGlmeURh",
          "dGESFgoOZW50aXR5X2luc3RfaWQYASABKAQSFAoMc2NlbmVfbnVtX2lkGAIg",
          "ASgFEhoKBXZhbHVlGAMgASgLMgsuQmF0dGxlSW5mbxIOCgZzb3VyY2UYBCAB",
          "KAUiLAoKQmF0dGxlSW5mbxIKCgJocBgBIAEoARISCgp1bHRpbWF0ZXNwGAIg",
          "ASgCIh0KG0JhdHRsZVJlc2V0QmF0dGxlRGF0YU9wRGF0YSI8Ch1CYXR0bGVV",
          "cGRhdGVEYXRhVmVyc2lvbk9wRGF0YRIbChNjbGllbnRfZGF0YV92ZXJzaW9u",
          "GAEgASgJIjwKEEJhdHRsZUFjdGlvbkp1bXASEwoLYWN0aW9uX3R5cGUYASAB",
          "KAUSEwoLanVtcF90b190YWcYAiABKAkitQQKB0J1ZmZSZXMSDwoHYnVmZl9p",
          "ZBgBIAEoCRIRCglsaWZlX3R5cGUYAiABKAUSKwoOYXR0cl9tb2RpZmllcnMY",
          "AyADKAsyEy5CYXR0bGVBdHRyTW9kaWZpZXISMAoQZGFtYWdlX21vZGlmaWVy",
          "cxgEIAMoCzIWLkJ1ZmZEYW1hZ2VNb2RpZmllclJlcxIsCg5oZWFsX21vZGlm",
          "aWVycxgFIAMoCzIULkJ1ZmZIZWFsTW9kaWZpZXJSZXMSJQoKYmxhY2tib2Fy",
          "ZBgGIAEoCzIRLkJhdHRsZUJsYWNrYm9hcmQSKwoKYWN0aW9uX21hcBgHIAMo",
          "CzIXLkJ1ZmZSZXMuQWN0aW9uTWFwRW50cnkSEgoKYXBwbHlfdGFncxgIIAMo",
          "BRIwChFzdGFja2luZ19zZXR0aW5ncxgJIAEoCzIVLkJ1ZmZTdGFja2luZ1Nl",
          "dHRpbmdzEigKCGR1cmF0aW9uGAogASgLMhYuQmF0dGxlQmxhY2tib2FyZEZs",
          "b2F0EhwKFHJlbW92ZV9vbl9yZXBhdHJpYXRlGAsgASgIEhMKC3N0YWNraW5n",
          "X2lkGGUgASgJEhUKDXN0YWNraW5nX3R5cGUYZiABKAUSFQoNbWF4X3N0YWNr",
          "X2NudBhnIAEoBRIQCghwcmlvcml0eRhoIAEoBRpCCg5BY3Rpb25NYXBFbnRy",
          "eRILCgNrZXkYASABKAUSHwoFdmFsdWUYAiABKAsyEC5CYXR0bGVBY3Rpb25S",
          "ZXM6AjgBIn4KEkJhdHRsZUF0dHJNb2RpZmllchIYChBtb2RpZnlfYXR0cl90",
          "eXBlGAEgASgFEhEKCWF0dHJfdHlwZRgCIAEoBRIUCgxmb3JtdWxhX2l0ZW0Y",
          "AyABKAUSJQoFcGFyYW0YBCABKAsyFi5CYXR0bGVCbGFja2JvYXJkRmxvYXQi",
          "YgoVQmF0dGxlQmxhY2tib2FyZEZsb2F0EhoKEnVzZV9ibGFja2JvYXJkX2tl",
          "eRgBIAEoCBIWCg5ibGFja2JvYXJkX2tleRgCIAEoCRIVCg1kZWZhdWx0X3Zh",
          "bHVlGAMgASgBIpYBChVCdWZmRGFtYWdlTW9kaWZpZXJSZXMSEwoLZW5hYmxl",
          "X3NpZGUYASABKAUSDQoFaW5kZXgYAiABKAUSJgoMY29uZF9hY3Rpb25zGAMg",
          "AygLMhAuQmF0dGxlQWN0aW9uUmVzEjEKEWRhbWFnZV9wcm9jZXNzb3JzGAQg",
          "AygLMhYuQmF0dGxlRGFtYWdlUHJvY2Vzc29yIrEQCg9CYXR0bGVBY3Rpb25S",
          "ZXMSEQoJYWN0aW9uX2lkGAEgASgFEiwKC2FjdGlvbl90eXBlGAIgASgOMhcu",
          "U2VydmVyQmF0dGxlQWN0aW9uVHlwZRIwCg1kYW1hZ2VfYWN0aW9uGAMgASgL",
          "MhcuQmF0dGxlRGFtYWdlQWN0aW9uRGF0YUgAEjkKEmNyZWF0ZV9idWZmX2Fj",
          "dGlvbhgEIAEoCzIbLkJhdHRsZUNyZWF0ZUJ1ZmZBY3Rpb25EYXRhSAASOQoS",
          "ZmluaXNoX2J1ZmZfYWN0aW9uGAUgASgLMhsuQmF0dGxlRmluaXNoQnVmZkFj",
          "dGlvbkRhdGFIABI1ChBnYWluX2Nvc3RfYWN0aW9uGAYgASgLMhkuQmF0dGxl",
          "R2FpbkNvc3RBY3Rpb25EYXRhSAASLAoLaGVhbF9hY3Rpb24YByABKAsyFS5C",
          "YXR0bGVIZWFsQWN0aW9uRGF0YUgAEjkKEnN3aXRjaF9tb2RlX2FjdGlvbhgI",
          "IAEoCzIbLkJhdHRsZVN3aXRjaE1vZGVBY3Rpb25EYXRhSAASVAogbW9kaWZ5",
          "X2R5bmFtaWNfYmxhY2tib2FyZF9hY3Rpb24YCSABKAsyKC5CYXR0bGVNb2Rp",
          "ZnlEeW5hbWljQmxhY2tib2FyZEFjdGlvbkRhdGFIABI5ChJzcGF3bl9lbmVt",
          "eV9hY3Rpb24YCiABKAsyGy5CYXR0bGVTcGF3bkVuZW15QWN0aW9uRGF0YUgA",
          "EkQKGGNoZWNrX2RhbWFnZV90eXBlX2FjdGlvbhgLIAEoCzIgLkJhdHRsZUNo",
          "ZWNrRGFtYWdlVHlwZUFjdGlvbkRhdGFIABJVCiFjaGVja19kYW1hZ2VfZGVj",
          "b3JhdGVfbWFza19hY3Rpb24YDCABKAsyKC5CYXR0bGVDaGVja0RhbWFnZURl",
          "Y29yYXRlTWFza0FjdGlvbkRhdGFIABJSCh9jaGVja19kaXN0YW5jZV9jb25k",
          "aXRpb25fYWN0aW9uGA0gASgLMicuQmF0dGxlQ2hlY2tEaXN0YW5jZUNvbmRp",
          "dGlvbkFjdGlvbkRhdGFIABJCChdjaGVja19lbnRpdHlfbnVtX2FjdGlvbhgO",
          "IAEoCzIfLkJhdHRsZUNoZWNrRW50aXR5TnVtQWN0aW9uRGF0YUgAEjMKD2No",
          "ZWNrX2hwX2FjdGlvbhgPIAEoCzIYLkJhdHRsZUNoZWNrSHBBY3Rpb25EYXRh",
          "SAASUQofY2hlY2tfaXNfY3JpdGljYWxfZGFtYWdlX2FjdGlvbhgQIAEoCzIm",
          "LkJhdHRsZUNoZWNrSXNDcml0aWNhbERhbWFnZUFjdGlvbkRhdGFIABJKChtj",
          "aGVja19tYWluX2NoYXJhY3Rlcl9hY3Rpb24YESABKAsyIy5CYXR0bGVDaGVj",
          "a01haW5DaGFyYWN0ZXJBY3Rpb25EYXRhSAASTwoeY2hlY2tfb2JqZWN0X3R5",
          "cGVfbWF0Y2hfYWN0aW9uGBIgASgLMiUuQmF0dGxlQ2hlY2tPYmplY3RUeXBl",
          "TWF0Y2hBY3Rpb25EYXRhSAASQgoXY2hlY2tfc2tpbGxfdHlwZV9hY3Rpb24Y",
          "EyABKAsyHy5CYXR0bGVDaGVja1NraWxsVHlwZUFjdGlvbkRhdGFIABJJChtj",
          "aGVja19zcXVhZF9pbl9maWdodF9hY3Rpb24YFCABKAsyIi5CYXR0bGVDaGVj",
          "a1NxdWFkSW5GaWdodEFjdGlvbkRhdGFIABJAChZjaGVja190YWdfbWF0Y2hf",
          "YWN0aW9uGBUgASgLMh4uQmF0dGxlQ2hlY2tUYWdNYXRjaEFjdGlvbkRhdGFI",
          "ABJGChljaGVja190YXJnZXRfYW5nbGVfYWN0aW9uGBYgASgLMiEuQmF0dGxl",
          "Q2hlY2tUYXJnZXRBbmdsZUFjdGlvbkRhdGFIABI9ChRjb21wYXJlX2Zsb2F0",
          "X2FjdGlvbhgXIAEoCzIdLkJhdHRsZUNvbXBhcmVGbG9hdEFjdGlvbkRhdGFI",
          "ABI6ChJwcm9iYWJpbGl0eV9hY3Rpb24YGCABKAsyHC5CYXR0bGVQcm9iYWJp",
          "bGl0eUFjdGlvbkRhdGFIABJFChhsYXVuY2hfcHJvamVjdGlsZV9hY3Rpb24Y",
          "GSABKAsyIS5CYXR0bGVMYXVuY2hQcm9qZWN0aWxlQWN0aW9uRGF0YUgAEkoK",
          "G3NwYXduX2FiaWxpdHlfZW50aXR5X2FjdGlvbhgaIAEoCzIjLkJhdHRsZVNw",
          "YXduQWJpbGl0eUVudGl0eUFjdGlvbkRhdGFIABJIChpzcGF3bl9jdXN0b21f",
          "c3VtbW9uX2FjdGlvbhgbIAEoCzIiLkJhdHRsZVNwYXduQ3VzdG9tU3VtbW9u",
          "QWN0aW9uRGF0YUgAEmAKJ3JlZnJlc2hfYnVmZl9hdHRyX21vZGlmaWVyX3Zh",
          "bHVlX2FjdGlvbhgcIAEoCzItLkJhdHRsZVJlZnJlc2hCdWZmQXR0ck1vZGlm",
          "aWVyVmFsdWVBY3Rpb25EYXRhSAASTAocc3RvcmVfYXR0cmlidXRlX3ZhbHVl",
          "X2FjdGlvbhgdIAEoCzIkLkJhdHRsZVN0b3JlQXR0cmlidXRlVmFsdWVBY3Rp",
          "b25EYXRhSAASTwohc2V0X2JsYWNrYm9hcmRfZnJvbV9wcmVzZXRfYWN0aW9u",
          "GB4gASgLMiIuQmF0dGxlU2V0QmxhY2tib2FyZEZyb21QcmVzZXREYXRhSAAS",
          "KwoJZW1wdHlfcmVzGOcHIAEoCzIVLkJhdHRsZUFjdGlvbkVtcHR5UmVzSABC",
          "CwoJaW5zdF9pbXBsIokBChZCYXR0bGVEYW1hZ2VBY3Rpb25EYXRhEioKBnRh",
          "cmdldBgBIAEoCzIaLkJhdHRsZUFjdGlvblRhcmdldFNldHRpbmcSFQoNYXR0",
          "YWNrZXJfdHlwZRgCIAEoBRIsCgtkYW1hZ2VfdW5pdBgDIAMoCzIXLkJhdHRs",
          "ZUFjdGlvbkRhbWFnZVVuaXQiTAoZQmF0dGxlQWN0aW9uVGFyZ2V0U2V0dGlu",
          "ZxIVCg10YXJnZXRfc291cmNlGAEgASgFEhgKEHRhcmdldF9ncm91cF9rZXkY",
          "AiABKAkimAMKFkJhdHRsZUFjdGlvbkRhbWFnZVVuaXQSEwoLZGFtYWdlX3R5",
          "cGUYASABKAUSHQoVZGFtYWdlX2F0dHJpYnV0ZV90eXBlGAIgASgFEhwKFGRh",
          "bWFnZV9kZWNvcmF0ZV9tYXNrGAMgASgFEhoKEnNpbXBsZV9jYWxjdWxhdGlv",
          "bhgEIAEoCBIpCglhdGtfc2NhbGUYBSABKAsyFi5CYXR0bGVCbGFja2JvYXJk",
          "RmxvYXQSNAoPYXRrX2NhbGN1bGF0aW9uGAYgASgLMhsuQmF0dGxlRGFtYWdl",
          "QXRrQ2FsY3VsYXRpb24SMQoRZGFtYWdlX3Byb2Nlc3NvcnMYByADKAsyFi5C",
          "YXR0bGVEYW1hZ2VQcm9jZXNzb3ISEQoJZ2Fpbl9jb3N0GAggASgIEiEKCWNv",
          "c3RfZGF0YRgJIAMoCzIOLlNraWxsQ29zdERhdGESHwoXcmVkdWNlX2RhbWFn",
          "ZV9mb3JfZ3VhcmQYCiABKAgSJQodcmVkdWNlX2RhbWFnZV9mb3JfZ3VhcmRf",
          "cmF0aW8YCyABKAIilAMKGkJhdHRsZURhbWFnZUF0a0NhbGN1bGF0aW9uEiEK",
          "BHR5cGUYASABKA4yEy5BdGtDYWxjdWxhdGlvblR5cGUSNQoVYXRrX3NjYWxl",
          "X2NhbGN1bGF0aW9uGAIgASgLMhQuQXRrU2NhbGVDYWxjdWxhdGlvbkgAEj8K",
          "GmRlZmluaXRlX3ZhbHVlX2NhbGN1bGF0aW9uGAMgASgLMhkuRGVmaW5pdGVW",
          "YWx1ZUNhbGN1bGF0aW9uSAASRwoebXVsdGlwbHlfYXR0cmlidXRlX2NhbGN1",
          "bGF0aW9uGAQgASgLMh0uTXVsdGlwbHlBdHRyaWJ1dGVDYWxjdWxhdGlvbkgA",
          "EkEKG2JyZWFraW5nX2F0dGFja19jYWxjdWxhdGlvbhgFIAEoCzIaLkJyZWFr",
          "aW5nQXR0YWNrQ2FsY3VsYXRpb25IABI7ChhwcmltYXJ5X2F0dHJfY2FsY3Vs",
          "YXRpb24YBiABKAsyFy5QcmltYXJ5QXR0ckNhbGN1bGF0aW9uSABCEgoQY2Fs",
          "Y3VsYXRpb25faW1wbCJjChNBdGtTY2FsZUNhbGN1bGF0aW9uEiEKBHR5cGUY",
          "ASABKA4yEy5BdGtDYWxjdWxhdGlvblR5cGUSKQoJYXRrX3NjYWxlGAIgASgL",
          "MhYuQmF0dGxlQmxhY2tib2FyZEZsb2F0Iq8BChhEZWZpbml0ZVZhbHVlQ2Fs",
          "Y3VsYXRpb24SIQoEdHlwZRgBIAEoDjITLkF0a0NhbGN1bGF0aW9uVHlwZRIu",
          "Cg5kZWZpbml0ZV92YWx1ZRgCIAEoCzIWLkJhdHRsZUJsYWNrYm9hcmRGbG9h",
          "dBITCgthcHBseV9zY2FsZRgDIAEoCBIrCgt2YWx1ZV9zY2FsZRgEIAEoCzIW",
          "LkJhdHRsZUJsYWNrYm9hcmRGbG9hdCLBAQocTXVsdGlwbHlBdHRyaWJ1dGVD",
          "YWxjdWxhdGlvbhIhCgR0eXBlGAEgASgOMhMuQXRrQ2FsY3VsYXRpb25UeXBl",
          "EhQKDHZhbHVlX3NvdXJjZRgCIAEoBRIRCglhdHRyX3R5cGUYAyABKAUSKgoK",
          "bXVsdGlwbGllchgEIAEoCzIWLkJhdHRsZUJsYWNrYm9hcmRGbG9hdBIpCglh",
          "ZGRfdmFsdWUYBSABKAsyFi5CYXR0bGVCbGFja2JvYXJkRmxvYXQilQEKGUJy",
          "ZWFraW5nQXR0YWNrQ2FsY3VsYXRpb24SIQoEdHlwZRgBIAEoDjITLkF0a0Nh",
          "bGN1bGF0aW9uVHlwZRIpCglhdGtfc2NhbGUYAiABKAsyFi5CYXR0bGVCbGFj",
          "a2JvYXJkRmxvYXQSKgoKbXVsdGlwbGllchgDIAEoCzIWLkJhdHRsZUJsYWNr",
          "Ym9hcmRGbG9hdCKDAQoWUHJpbWFyeUF0dHJDYWxjdWxhdGlvbhIUCgx2YWx1",
          "ZV9zb3VyY2UYASABKAUSEQoJYXR0cl90eXBlGAIgASgFEhMKC2FwcGx5X3Nj",
          "YWxlGAMgASgIEisKC3ZhbHVlX3NjYWxlGAQgASgLMhYuQmF0dGxlQmxhY2ti",
          "b2FyZEZsb2F0ItoEChVCYXR0bGVEYW1hZ2VQcm9jZXNzb3ISIgoEdHlwZRgB",
          "IAEoDjIULkRhbWFnZVByb2Nlc3NvclR5cGUSQgocYXR0YWNrZXJfY3JpdF9y",
          "YXRlX3Byb2Nlc3NvchgCIAEoCzIaLkF0dGFja2VyQ3JpdFJhdGVQcm9jZXNz",
          "b3JIABI3ChZhdHRhY2tlcl9hdGtfcHJvY2Vzc29yGAMgASgLMhUuQXR0YWNr",
          "ZXJBdGtQcm9jZXNzb3JIABJGCh5hdHRhY2tlcl9jcml0X2RhbWFnZV9wcm9j",
          "ZXNzb3IYBCABKAsyHC5BdHRhY2tlckNyaXREYW1hZ2VQcm9jZXNzb3JIABI3",
          "ChZhdHRhY2tlcl9wZW5fcHJvY2Vzc29yGAUgASgLMhUuQXR0YWNrZXJQZW5Q",
          "cm9jZXNzb3JIABI3ChZkYW1hZ2Vfc2NhbGVfcHJvY2Vzc29yGAYgASgLMhUu",
          "RGFtYWdlU2NhbGVQcm9jZXNzb3JIABI3ChZkZWZlbmRlcl9kZWZfcHJvY2Vz",
          "c29yGAcgASgLMhUuRGVmZW5kZXJEZWZQcm9jZXNzb3JIABJLCiBtb2RpZnlf",
          "Y2FsdWxhdGVfcmVzdWx0X3Byb2Nlc3NvchgIIAEoCzIfLk1vZGlmeUNhbGN1",
          "bGF0ZVJlc3VsdFByb2Nlc3NvckgAEk4KImluc3RhbnRfbW9kaWZ5X2F0dHJp",
          "YnV0ZV9wcm9jZXNzb3IYCSABKAsyIC5JbnN0YW50TW9kaWZ5QXR0cmlidXRl",
          "UHJvY2Vzc29ySABCEAoOcHJvY2Vzc29yX2ltcGwiaQoZQXR0YWNrZXJDcml0",
          "UmF0ZVByb2Nlc3NvchIiCgR0eXBlGAEgASgOMhQuRGFtYWdlUHJvY2Vzc29y",
          "VHlwZRIoCghhZGRpdGlvbhgCIAEoCzIWLkJhdHRsZUJsYWNrYm9hcmRGbG9h",
          "dCJhChRBdHRhY2tlckF0a1Byb2Nlc3NvchIiCgR0eXBlGAEgASgOMhQuRGFt",
          "YWdlUHJvY2Vzc29yVHlwZRIlCgVzY2FsZRgCIAEoCzIWLkJhdHRsZUJsYWNr",
          "Ym9hcmRGbG9hdCJoChtBdHRhY2tlckNyaXREYW1hZ2VQcm9jZXNzb3ISIgoE",
          "dHlwZRgBIAEoDjIULkRhbWFnZVByb2Nlc3NvclR5cGUSJQoFc2NhbGUYAiAB",
          "KAsyFi5CYXR0bGVCbGFja2JvYXJkRmxvYXQiYQoUQXR0YWNrZXJQZW5Qcm9j",
          "ZXNzb3ISIgoEdHlwZRgBIAEoDjIULkRhbWFnZVByb2Nlc3NvclR5cGUSJQoF",
          "c2NhbGUYAiABKAsyFi5CYXR0bGVCbGFja2JvYXJkRmxvYXQikgEKFERhbWFn",
          "ZVNjYWxlUHJvY2Vzc29yEiIKBHR5cGUYASABKA4yFC5EYW1hZ2VQcm9jZXNz",
          "b3JUeXBlEhkKEWRhbWFnZV9zY2FsZV9zaWRlGAIgASgFEhEKCXpvbmVfbmFt",
          "ZRgDIAEoCRIoCghhZGRpdGlvbhgEIAEoCzIWLkJhdHRsZUJsYWNrYm9hcmRG",
          "bG9hdCJmChREZWZlbmRlckRlZlByb2Nlc3NvchIiCgR0eXBlGAEgASgOMhQu",
          "RGFtYWdlUHJvY2Vzc29yVHlwZRIqCgptdWx0aXBsaWVyGAIgASgLMhYuQmF0",
          "dGxlQmxhY2tib2FyZEZsb2F0IrcBCh5Nb2RpZnlDYWxjdWxhdGVSZXN1bHRQ",
          "cm9jZXNzb3ISIgoEdHlwZRgBIAEoDjIULkRhbWFnZVByb2Nlc3NvclR5cGUS",
          "EAoIY2FsX3R5cGUYAiABKAUSLwoPYmFzZV9tdWx0aXBsaWVyGAMgASgLMhYu",
          "QmF0dGxlQmxhY2tib2FyZEZsb2F0Ei4KDm11bHRpcGxpZXJfY250GAQgASgL",
          "MhYuQmF0dGxlQmxhY2tib2FyZEZsb2F0IoYBCh9JbnN0YW50TW9kaWZ5QXR0",
          "cmlidXRlUHJvY2Vzc29yEiIKBHR5cGUYASABKA4yFC5EYW1hZ2VQcm9jZXNz",
          "b3JUeXBlEhMKC3RhcmdldF9zaWRlGAIgASgFEioKDWF0dHJfbW9kaWZpZXIY",
          "AyABKAsyEy5CYXR0bGVBdHRyTW9kaWZpZXIiRgoNU2tpbGxDb3N0RGF0YRIh",
          "Cgljb3N0X3R5cGUYASABKA4yDi5Ta2lsbENvc3RUeXBlEhIKCmNvc3RfdmFs",
          "dWUYAiABKAIiyAEKGkJhdHRsZUNyZWF0ZUJ1ZmZBY3Rpb25EYXRhEh4KCmJ1",
          "ZmZfaW5wdXQYASADKAsyCi5CdWZmSW5wdXQSJQoFY291bnQYAiABKAsyFi5C",
          "YXR0bGVCbGFja2JvYXJkRmxvYXQSKgoGdGFyZ2V0GAMgASgLMhouQmF0dGxl",
          "QWN0aW9uVGFyZ2V0U2V0dGluZxIYChBidWZmX3NvdXJjZV90eXBlGAQgASgF",
          "Eh0KFWF1dG9fZmluaXNoX2J5X2FjdGlvbhgFIAEoCCKNAQoJQnVmZklucHV0",
          "Eg8KB2J1ZmZfaWQYASABKAkSGQoRYXNzaWduX2JsYWNrYm9hcmQYAiABKAgS",
          "MwoOYXNzaWduZWRfaXRlbXMYAyADKAsyGy5CYXR0bGVCbGFja2JvYXJkQXNz",
          "aWduSXRlbRIfChdyZWFkX2lkX2Zyb21fYmxhY2tib2FyZBgEIAEoCCKpAQoa",
          "QmF0dGxlRmluaXNoQnVmZkFjdGlvbkRhdGESLgoKYnVmZl9vd25lchgBIAEo",
          "CzIaLkJhdHRsZUFjdGlvblRhcmdldFNldHRpbmcSEAoIYnVmZl9pZHMYAiAD",
          "KAkSFwoPZmluaXNoX2FsbF9idWZmGAMgASgIEjAKEGZpbmlzaF9sYXllcl9j",
          "bnQYBCABKAsyFi5CYXR0bGVCbGFja2JvYXJkRmxvYXQiPQoYQmF0dGxlR2Fp",
          "bkNvc3RBY3Rpb25EYXRhEiEKCWNvc3RfZGF0YRgCIAEoCzIOLlNraWxsQ29z",
          "dERhdGEiYAoUQmF0dGxlSGVhbEFjdGlvbkRhdGESEQoJaGVhbF90eXBlGAEg",
          "ASgFEjUKEGhlYWxfY2FsY3VsYXRpb24YAiABKAsyGy5CYXR0bGVEYW1hZ2VB",
          "dGtDYWxjdWxhdGlvbiJDChpCYXR0bGVTd2l0Y2hNb2RlQWN0aW9uRGF0YRIP",
          "Cgdtb2RlX2lkGAEgASgJEhQKDHJlc2V0X29uX2VuZBgCIAEoCCJyCidCYXR0",
          "bGVNb2RpZnlEeW5hbWljQmxhY2tib2FyZEFjdGlvbkRhdGESCwoDa2V5GAEg",
          "ASgJEiUKBXZhbHVlGAIgASgLMhYuQmF0dGxlQmxhY2tib2FyZEZsb2F0EhMK",
          "C21vZGlmeV90eXBlGAMgASgFIlgKGkJhdHRsZVNwYXduRW5lbXlBY3Rpb25E",
          "YXRhEhAKCGVuZW15X2lkGAEgASgJEigKCGhwX3JhdGlvGAIgASgLMhYuQmF0",
          "dGxlQmxhY2tib2FyZEZsb2F0IjYKH0JhdHRsZUNoZWNrRGFtYWdlVHlwZUFj",
          "dGlvbkRhdGESEwoLZGFtYWdlX3R5cGUYASABKAUiRwonQmF0dGxlQ2hlY2tE",
          "YW1hZ2VEZWNvcmF0ZU1hc2tBY3Rpb25EYXRhEhwKFGRhbWFnZV9kZWNvcmF0",
          "ZV9tYXNrGAEgASgFIk0KJkJhdHRsZUNoZWNrRGlzdGFuY2VDb25kaXRpb25B",
          "Y3Rpb25EYXRhEhAKCGRpc3RhbmNlGAEgASgCEhEKCWxlc3NfdGhhbhgCIAEo",
          "CCJoCh5CYXR0bGVDaGVja0VudGl0eU51bUFjdGlvbkRhdGESHwoXemVyb19h",
          "bHdheXNfcmV0dXJuX3RydWUYASABKAgSDwoHbWluX251bRgCIAEoBRIUCgxj",
          "b21wYXJlX3R5cGUYAyABKAUiaAoXQmF0dGxlQ2hlY2tIcEFjdGlvbkRhdGES",
          "FAoMY29tcGFyZV90eXBlGAEgASgFEhAKCGlzX3JhdGlvGAIgASgIEiUKBXZh",
          "bHVlGAMgASgLMhYuQmF0dGxlQmxhY2tib2FyZEZsb2F0IjsKJUJhdHRsZUNo",
          "ZWNrSXNDcml0aWNhbERhbWFnZUFjdGlvbkRhdGESEgoKaXNfaW52ZXJzZRgB",
          "IAEoCCIkCiJCYXR0bGVDaGVja01haW5DaGFyYWN0ZXJBY3Rpb25EYXRhIkAK",
          "JEJhdHRsZUNoZWNrT2JqZWN0VHlwZU1hdGNoQWN0aW9uRGF0YRIYChBvYmpl",
          "Y3RfdHlwZV9tYXNrGAEgASgFIjQKHkJhdHRsZUNoZWNrU2tpbGxUeXBlQWN0",
          "aW9uRGF0YRISCgpza2lsbF90eXBlGAEgASgFIjcKIUJhdHRsZUNoZWNrU3F1",
          "YWRJbkZpZ2h0QWN0aW9uRGF0YRISCgppc19pbnZlcnNlGAEgASgIIkEKHUJh",
          "dHRsZUNoZWNrVGFnTWF0Y2hBY3Rpb25EYXRhEiAKBXF1ZXJ5GAEgASgLMhEu",
          "R2FtZXBsYXlUYWdRdWVyeSI3ChBHYW1lcGxheVRhZ1F1ZXJ5EhIKCnF1ZXJ5",
          "X3R5cGUYASABKAUSDwoHdGFnX2lkcxgCIAMoBSJJCiBCYXR0bGVDaGVja1Rh",
          "cmdldEFuZ2xlQWN0aW9uRGF0YRIlCgVhbmdsZRgBIAEoCzIWLkJhdHRsZUJs",
          "YWNrYm9hcmRGbG9hdCKGAQocQmF0dGxlQ29tcGFyZUZsb2F0QWN0aW9uRGF0",
          "YRIUCgxjb21wYXJlX3R5cGUYASABKAUSJwoHdmFsdWVfYRgCIAEoCzIWLkJh",
          "dHRsZUJsYWNrYm9hcmRGbG9hdBInCgd2YWx1ZV9iGAMgASgLMhYuQmF0dGxl",
          "QmxhY2tib2FyZEZsb2F0IkoKG0JhdHRsZVByb2JhYmlsaXR5QWN0aW9uRGF0",
          "YRIrCgtwcm9iYWJpbGl0eRgBIAEoCzIWLkJhdHRsZUJsYWNrYm9hcmRGbG9h",
          "dCJUCiBCYXR0bGVMYXVuY2hQcm9qZWN0aWxlQWN0aW9uRGF0YRIVCg1wcm9q",
          "ZWN0aWxlX2lkGAEgASgJEhkKEWFzc2lnbl9ibGFja2JvYXJkGAMgASgIInkK",
          "IkJhdHRsZVNwYXduQWJpbGl0eUVudGl0eUFjdGlvbkRhdGESGQoRYWJpbGl0",
          "eV9lbnRpdHlfaWQYASABKAkSGQoRYXNzaWduX2JsYWNrYm9hcmQYAyABKAgS",
          "HQoVc2V0X3NwYXduZXJfYXNfc291cmNlGAQgASgIIiMKIUJhdHRsZVNwYXdu",
          "Q3VzdG9tU3VtbW9uQWN0aW9uRGF0YSIuCixCYXR0bGVSZWZyZXNoQnVmZkF0",
          "dHJNb2RpZmllclZhbHVlQWN0aW9uRGF0YSIyCiNCYXR0bGVTdG9yZUF0dHJp",
          "YnV0ZVZhbHVlQWN0aW9uRGF0YRILCgNrZXkYASABKAkiRgohQmF0dGxlU2V0",
          "QmxhY2tib2FyZEZyb21QcmVzZXREYXRhEhQKDHZhbGlkX3ZhbHVlcxgBIAMo",
          "CRILCgNrZXkYAiABKAkiFgoUQmF0dGxlQWN0aW9uRW1wdHlSZXMikAEKE0J1",
          "ZmZIZWFsTW9kaWZpZXJSZXMSEwoLZW5hYmxlX3NpZGUYASABKAUSDQoFaW5k",
          "ZXgYAiABKAUSJgoMY29uZF9hY3Rpb25zGAMgAygLMhAuQmF0dGxlQWN0aW9u",
          "UmVzEi0KD2hlYWxfcHJvY2Vzc29ycxgEIAMoCzIULkJhdHRsZUhlYWxQcm9j",
          "ZXNzb3IingIKE0JhdHRsZUhlYWxQcm9jZXNzb3ISIAoEdHlwZRgBIAEoDjIS",
          "LkhlYWxQcm9jZXNzb3JUeXBlEjMKFGhlYWxfcHJvY2Vzc29yX2VtcHR5GAIg",
          "ASgLMhMuSGVhbFByb2Nlc3NvckVtcHR5SAASPgoXaGVhbF9tb2RpZnlfY2Fs",
          "Y19yZXN1bHQYAyABKAsyGy5CYXR0bGVNb2RpZnlIZWFsQ2FsY1Jlc3VsdEgA",
          "El4KK2luc3RhbnRfbW9kaWZ5X2F0dHJpYnV0ZV9mb3JfaGVhbF9wcm9jZXNz",
          "b3IYBCABKAsyJy5JbnN0YW50TW9kaWZ5QXR0cmlidXRlRm9ySGVhbFByb2Nl",
          "c3NvckgAQhAKDnByb2Nlc3Nvcl9pbXBsIhQKEkhlYWxQcm9jZXNzb3JFbXB0",
          "eSKNAQoaQmF0dGxlTW9kaWZ5SGVhbENhbGNSZXN1bHQSEwoLbW9kaWZ5X3R5",
          "cGUYASABKAUSKgoKbXVsdGlwbGllchgCIAEoCzIWLkJhdHRsZUJsYWNrYm9h",
          "cmRGbG9hdBIuCg5tdWx0aXBsaWVyX2NudBgDIAEoCzIWLkJhdHRsZUJsYWNr",
          "Ym9hcmRGbG9hdCKLAQomSW5zdGFudE1vZGlmeUF0dHJpYnV0ZUZvckhlYWxQ",
          "cm9jZXNzb3ISIAoEdHlwZRgBIAEoDjISLkhlYWxQcm9jZXNzb3JUeXBlEhMK",
          "C3RhcmdldF9zaWRlGAIgASgFEioKDWF0dHJfbW9kaWZpZXIYAyABKAsyEy5C",
          "YXR0bGVBdHRyTW9kaWZpZXIimwEKFEJ1ZmZTdGFja2luZ1NldHRpbmdzEhcK",
          "D2lkZW50aWZpZXJfdHlwZRgBIAEoBRIVCg1zdGFja2luZ190eXBlGAIgASgF",
          "EhQKDHN0YWNraW5nX2tleRgDIAEoCRIUCgxwcmlvcml0eV9rZXkYBCABKAkS",
          "EAoIcHJpb3JpdHkYBSABKAUSFQoNbWF4X3N0YWNrX2NudBgGIAEoBSLaAgoI",
          "U2tpbGxSZXMSEAoIc2tpbGxfaWQYASABKAkSIQoJY29zdF90eXBlGAIgASgO",
          "Mg4uU2tpbGxDb3N0VHlwZRIQCghza2lsbF9sdhgDIAEoBRISCgpjb3N0X3Zh",
          "bHVlGAQgASgCEhkKEXRhZ19kdXJpbmdfYXR0YWNoGAUgAygFEiUKCmJsYWNr",
          "Ym9hcmQYBiABKAsyES5CYXR0bGVCbGFja2JvYXJkEiwKCmFjdGlvbl9tYXAY",
          "ByADKAsyGC5Ta2lsbFJlcy5BY3Rpb25NYXBFbnRyeRISCgppc19wYXNzaXZl",
          "GAggASgIEisKDmF0dHJfbW9kaWZpZXJzGAkgAygLMhMuQmF0dGxlQXR0ck1v",
          "ZGlmaWVyGkIKDkFjdGlvbk1hcEVudHJ5EgsKA2tleRgBIAEoBRIfCgV2YWx1",
          "ZRgCIAEoCzIQLkJhdHRsZUFjdGlvblJlczoCOAEiYwoWQmF0dGxlQmxhY2ti",
          "b2FyZFN0cmluZxIaChJ1c2VfYmxhY2tib2FyZF9rZXkYASABKAgSFgoOYmxh",
          "Y2tib2FyZF9rZXkYAiABKAkSFQoNZGVmYXVsdF92YWx1ZRgDIAEoCSJLChFC",
          "YXR0bGVTZXF1ZW5jZVJlcxITCgtzZXF1ZW5jZV9pZBgBIAEoBRIhCgdhY3Rp",
          "b25zGAIgAygLMhAuQmF0dGxlQWN0aW9uUmVzIlUKClNlcnZlckJ1ZmYSDwoH",
          "YnVmZl9pZBgBIAEoCRIPCgdpbnN0X2lkGAIgASgEEiUKCmJsYWNrYm9hcmQY",
          "AyABKAsyES5CYXR0bGVCbGFja2JvYXJkIrkBCgtTZXJ2ZXJTa2lsbBIQCghz",
          "a2lsbF9pZBgBIAEoCRIPCgdpbnN0X2lkGAIgASgEEhQKDHBvdGVudGlhbF9s",
          "dhgDIAEoBRINCgVsZXZlbBgEIAEoBRIlCgpibGFja2JvYXJkGAUgASgLMhEu",
          "QmF0dGxlQmxhY2tib2FyZBIiCgZzb3VyY2UYBiABKA4yEi5CYXR0bGVTa2ls",
          "bFNvdXJjZRIXCg90YWxlbnRfbm9kZV9pZHMYByADKAkiaQoNQmF0dGxlTWdy",
          "SW5mbxIeCglidWZmX2xpc3QYASADKAsyCy5TZXJ2ZXJCdWZmEiAKCnNraWxs",
          "X2xpc3QYAiADKAsyDC5TZXJ2ZXJTa2lsbBIWCg5tc2dfZ2VuZXJhdGlvbhgD",
          "IAEoDSKfAQoQRHluYW1pY1BhcmFtZXRlchISCgp2YWx1ZV90eXBlGAEgASgF",
          "EhEKCXJlYWxfdHlwZRgCIAEoBRIXCg92YWx1ZV9ib29sX2xpc3QYAyADKAgS",
          "FgoOdmFsdWVfaW50X2xpc3QYBCADKAMSGAoQdmFsdWVfZmxvYXRfbGlzdBgF",
          "IAMoAhIZChF2YWx1ZV9zdHJpbmdfbGlzdBgGIAMoCSJsCglFcXVpcEF0dHIS",
          "EQoJYXR0cl90eXBlGAEgASgFEhUKDW1vZGlmaWVyX3R5cGUYAiABKAUSFgoO",
          "bW9kaWZpZXJfdmFsdWUYAyABKAESHQoVbW9kaWZ5X2F0dHJpYnV0ZV90eXBl",
          "GAQgASgFImIKCUVxdWlwRGF0YRIPCgdlcXVpcGlkGAEgASgEEhIKCnRlbXBs",
          "YXRlaWQYAiABKAUSFQoNZXF1aXBfY2hhcl9pZBgDIAEoBBIZCgVhdHRycxgE",
          "IAMoCzIKLkVxdWlwQXR0ciJuCgdHZW1EYXRhEg4KBmdlbV9pZBgBIAEoBBIT",
          "Cgt0ZW1wbGF0ZV9pZBgCIAEoBRISCgp0b3RhbF9jb3N0GAMgASgFEhcKBXRl",
          "cm1zGAQgAygLMgguR2VtVGVybRIRCgl3ZWFwb25faWQYBSABKAQiLAoHR2Vt",
          "VGVybRITCgt0ZXJtX251bV9pZBgBIAEoBRIMCgRjb3N0GAIgASgFIicKCkl0",
          "ZW1CdW5kbGUSCgoCaWQYASABKAkSDQoFY291bnQYAiABKAUirAEKCldlYXBv",
          "bkRhdGESDwoHaW5zdF9pZBgBIAEoBBITCgt0ZW1wbGF0ZV9pZBgCIAEoBRIL",
          "CgNleHAYAyABKAQSEQoJd2VhcG9uX2x2GAQgASgEEhEKCXJlZmluZV9sdhgF",
          "IAEoBBIXCg9icmVha3Rocm91Z2hfbHYYBiABKAQSFQoNZXF1aXBfY2hhcl9p",
          "ZBgHIAEoBBIVCg1hdHRhY2hfZ2VtX2lkGAggASgEIr8BCghJdGVtSW5zdBIP",
          "CgdpbnN0X2lkGAEgASgEEg8KB2lzX2xvY2sYZSABKAgSDgoGaXNfbmV3GGYg",
          "ASgIEhsKBWVxdWlwGAIgASgLMgouRXF1aXBEYXRhSAASFwoDZ2VtGAMgASgL",
          "MgguR2VtRGF0YUgAEh0KBndlYXBvbhgEIAEoCzILLldlYXBvbkRhdGFIABIf",
          "CgVlbXB0eRgfIAEoCzIOLkl0ZW1JbnN0RW1wdHlIAEILCglpbnN0X2ltcGwi",
          "DwoNSXRlbUluc3RFbXB0eSJVCgtTY2RJdGVtR3JpZBISCgpncmlkX2luZGV4",
          "GAEgASgFEgoKAmlkGAIgASgJEg0KBWNvdW50GAMgASgFEhcKBGluc3QYBCAB",
          "KAsyCS5JdGVtSW5zdCJXCg1TY2RJdGVtR3JpZFYyEhIKCmdyaWRfaW5kZXgY",
          "ASABKAUSCgoCaWQYAiABKAUSDQoFY291bnQYAyABKAUSFwoEaW5zdBgEIAEo",
          "CzIJLkl0ZW1JbnN0Ik4KClN1Ym1pdEl0ZW0SDwoHaXRlbV9pZBgBIAEoCRIN",
          "CgVjb3VudBgCIAEoDRIPCgdpc19pbnN0GAMgASgIEg8KB2luc3RfaWQYBCAB",
          "KAQixwEKC1NlbmRNYWlsRGVmEiIKDG1haWxfY29udGVudBgBIAEoCzIMLk1h",
          "aWxDb250ZW50Eh4KCWl0ZW1fbGlzdBgCIAMoCzILLlJld2FyZEl0ZW0SEQoJ",
          "c2VuZF90aW1lGAMgASgDEhMKC2V4cGlyZV90aW1lGAQgASgDEhEKCW1haWxf",
          "dHlwZRgFIAEoBRIVCg1tYWlsX3N1Yl90eXBlGAYgASgFEhEKCWlzX2dsb2Jh",
          "bBgHIAEoCBIPCgdpc19zdGFyGAggASgIIsUBCgtNYWlsQ29udGVudBITCgt0",
          "ZW1wbGF0ZV9pZBgBIAEoCRINCgV0aXRsZRgCIAEoCRIPCgdjb250ZW50GAMg",
          "ASgJEhMKC3NlbmRlcl9uYW1lGAQgASgJEhMKC3NlbmRlcl9pY29uGAUgASgJ",
          "EigKBnBhcmFtcxgGIAMoCzIYLk1haWxDb250ZW50LlBhcmFtc0VudHJ5Gi0K",
          "C1BhcmFtc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEi",
          "QAoKUmV3YXJkSXRlbRIKCgJpZBgBIAEoCRINCgVjb3VudBgCIAEoAxIXCgRp",
          "bnN0GAMgASgLMgkuSXRlbUluc3Qi/AEKDUdhbWVDb25kaXRpb24SFAoMY29u",
          "ZGl0aW9uX2lkGAEgASgJEhYKDmNvbmRpdGlvbl90eXBlGAIgASgFEg4KBnBh",
          "cmFtcxgDIAMoCRIYChBjb21wYXJlX29wZXJhdG9yGAQgASgFEhsKE3Byb2dy",
          "ZXNzX3RvX2NvbXBhcmUYBSABKAUSHwoXc3ViX2NvbmRpdGlvbl9pZF9sb2dp",
          "Y3MYBiADKAUSJgoOc3ViX2NvbmRpdGlvbnMYByADKAsyDi5HYW1lQ29uZGl0",
          "aW9uEhIKCnNjb3BlX21hc2sYCCABKAUSGQoRdXNlX2N1cnJlbnRfc2NvcGUY",
          "CSABKAgisQEKGFNlbmRRdWVzdGlvbm5haXJlTWFpbERlZhIPCgdtYWlsX2lk",
          "GAEgASgEEiEKCWNvbmRpdGlvbhgCIAEoCzIOLkdhbWVDb25kaXRpb24SKAoT",
          "Y29tcGxldGVkX2l0ZW1fbGlzdBgDIAMoCzILLlJld2FyZEl0ZW0SEwoLZXhw",
          "aXJlX3RpbWUYBCABKAMSDwoHaXNfc3RhchgFIAEoCBIRCgl1bmlxdWVfaWQY",
          "BiABKAkiMQoPQ29zdEl0ZW1MaXN0RGVmEh4KCWl0ZW1fbGlzdBgBIAMoCzIL",
          "LlN1Ym1pdEl0ZW0ibgoOU2tpbGxMZXZlbEluZm8SEAoIc2tpbGxfaWQYASAB",
          "KAkSEwoLc2tpbGxfbGV2ZWwYAiABKAUSFwoPc2tpbGxfbWF4X2xldmVsGAMg",
          "ASgFEhwKFHNraWxsX2VuaGFuY2VkX2xldmVsGAQgASgFIn8KBlRhbGVudBIZ",
          "ChFsYXRlc3RfYnJlYWtfbm9kZRgBIAEoCRISCgphdHRyX25vZGVzGAIgAygJ",
          "EiIKGmxhdGVzdF9wYXNzaXZlX3NraWxsX25vZGVzGAMgAygJEiIKGmxhdGVz",
          "dF9mYWN0b3J5X3NraWxsX25vZGVzGAQgAygJIpEBCgxSb2xlQmFzZUluZm8S",
          "FgoObGVhZGVyX2NoYXJfaWQYASABKAQSIAoPbGVhZGVyX3Bvc2l0aW9uGAIg",
          "ASgLMgcuVmVjdG9yEiAKD2xlYWRlcl9yb3RhdGlvbhgDIAEoCzIHLlZlY3Rv",
          "chISCgpzY2VuZV9uYW1lGAQgASgJEhEKCXNlcnZlcl90cxgLIAEoBCJvChZG",
          "cmllbmRTdHJhbmdlclVzZXJJbmZvEg8KB3JvbGVfaWQYASABKAQSCwoDdWlk",
          "GAIgASgJEgwKBG5hbWUYAyABKAkSEAoIc2hvcnRfaWQYBCABKAkSFwoPbGFz",
          "dF9sb2dpbl90aW1lGAUgASgDIm0KFEZyaWVuZEZyaWVuZFVzZXJJbmZvEg8K",
          "B3JvbGVfaWQYASABKAQSCwoDdWlkGAIgASgJEgwKBG5hbWUYAyABKAkSEAoI",
          "c2hvcnRfaWQYBCABKAkSFwoPbGFzdF9sb2dpbl90aW1lGAUgASgDIlgKEEZy",
          "aWVuZEZyaWVuZEluZm8SLwoQZnJpZW5kX3VzZXJfaW5mbxgBIAEoCzIVLkZy",
          "aWVuZEZyaWVuZFVzZXJJbmZvEhMKC2NyZWF0ZV90aW1lGAIgASgDIl0KEUZy",
          "aWVuZFJlcXVlc3RJbmZvEjMKEnN0cmFuZ2VyX3VzZXJfaW5mbxgBIAEoCzIX",
          "LkZyaWVuZFN0cmFuZ2VyVXNlckluZm8SEwoLY3JlYXRlX3RpbWUYAiABKAMi",
          "OQoRRnJpZW5kRnJpZW5kU0luZm8SDwoHcm9sZV9pZBgBIAEoBBITCgtjcmVh",
          "dGVfdGltZRgCIAEoAyI6ChJGcmllbmRSZXF1ZXN0U0luZm8SDwoHcm9sZV9p",
          "ZBgBIAEoBBITCgtjcmVhdGVfdGltZRgCIAEoAyJgChRUZW1wVGVhbUNoYXJT",
          "YXZlRGF0YRInCg90cmlhbF9jaGFyX2RhdGEYASABKAsyDi5UcmlhbENoYXJE",
          "YXRhEgoKAmhwGAIgASgFEhMKC3VsdGltYXRlX3NwGAMgASgFIisKDVRyaWFs",
          "Q2hhckRhdGESGgoSZXF1aXBfbWVkaWNpbmVfbnVtGAIgASgFImUKClRlYW1D",
          "aGFySWQSIAoHaWRfdHlwZRgBIAEoDjIPLlRlYW1DaGFySWRUeXBlEhAKBm9i",
          "al9pZBgCIAEoBEgAEhgKDnByZXNldF9jaGFyX2lkGAMgASgJSABCCQoHY2hh",
          "cl9pZCI1Cg9QYXNzVGhyb3VnaERhdGESEAoIc3RyX2FyZ3MYASADKAkSEAoI",
          "aW50X2FyZ3MYAiADKAMiIgoPU2NlbmVUcmFja1BvaW50Eg8KB2luc3RfaWQY",
          "ASABKAkiIwoSU2NlbmVTdGF0aWNNYXBNYXJrEg0KBWluZGV4GAEgASgFIicK",
          "EUNzQWNoaWV2ZUNvbXBsZXRlEhIKCmFjaGlldmVfaWQYASABKAkiJwoRU2NB",
          "Y2hpZXZlQ29tcGxldGUSEgoKYWNoaWV2ZV9pZBgBIAEoCSIpChNDc0FjaGll",
          "dmVUYWtlUmV3YXJkEhIKCmFjaGlldmVfaWQYASABKAkiLQoOU2NBY3Rpdml0",
          "eVN5bmMSGwoEaW5mbxgBIAMoCzINLkFjdGl2aXR5SW5mbyK0AQoMQWN0aXZp",
          "dHlJbmZvEg8KB3ZlcnNpb24YASABKAQSEQoJaXNfZW5hYmxlGAIgASgIEgoK",
          "AmlkGAMgASgJEgwKBG5hbWUYBCABKAkSEgoKc3RhcnRfdGltZRgFIAEoAxIQ",
          "CghlbmRfdGltZRgGIAEoAxIaCgN0eXAYByABKA4yDS5BY3Rpdml0eVR5cGUS",
          "JAoEZGF0YRgIIAEoCzIWLkFjdGl2aXR5SW5mb1NwZWNpZmllZCJRChVBY3Rp",
          "dml0eUluZm9TcGVjaWZpZWQSMAoHY2hlY2tpbhgPIAEoCzIdLkFjdGl2aXR5",
          "SW5mb1NwZWNpZmllZENoZWNraW5IAEIGCgRkYXRhIkcKHEFjdGl2aXR5SW5m",
          "b1NwZWNpZmllZENoZWNraW4SEgoKbG9naW5fZGF5cxgBIAEoBRITCgtyZXdh",
          "cmRfZGF5cxgCIAEoBSIvChBTY0FjdGl2aXR5TW9kaWZ5EhsKBGluZm8YASAB",
          "KAsyDS5BY3Rpdml0eUluZm8iHAoOQ3NEYWlseUNoZWNraW4SCgoCaWQYASAB",
          "KAkiHAoOU2NEYWlseUNoZWNraW4SCgoCaWQYASABKAkiGgoYQ3NBZHZlbnR1",
          "cmVUYWtlUmV3YXJkQWxsIjQKFlNjQWR2ZW50dXJlTGV2ZWxNb2RpZnkSDQoF",
          "bGV2ZWwYASABKAUSCwoDZXhwGAIgASgDIjAKElNjQWR2ZW50dXJlU3luY0Fs",
          "bBINCgVsZXZlbBgBIAEoBRILCgNleHAYAiABKAMiQQoNQWR2ZW50dXJlVGFz",
          "axIPCgd0YXNrX2lkGAEgASgJEhAKCHByb2dyZXNzGAIgASgFEg0KBXN0YXRl",
          "GAMgASgFImwKE1NjQWR2ZW50dXJlQm9va1N5bmMSHAoUYWR2ZW50dXJlX2Jv",
          "b2tfc3RhZ2UYASABKAUSHQoFdGFza3MYAiADKAsyDi5BZHZlbnR1cmVUYXNr",
          "EhgKEGRhaWx5X2FjdGl2YXRpb24YAyABKAUiMwoXU2NEYWlseUFjdGl2YXRp",
          "b25Nb2RpZnkSGAoQZGFpbHlfYWN0aXZhdGlvbhgBIAEoBSIsChlDc1Rha2VB",
          "ZHZlbnR1cmVUYXNrUmV3YXJkEg8KB3Rhc2tfaWQYASABKAkiMQocQ3NUYWtl",
          "QWxsQWR2ZW50dXJlVGFza1Jld2FyZBIRCgl0YXNrX3R5cGUYASABKAUiNgoV",
          "U2NBZHZlbnR1cmVUYXNrTW9kaWZ5Eh0KBXRhc2tzGAEgAygLMg4uQWR2ZW50",
          "dXJlVGFzayI+Ch5Dc1Rha2VBZHZlbnR1cmVCb29rU3RhZ2VSZXdhcmQSHAoU",
          "YWR2ZW50dXJlX2Jvb2tfc3RhZ2UYASABKAUiOgoaU2NBZHZlbnR1cmVCb29r",
          "U3RhZ2VNb2RpZnkSHAoUYWR2ZW50dXJlX2Jvb2tfc3RhZ2UYASABKAUiGwoZ",
          "U2NSZXNldERhaWx5QWR2ZW50dXJlVGFzayIWChRDc0RldkNsZWFyQmF0dGxl",
          "SW5mbyI0CgpDc0JhdHRsZU9wEiYKC2NsaWVudF9kYXRhGAEgASgLMhEuQmF0",
          "dGxlQ2xpZW50RGF0YSI6CgxTY1NwYXduRW5lbXkSEgoKY2xpZW50X2tleRgB",
          "IAEoDRIWCg5lbmVteV9pbnN0X2lkcxgCIAMoBCJGChVTcGF3blNlcnZlclN1",
          "bW1vbkRhdGESFQoNb3duZXJfaW5zdF9pZBgBIAEoBBIWCg5zdW1tb25faW5z",
          "dF9pZBgCIAEoBCJEChZTY0VudGl0eVByb3BlcnR5Q2hhbmdlEg8KB2luc3Rf",
          "aWQYASABKAQSGQoEaW5mbxgCIAEoCzILLkJhdHRsZUluZm8iIAoRU2NCYXR0",
          "bGVEZWJ1Z0luZm8SCwoDbXNnGAEgASgJIj8KGFNjQmF0dGxlR2VuZXJhdGlv",
          "bkNoYW5nZRIPCgdpbnN0X2lkGAEgASgEEhIKCmdlbmVyYXRpb24YAiABKA0i",
          "WAoTU2NBdHRhY2hTZXJ2ZXJTa2lsbBIPCgdpbnN0X2lkGAEgASgEEhwKBnNr",
          "aWxscxgCIAMoCzIMLlNlcnZlclNraWxsEhIKCmdlbmVyYXRpb24YAyABKA0i",
          "UAoTU2NEZXRhY2hTZXJ2ZXJTa2lsbBIPCgdpbnN0X2lkGAEgASgEEhQKDGRl",
          "bF9pbnN0X2lkcxgCIAMoBBISCgpnZW5lcmF0aW9uGAMgASgNIlIKD1NjQWRk",
          "U2VydmVyQnVmZhIPCgdpbnN0X2lkGAEgASgEEhoKBWJ1ZmZzGAIgAygLMgsu",
          "U2VydmVyQnVmZhISCgpnZW5lcmF0aW9uGAMgASgNIk8KElNjUmVtb3ZlU2Vy",
          "dmVyQnVmZhIPCgdpbnN0X2lkGAEgASgEEhQKDGRlbF9pbnN0X2lkcxgCIAMo",
          "BBISCgpnZW5lcmF0aW9uGAMgASgNIi4KD1NjU3luY0FsbEJpdHNldBIbCgZi",
          "aXRzZXQYASADKAsyCy5CaXRzZXREYXRhIikKCkJpdHNldERhdGESDAoEdHlw",
          "ZRgBIAEoBRINCgV2YWx1ZRgCIAMoBCIqCgtDc0JpdHNldEFkZBIMCgR0eXBl",
          "GAEgASgFEg0KBXZhbHVlGAIgAygNIiEKEUNzQml0c2V0UmVtb3ZlQWxsEgwK",
          "BHR5cGUYASABKAUiLQoOQ3NCaXRzZXRSZW1vdmUSDAoEdHlwZRgBIAEoBRIN",
          "CgV2YWx1ZRgCIAMoDSI6CgtTY0JpdHNldEFkZBIMCgR0eXBlGAEgASgFEg0K",
          "BXZhbHVlGAIgAygNEg4KBnNvdXJjZRgDIAEoBSI9Cg5TY0JpdHNldFJlbW92",
          "ZRIMCgR0eXBlGAEgASgFEg0KBXZhbHVlGAIgAygNEg4KBnNvdXJjZRgDIAEo",
          "BSIxChFTY0JpdHNldFJlbW92ZUFsbBIMCgR0eXBlGAEgASgFEg4KBnNvdXJj",
          "ZRgCIAEoBSI2CghCbG9jSW5mbxIOCgZibG9jaWQYASABKAkSDQoFbGV2ZWwY",
          "AiABKAUSCwoDZXhwGAMgASgFIkMKDVNjU3luY0FsbEJsb2MSGAoFYmxvY3MY",
          "ASADKAsyCS5CbG9jSW5mbxIYCgVzaG9wcxgCIAMoCzIJLlNob3BJbmZvIsQB",
          "CghTaG9wSW5mbxIOCgZzaG9waWQYASABKAkSDAoEdHlwZRgCIAEoBRI7ChJh",
          "bHJlYWR5X3NlbGxfY291bnQYAyADKAsyHy5TaG9wSW5mby5BbHJlYWR5U2Vs",
          "bENvdW50RW50cnkSJAoNZGlzY291bnRfaW5mbxgEIAMoCzINLkRpc2NvdW50",
          "SW5mbxo3ChVBbHJlYWR5U2VsbENvdW50RW50cnkSCwoDa2V5GAEgASgFEg0K",
          "BXZhbHVlGAIgASgFOgI4ASIvCgxEaXNjb3VudEluZm8SDQoFcG9zaWQYASAB",
          "KAUSEAoIZGlzY291bnQYAiABKAUiPQoPU2NCbG9jU3luY0xldmVsEg4KBmJs",
          "b2NpZBgBIAEoCRINCgVsZXZlbBgCIAEoBRILCgNleHAYAyABKAUiPQoNQ3NC",
          "bG9jU2hvcEJ1eRIOCgZzaG9waWQYASABKAkSDQoFcG9zaWQYAiABKAUSDQoF",
          "Y291bnQYAyABKAUiPQoNU2NCbG9jU2hvcEJ1eRIOCgZzaG9waWQYAiABKAkS",
          "DQoFcG9zaWQYAyABKAUSDQoFY291bnQYBCABKAUiLQoISXRlbUluZm8SDgoG",
          "cmVzX2lkGAEgASgJEhEKCXJlc19jb3VudBgCIAEoBSI/Cg1Dc0NoYXJMZXZl",
          "bFVwEhQKDGNoYXJfb2JqX2lfZBgBIAEoBBIYCgVpdGVtcxgCIAMoCzIJLkl0",
          "ZW1JbmZvIiUKDVNjQ2hhckxldmVsVXASFAoMY2hhcl9vYmpfaV9kGAEgASgE",
          "IkYKElNjQ2hhclN5bmNMZXZlbEV4cBIUCgxjaGFyX29ial9pX2QYASABKAQS",
          "DQoFbGV2ZWwYAiABKAUSCwoDZXhwGAMgASgFIkQKFENzQ2hhclNldE5vcm1h",
          "bFNraWxsEhQKDGNoYXJfb2JqX2lfZBgBIAEoBBIWCg5ub3JtYWxfc2tpbGxp",
          "ZBgCIAEoCSJEChRTY0NoYXJTZXROb3JtYWxTa2lsbBIUCgxjaGFyX29ial9p",
          "X2QYASABKAQSFgoObm9ybWFsX3NraWxsaWQYAiABKAkiTQoSU2NDaGFyU2V0",
          "VGVhbVNraWxsEg0KBW9iamlkGAEgASgEEhAKCHRlYW1faWR4GAIgASgFEhYK",
          "Dm5vcm1hbF9za2lsbGlkGAMgASgJIkcKEVNjQ2hhclVubG9ja1NraWxsEg0K",
          "BW9iamlkGAEgASgEEiMKCmxldmVsX2luZm8YAiABKAsyDy5Ta2lsbExldmVs",
          "SW5mbyIzChJTY0NoYXJHYWluRXhwVG9hc3QSCwoDZXhwGAEgASgFEhAKCGV4",
          "cF90eXBlGAIgASgFIlQKEFNjQ2hhclN5bmNTdGF0dXMSDQoFb2JqaWQYASAB",
          "KAQSDwoHaXNfZGVhZBgCIAEoCBIgCgtiYXR0bGVfaW5mbxgDIAEoCzILLkJh",
          "dHRsZUluZm8iTAoVQ3NDaGFyUG90ZW50aWFsVW5sb2NrEhMKC2NoYXJfb2Jq",
          "X2lkGAEgASgEEg0KBWxldmVsGAIgASgNEg8KB2l0ZW1faWQYAyABKAUiOwoV",
          "U2NDaGFyUG90ZW50aWFsVW5sb2NrEhMKC2NoYXJfb2JqX2lkGAEgASgEEg0K",
          "BWxldmVsGAIgASgNIk0KEFNjQ2hhclNraWxsSW5mb3MSEwoLY2hhcl9vYmpf",
          "aWQYASABKAQSJAoLbGV2ZWxfaW5mb3MYAiADKAsyDy5Ta2lsbExldmVsSW5m",
          "byJPChJDc0NoYXJTa2lsbExldmVsVXASEwoLY2hhcl9vYmpfaWQYASABKAQS",
          "EAoIc2tpbGxfaWQYAiABKAkSEgoKc2tpbGxfdHlwZRgDIAEoBSJOChJTY0No",
          "YXJTa2lsbExldmVsVXASEwoLY2hhcl9vYmpfaWQYASABKAQSIwoKbGV2ZWxf",
          "aW5mbxgCIAEoCzIPLlNraWxsTGV2ZWxJbmZvIj4KFkNzQ2hhclVubG9ja1Rh",
          "bGVudE5vZGUSEwoLY2hhcl9vYmpfaWQYASABKAQSDwoHbm9kZV9pZBgCIAEo",
          "CSI+ChZTY0NoYXJVbmxvY2tUYWxlbnROb2RlEhMKC2NoYXJfb2JqX2lkGAEg",
          "ASgEEg8KB25vZGVfaWQYAiABKAkizAQKCENoYXJJbmZvEg0KBW9iamlkGAEg",
          "ASgEEhIKCnRlbXBsYXRlaWQYAiABKAkSDQoFbGV2ZWwYAyABKAUSCwoDZXhw",
          "GAQgASgFEioKCWVxdWlwX2NvbBgGIAMoCzIXLkNoYXJJbmZvLkVxdWlwQ29s",
          "RW50cnkSFAoMbm9ybWFsX3NraWxsGAcgASgJEg8KB2lzX2RlYWQYCCABKAgS",
          "IAoLYmF0dGxlX2luZm8YCSABKAsyCy5CYXR0bGVJbmZvEh4KCnNraWxsX2lu",
          "Zm8YCiABKAsyCi5Ta2lsbEluZm8SLAoKZXF1aXBfc3VpdBgLIAMoCzIYLkNo",
          "YXJJbmZvLkVxdWlwU3VpdEVudHJ5EhEKCXdlYXBvbl9pZBgMIAEoBBIQCghv",
          "d25fdGltZRgNIAEoAxIZChFlcXVpcF9tZWRpY2luZV9pZBgOIAEoBRIXCg9w",
          "b3RlbnRpYWxfbGV2ZWwYDyABKA0SFwoGdGFsZW50GBAgASgLMgcuVGFsZW50",
          "EicKD2JhdHRsZV9tZ3JfaW5mbxgRIAEoCzIOLkJhdHRsZU1nckluZm8SHAoJ",
          "Y2hhcl90eXBlGBIgASgOMgkuQ2hhclR5cGUSIgoKdHJpYWxfZGF0YRgTIAEo",
          "CzIOLlRyaWFsQ2hhckRhdGEaLwoNRXF1aXBDb2xFbnRyeRILCgNrZXkYASAB",
          "KAUSDQoFdmFsdWUYAiABKAQ6AjgBGjAKDkVxdWlwU3VpdEVudHJ5EgsKA2tl",
          "eRgBIAEoCRINCgV2YWx1ZRgCIAEoBToCOAEilQEKCVNraWxsSW5mbxIjCgps",
          "ZXZlbF9pbmZvGAEgAygLMg8uU2tpbGxMZXZlbEluZm8SFAoMbm9ybWFsX3Nr",
          "aWxsGAIgASgJEhYKDnVsdGltYXRlX3NraWxsGAMgASgJEhMKC2NvbWJvX3Nr",
          "aWxsGAQgASgJEiAKGGRpc3Bfbm9ybWFsX2F0dGFja19za2lsbBgFIAEoCSJM",
          "ChBDc0NoYXJCYWdTZXRUZWFtEhIKCnRlYW1faW5kZXgYASABKAUSEQoJY2hh",
          "cl90ZWFtGAIgAygEEhEKCWxlYWRlcl9pZBgDIAEoBCJCChlDc0NoYXJCYWdT",
          "ZXRDdXJyVGVhbUluZGV4EhIKCnRlYW1faW5kZXgYASABKAUSEQoJbGVhZGVy",
          "X2lkGAIgASgEIj0KFENzQ2hhckJhZ1NldFRlYW1OYW1lEhIKCnRlYW1faW5k",
          "ZXgYASABKAUSEQoJdGVhbV9uYW1lGAIgASgJIjYKGUNzQ2hhckJhZ1RlYW1D",
          "aGFuZ2VGaW5pc2gSGQoRdGVhbV9jaGFuZ2VfdG9rZW4YASABKAQiYwoWQ3ND",
          "aGFyQmFnU2V0VGVhbUxlYWRlchIjCgl0ZWFtX3R5cGUYASABKA4yEC5DaGFy",
          "QmFnVGVhbVR5cGUSEgoKdGVhbV9pbmRleBgCIAEoBRIQCghsZWFkZXJpZBgD",
          "IAEoBCIzCh1TY0NoYXJCYWdSZW1vdmVUcmlhbENoYXJhY3RlchISCgpzY29w",
          "ZV9uYW1lGAEgASgFIoUBChBTY0NoYXJCYWdTZXRUZWFtEiMKCXRlYW1fdHlw",
          "ZRgBIAEoDjIQLkNoYXJCYWdUZWFtVHlwZRISCgp0ZWFtX2luZGV4GAIgASgF",
          "EhEKCWxlYWRlcl9pZBgFIAEoBBIRCgljaGFyX3RlYW0YAyADKAQSEgoKc2Nv",
          "cGVfbmFtZRgEIAEoBSIsChJDaGFyVGVhbU1lbWJlckluZm8SFgoObm9ybWFs",
          "X3NraWxsaWQYASABKAkiRgoMQ2hhclRlYW1JbmZvEhEKCXRlYW1fbmFtZRgB",
          "IAEoCRIRCgljaGFyX3RlYW0YAiADKAQSEAoIbGVhZGVyaWQYAyABKAQi5AEK",
          "EVNjU3luY0NoYXJCYWdJbmZvEhwKCWNoYXJfaW5mbxgBIAMoCzIJLkNoYXJJ",
          "bmZvEiAKCXRlYW1faW5mbxgCIAMoCzINLkNoYXJUZWFtSW5mbxIXCg9jdXJy",
          "X3RlYW1faW5kZXgYAyABKAUSIgoabWF4X2NoYXJfdGVhbV9tZW1iZXJfY291",
          "bnQYBCABKA0SJQoOdGVtcF90ZWFtX2luZm8YBSABKAsyDS5DaGFyVGVhbUlu",
          "Zm8SEgoKc2NvcGVfbmFtZRgKIAEoBRIXCg9pc19zY29wZV9kZWxldGUYCyAB",
          "KAgiPwoQU2NDaGFyQmFnQWRkQ2hhchIXCgRjaGFyGAEgASgLMgkuQ2hhcklu",
          "Zm8SEgoKc2NvcGVfbmFtZRgCIAEoBSJRChRTY0NoYXJCYWdTZXRUZWFtTmFt",
          "ZRISCgp0ZWFtX2luZGV4GAEgASgFEhEKCXRlYW1fbmFtZRgCIAEoCRISCgpz",
          "Y29wZV9uYW1lGAMgASgFIncKFlNjQ2hhckJhZ1NldFRlYW1MZWFkZXISIwoJ",
          "dGVhbV90eXBlGAEgASgOMhAuQ2hhckJhZ1RlYW1UeXBlEhIKCnRlYW1faW5k",
          "ZXgYAiABKAUSEAoIbGVhZGVyaWQYAyABKAQSEgoKc2NvcGVfbmFtZRgEIAEo",
          "BSJYCh5TY0NoYXJCYWdTZXRNYXhUZWFtTWVtYmVyQ291bnQSIgoabWF4X2No",
          "YXJfdGVhbV9tZW1iZXJfY291bnQYASABKA0SEgoKc2NvcGVfbmFtZRgCIAEo",
          "BSJ/Ch5TY0NoYXJCYWdUZWFtTGVhZGVyTm90TWF0Y2hOdGYSIwoJdGVhbV90",
          "eXBlGAEgASgOMhAuQ2hhckJhZ1RlYW1UeXBlEhIKCnRlYW1faW5kZXgYAiAB",
          "KAUSEAoIbGVhZGVyaWQYAyABKAQSEgoKc2NvcGVfbmFtZRgEIAEoBSI8ChBT",
          "Y0NoYXJCYWdEZWxDaGFyEhQKDGNoYXJfaW5zdF9pZBgBIAEoBBISCgpzY29w",
          "ZV9uYW1lGAIgASgFIrkBCiRTY0NoYXJCYWdBZGRDaGFyV2l0aENvbnZlcnNp",
          "b25Ob3RpZnkSGAoQY2hhcl90ZW1wbGF0ZV9pZBgBIAEoCRISCgpzY29wZV9u",
          "YW1lGAIgASgFEhQKDGlzX2NvbnZlcnRlZBgDIAEoCBIZChFjb252ZXJ0ZWRf",
          "aXRlbV9pZBgEIAEoCRIbChNjb252ZXJ0ZWRfcmV3YXJkX2lkGAUgASgJEhUK",
          "DXNvdXJjZV9yZWFzb24YBiABKAUiRwoPU2NlbmVDb2xsZWN0aW9uEhIKCnNj",
          "ZW5lX25hbWUYASABKAkSEQoJcHJlZmFiX2lkGAIgASgJEg0KBWNvdW50GAMg",
          "ASgFIkIKFVNjU2NlbmVDb2xsZWN0aW9uU3luYxIpCg9jb2xsZWN0aW9uX2xp",
          "c3QYASADKAsyEC5TY2VuZUNvbGxlY3Rpb24iTwoXU2NTY2VuZUNvbGxlY3Rp",
          "b25Nb2RpZnkSEgoKc2NlbmVfbmFtZRgBIAEoCRIRCglwcmVmYWJfaWQYAiAB",
          "KAkSDQoFY291bnQYAyABKAUiRAoGRGlhbG9nEhEKCWRpYWxvZ19pZBgBIAEo",
          "BRISCgpvcHRpb25faWRzGAIgAygFEhMKC2ZpbmlzaF9udW1zGAMgAygFIkwK",
          "DkNzRmluaXNoRGlhbG9nEhEKCWRpYWxvZ19pZBgBIAEoBRISCgpvcHRpb25f",
          "aWRzGAIgAygFEhMKC2ZpbmlzaF9udW1zGAMgAygFIkwKDlNjRmluaXNoRGlh",
          "bG9nEhEKCWRpYWxvZ19pZBgBIAEoBRISCgpvcHRpb25faWRzGAIgAygFEhMK",
          "C2ZpbmlzaF9udW1zGAMgAygFIi8KD1NjU3luY0FsbERpYWxvZxIcCgtkaWFs",
          "b2dfbGlzdBgBIAMoCzIHLkRpYWxvZyJ0Cg5Dc0VudGVyRHVuZ2VvbhIeCglj",
          "aGFyX3RlYW0YASADKAsyCy5UZWFtQ2hhcklkEhIKCmR1bmdlb25faWQYAiAB",
          "KAkSLgoMcmFjaW5nX3BhcmFtGAogASgLMhguRW50ZXJSYWNpbmdEdW5nZW9u",
          "UGFyYW0iPAoXRW50ZXJSYWNpbmdEdW5nZW9uUGFyYW0SDQoFbGV2ZWwYASAB",
          "KAUSEgoKdGFjdGljc19pZBgCIAEoCSJ5ChNDc0VudGVyVHJhaW5EdW5nZW9u",
          "Eh4KCWNoYXJfdGVhbRgBIAMoCzILLlRlYW1DaGFySWQSEgoKZHVuZ2Vvbl9p",
          "ZBgCIAEoCRIuCgxyYWNpbmdfcGFyYW0YCiABKAsyGC5FbnRlclJhY2luZ0R1",
          "bmdlb25QYXJhbSImChBDc1Jlc3RhcnREdW5nZW9uEhIKCmR1bmdlb25faWQY",
          "ASABKAkiJAoOQ3NMZWF2ZUR1bmdlb24SEgoKZHVuZ2Vvbl9pZBgBIAEoCSJD",
          "ChJDc0R1bmdlb25SZWNvdmVyQXASGgoFaXRlbXMYASADKAsyCy5JdGVtQnVu",
          "ZGxlEhEKCXVzZV9tb25leRgCIAEoCCIzChZDc0R1bmdlb25Ub3VjaEVudHJh",
          "bmNlEhkKEWR1bmdlb25fc2VyaWVzX2lkGAEgASgJIjYKDlNjRW50ZXJEdW5n",
          "ZW9uEhIKCmR1bmdlb25faWQYAyABKAkSEAoIc2NlbmVfaWQYBCABKAkiJgoQ",
          "U2NSZXN0YXJ0RHVuZ2VvbhISCgpkdW5nZW9uX2lkGAEgASgJIiQKDlNjTGVh",
          "dmVEdW5nZW9uEhIKCmR1bmdlb25faWQYASABKAkiYwoNU2NTeW5jU3RhbWlu",
          "YRITCgtjdXJfc3RhbWluYRgBIAEoDRITCgttYXhfc3RhbWluYRgCIAEoDRIZ",
          "ChFuZXh0X3JlY292ZXJfdGltZRgDIAEoAxINCgVkZWx0YRgEIAEoBSJeChdT",
          "Y1N5bmNGdWxsRHVuZ2VvblN0YXR1cxITCgtjdXJfc3RhbWluYRgBIAEoDRIT",
          "CgttYXhfc3RhbWluYRgCIAEoDRIZChFuZXh0X3JlY292ZXJfdGltZRgDIAEo",
          "AyI/CgxDc0VxdWlwUHV0b24SDgoGY2hhcmlkGAEgASgEEg4KBnNsb3RpZBgC",
          "IAEoBRIPCgdlcXVpcGlkGAMgASgEIrECCgxTY0VxdWlwUHV0b24SDgoGY2hh",
          "cmlkGAEgASgEEg4KBnNsb3RpZBgCIAEoBRIPCgdlcXVpcGlkGAMgASgEEi0K",
          "CHN1aXRpbmZvGAQgAygLMhsuU2NFcXVpcFB1dG9uLlN1aXRpbmZvRW50cnkS",
          "FgoOcHV0X29mZl9jaGFyaWQYBSABKAQSPwoSb2xkX293bmVyX3N1aXRpbmZv",
          "GAYgAygLMiMuU2NFcXVpcFB1dG9uLk9sZE93bmVyU3VpdGluZm9FbnRyeRov",
          "Cg1TdWl0aW5mb0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoBToC",
          "OAEaNwoVT2xkT3duZXJTdWl0aW5mb0VudHJ5EgsKA2tleRgBIAEoCRINCgV2",
          "YWx1ZRgCIAEoBToCOAEiLwoNQ3NFcXVpcFB1dG9mZhIOCgZjaGFyaWQYASAB",
          "KAQSDgoGc2xvdGlkGAIgASgFIpABCg1TY0VxdWlwUHV0b2ZmEg4KBmNoYXJp",
          "ZBgBIAEoBBIOCgZzbG90aWQYAiABKAUSLgoIc3VpdGluZm8YAyADKAsyHC5T",
          "Y0VxdWlwUHV0b2ZmLlN1aXRpbmZvRW50cnkaLwoNU3VpdGluZm9FbnRyeRIL",
          "CgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAU6AjgBIkMKFUNzRXF1aXBNZWRp",
          "Y2luZU1vZGlmeRIPCgdjaGFyX2lkGAEgASgEEhkKEWVxdWlwX21lZGljaW5l",
          "X2lkGAIgASgFIkMKFVNjRXF1aXBNZWRpY2luZU1vZGlmeRIPCgdjaGFyX2lk",
          "GAEgASgEEhkKEWVxdWlwX21lZGljaW5lX2lkGAIgASgFIj8KDkNzRXF1aXBS",
          "ZWN5Y2xlEhkKEWVxdWlwX2luc3RpZF9saXN0GAEgAygEEhIKCnNjb3BlX25h",
          "bWUYAiABKAUiZAoOU2NFcXVpcFJlY3ljbGUSGQoRZXF1aXBfaW5zdGlkX2xp",
          "c3QYASADKAQSDwoHaXRlbV9pZBgCIAMoCRISCgppdGVtX2NvdW50GAMgAygF",
          "EhIKCnNjb3BlX25hbWUYBCABKAUiVwoOQ3NFcXVpcEVuaGFuY2USFQoNZXF1",
          "aXBfaW5zdF9pZBgBIAEoBBIaChJpbmdyZWRpZW50X2luc3RfaWQYAiABKAQS",
          "EgoKYXR0cl9pbmRleBgDIAEoDSJ6Cg5TY0VxdWlwRW5oYW5jZRIVCg1lcXVp",
          "cF9pbnN0X2lkGAEgASgEEg8KB2VuaGFuY2UYAiADKA0SIQoNZW5oYW5jZV9h",
          "dHRycxgDIAMoCzIKLkVxdWlwQXR0chIdCgliYXNlX2F0dHIYBCABKAsyCi5F",
          "cXVpcEF0dHIiJAoOQ3NFcXVpcFByb2R1Y2USEgoKZm9ybXVsYV9pZBgBIAEo",
          "CSI6Cg5TY0VxdWlwUHJvZHVjZRISCgpmb3JtdWxhX2lkGAEgASgJEhQKDGVx",
          "dWlwX2luc3RpZBgCIAEoBCLpAQoRU2NkRmFjdG9yeVN0dE5vZGUSCgoCaWQY",
          "ASABKAkSDQoFc3RhdGUYAiABKAUSLgoGdmFsdWVzGAMgAygLMh4uU2NkRmFj",
          "dG9yeVN0dE5vZGUuVmFsdWVzRW50cnkSLAoFZmxhZ3MYBCADKAsyHS5TY2RG",
          "YWN0b3J5U3R0Tm9kZS5GbGFnc0VudHJ5Gi0KC1ZhbHVlc0VudHJ5EgsKA2tl",
          "eRgBIAEoCRINCgV2YWx1ZRgCIAEoBToCOAEaLAoKRmxhZ3NFbnRyeRILCgNr",
          "ZXkYASABKAkSDQoFdmFsdWUYAiABKAg6AjgBIoICChRTY2RGYWN0b3J5U3R0",
          "UGFja2FnZRIKCgJpZBgBIAEoCRINCgVzdGF0ZRgCIAEoBRIxCgZ2YWx1ZXMY",
          "AyADKAsyIS5TY2RGYWN0b3J5U3R0UGFja2FnZS5WYWx1ZXNFbnRyeRIvCgVm",
          "bGFncxgEIAMoCzIgLlNjZEZhY3RvcnlTdHRQYWNrYWdlLkZsYWdzRW50cnkS",
          "DgoGaGlkZGVuGAUgASgIGi0KC1ZhbHVlc0VudHJ5EgsKA2tleRgBIAEoCRIN",
          "CgV2YWx1ZRgCIAEoBToCOAEaLAoKRmxhZ3NFbnRyeRILCgNrZXkYASABKAkS",
          "DQoFdmFsdWUYAiABKAg6AjgBIi8KElNjZEZhY3RvcnlTdHRMYXllchIKCgJp",
          "ZBgBIAEoCRINCgVzdGF0ZRgCIAEoBSKEAQoRU2NkRmFjdG9yeVN5bmNTdHQS",
          "IQoFbm9kZXMYASADKAsyEi5TY2RGYWN0b3J5U3R0Tm9kZRInCghwYWNrYWdl",
          "cxgCIAMoCzIVLlNjZEZhY3RvcnlTdHRQYWNrYWdlEiMKBmxheWVycxgDIAMo",
          "CzITLlNjZEZhY3RvcnlTdHRMYXllciLmAQoYU2NkRmFjdG9yeVN5bmNGb3Jt",
          "dWxhTWFuEhAKCHVubG9ja2VkGAEgAygJEg8KB3Zpc2libGUYAiADKAkSMwoF",
          "bW9kZXMYAyADKAsyJC5TY2RGYWN0b3J5U3luY0Zvcm11bGFNYW4uTW9kZXNF",
          "bnRyeRIQCghsZXZlbF91cBgEIAMoCRIWCg5wcm9kdWN0X21hbnVhbBgFIAMo",
          "CRpICgpNb2Rlc0VudHJ5EgsKA2tleRgBIAEoCRIpCgV2YWx1ZRgCIAEoCzIa",
          "LlNjZEZhY3RvcnlTeW5jRm9ybXVsYU1vZGU6AjgBIjEKGVNjZEZhY3RvcnlT",
          "eW5jRm9ybXVsYU1vZGUSFAoMYnVpbGRpbmdfaWRzGAEgAygJIjQKFlNjZEZh",
          "Y3RvcnlTeW5jUXVpY2tiYXISDAoEdHlwZRgBIAEoBRIMCgRsaXN0GAIgAygJ",
          "ImAKDVNjRmFjdG9yeVN5bmMSLgoLZm9ybXVsYV9tYW4YASABKAsyGS5TY2RG",
          "YWN0b3J5U3luY0Zvcm11bGFNYW4SHwoDc3R0GAIgASgLMhIuU2NkRmFjdG9y",
          "eVN5bmNTdHQiYwoZU2NGYWN0b3J5TW9kaWZ5Rm9ybXVsYU1hbhIUCgxuZXdf",
          "dW5sb2NrZWQYASADKAkSGgoSbmV3X3Byb2R1Y3RfbWFudWFsGAIgAygJEhQK",
          "DG5ld19sZXZlbF91cBgDIAMoCSKFAQoSU2NGYWN0b3J5TW9kaWZ5U3R0EiEK",
          "BW5vZGVzGAEgAygLMhIuU2NkRmFjdG9yeVN0dE5vZGUSJwoIcGFja2FnZXMY",
          "AiADKAsyFS5TY2RGYWN0b3J5U3R0UGFja2FnZRIjCgZsYXllcnMYAyADKAsy",
          "Ey5TY2RGYWN0b3J5U3R0TGF5ZXIigQEKFkZhY3RvcnlGb3JtdWxhVmlzaWFi",
          "bGUSFAoMZm9ybXVsYV9saXN0GAEgAygJEhMKC291dHB1dF9saXN0GAIgAygJ",
          "Eg4KBnNvdXJjZRgDIAMoCRIsCgZyZWFzb24YBCABKA4yHC5GYWN0b3J5Rm9y",
          "bXVsYVZpc2libGVSZWFzb24iTQodU2NGYWN0b3J5TW9kaWZ5VmlzaWJsZUZv",
          "cm11bGESLAoLbmV3X3Zpc2libGUYASABKAsyFy5GYWN0b3J5Rm9ybXVsYVZp",
          "c2lhYmxlIkQKGlNjRmFjdG9yeU1vZGlmeUZvcm11bGFNb2RlEgwKBG1vZGUY",
          "ASABKAkSGAoQbmV3X2J1aWxkaW5nX2lkcxgCIAMoCSLjAQoSU2NGYWN0b3J5",
          "U3luY1Njb3BlEhIKCnNjb3BlX25hbWUYASABKAUSGgoSY3VycmVudF9jaGFw",
          "dGVyX2lkGAIgASgJEioKCXF1aWNrYmFycxgEIAMoCzIXLlNjZEZhY3RvcnlT",
          "eW5jUXVpY2tiYXISQAoPdHJhbnNwb3J0X3JvdXRlGAUgASgLMicuU2NkRmFj",
          "dG9yeVN5bmNIdWJUcmFuc3BvcnRSb3V0ZU1hbmFnZXISLwoJYm9va19tYXJr",
          "GAYgASgLMhwuU2NkRmFjdG9yeVN0YXRpc3RpY0Jvb2ttYXJrImkKJlNjZEZh",
          "Y3RvcnlTeW5jSHViVHJhbnNwb3J0Um91dGVNYW5hZ2VyEhEKCXVwZGF0ZV90",
          "cxgBIAEoAxIsCgZyb3V0ZXMYAiADKAsyHC5TY2RGYWN0b3J5SHViVHJhbnNw",
          "b3J0Um91dGUitgEKG1NjZEZhY3RvcnlIdWJUcmFuc3BvcnRSb3V0ZRISCgpj",
          "aGFwdGVyX2lkGAEgASgJEg0KBWluZGV4GAIgASgFEhkKEXRhcmdldF9jaGFw",
          "dGVyX2lkGAMgASgJEg8KB2l0ZW1faWQYBCABKAkSEAoIaXRlbV9udW0YBSAB",
          "KAUSFAoMaXRlbV9udW1fbWF4GAYgASgFEg4KBnN0YXR1cxgHIAEoBRIQCghw",
          "cm9ncmVzcxgIIAEoAyI4ChtTY2RGYWN0b3J5U3RhdGlzdGljQm9va21hcmsS",
          "GQoRYm9va21hcmtfaXRlbV9pZHMYASADKAkiXwokQ3NGYWN0b3J5U3RhdGlz",
          "dGljU2V0Qm9va21hcmtJdGVtSWRzEhAKCGl0ZW1faWRzGAEgAygJEhEKCWlz",
          "X3JlbW92ZRgCIAEoCBISCgpzY29wZV9uYW1lGAsgASgFImcKIFNjRmFjdG9y",
          "eU1vZGlmeVN0YXRpc3RpY0Jvb2ttYXJrEi8KCWJvb2tfbWFyaxgBIAEoCzIc",
          "LlNjZEZhY3RvcnlTdGF0aXN0aWNCb29rbWFyaxISCgpzY29wZV9uYW1lGAsg",
          "ASgFIpgBCh1Dc0ZhY3RvcnlIdWJUcmFuc3BvcnRSb3V0ZVNldBISCgpzY29w",
          "ZV9uYW1lGAEgASgFEhIKCmNoYXB0ZXJfaWQYAiABKAkSDQoFaW5kZXgYAyAB",
          "KAUSGQoRdGFyZ2V0X2NoYXB0ZXJfaWQYBCABKAkSDwoHaXRlbV9pZBgFIAEo",
          "CRIUCgxpdGVtX251bV9tYXgYBiABKAUiWAofQ3NGYWN0b3J5SHViVHJhbnNw",
          "b3J0Um91dGVSZXNldBISCgpzY29wZV9uYW1lGAEgASgFEhIKCmNoYXB0ZXJf",
          "aWQYAiABKAkSDQoFaW5kZXgYAyABKAUiWgohQ3NGYWN0b3J5SHViVHJhbnNw",
          "b3J0Um91dGVSZXN0YXJ0EhIKCnNjb3BlX25hbWUYASABKAUSEgoKY2hhcHRl",
          "cl9pZBgCIAEoCRINCgVpbmRleBgDIAEoBSJtCiBTY0ZhY3RvcnlIdWJUcmFu",
          "c3BvcnRSb3V0ZU1vZGlmeRJJChh0cmFuc3BvcnRfcm91dGVfbW9kaWZpZWQY",
          "ASABKAsyJy5TY2RGYWN0b3J5U3luY0h1YlRyYW5zcG9ydFJvdXRlTWFuYWdl",
          "ciJLChVTY0ZhY3RvcnlSZWxlYXNlU2NvcGUSEgoKc2NvcGVfbmFtZRgBIAEo",
          "BRIeChZkZWxldGVfY2hhcHRlcl9pZF9saXN0GAsgAygJImYKFFNjRmFjdG9y",
          "eU1vZGlmeVNjb3BlEhIKCnNjb3BlX25hbWUYASABKAUSGgoSY3VycmVudF9j",
          "aGFwdGVyX2lkGAIgASgJEh4KFmRlbGV0ZV9jaGFwdGVyX2lkX2xpc3QYCyAD",
          "KAkiWQoXU2NGYWN0b3J5TW9kaWZ5UXVpY2tiYXISEgoKc2NvcGVfbmFtZRgB",
          "IAEoBRIqCglxdWlja2JhcnMYAiADKAsyFy5TY2RGYWN0b3J5U3luY1F1aWNr",
          "YmFyIl8KFFNjRmFjdG9yeVNvaWxSZWNsYWltEhIKCnNjb3BlX25hbWUYASAB",
          "KAUSEgoKY2hhcHRlcl9pZBgCIAEoCRIPCgdub2RlX2lkGAMgASgNEg4KBnJl",
          "c3VsdBgEIAEoCCJdChJTY0ZhY3RvcnlTb2lsV2F0ZXISEgoKc2NvcGVfbmFt",
          "ZRgBIAEoBRISCgpjaGFwdGVyX2lkGAIgASgJEg8KB25vZGVfaWQYAyABKA0S",
          "DgoGcmVzdWx0GAQgASgIIl8KFFNjRmFjdG9yeVNvaWxIYXJ2ZXN0EhIKCnNj",
          "b3BlX25hbWUYASABKAUSEgoKY2hhcHRlcl9pZBgCIAEoCRIPCgdub2RlX2lk",
          "GAMgASgNEg4KBnJlc3VsdBgEIAEoCCJeChNTY0ZhY3RvcnlTb2lsQ2FuY2Vs",
          "EhIKCnNjb3BlX25hbWUYASABKAUSEgoKY2hhcHRlcl9pZBgCIAEoCRIPCgdu",
          "b2RlX2lkGAMgASgNEg4KBnJlc3VsdBgEIAEoCCIrChdDc0ZhY3RvcnlTdHRV",
          "bmxvY2tMYXllchIQCghsYXllcl9pZBgBIAEoCSIpChZDc0ZhY3RvcnlTdHRV",
          "bmxvY2tOb2RlEg8KB25vZGVfaWQYASABKAkiWwoXQ3NGYWN0b3J5UXVpY2ti",
          "YXJTZXRPbmUSEgoKc2NvcGVfbmFtZRgBIAEoBRIMCgR0eXBlGAIgASgFEg0K",
          "BWluZGV4GAMgASgFEg8KB2l0ZW1faWQYBCABKAkiYgoYQ3NGYWN0b3J5UXVp",
          "Y2tiYXJNb3ZlT25lEhIKCnNjb3BlX25hbWUYASABKAUSDAoEdHlwZRgCIAEo",
          "BRISCgpmcm9tX2luZGV4GAMgASgFEhAKCHRvX2luZGV4GAQgASgFImcKFENz",
          "RmFjdG9yeVNvaWxSZWNsYWltEhIKCnNjb3BlX25hbWUYASABKAUSEgoKY2hh",
          "cHRlcl9pZBgCIAEoCRIPCgdub2RlX2lkGAMgASgNEhYKDmNoYXJfb2JqZWN0",
          "X2lkGAQgASgEImUKEkNzRmFjdG9yeVNvaWxXYXRlchISCgpzY29wZV9uYW1l",
          "GAEgASgFEhIKCmNoYXB0ZXJfaWQYAiABKAkSDwoHbm9kZV9pZBgDIAEoDRIW",
          "Cg5jaGFyX29iamVjdF9pZBgEIAEoBCJnChRDc0ZhY3RvcnlTb2lsSGFydmVz",
          "dBISCgpzY29wZV9uYW1lGAEgASgFEhIKCmNoYXB0ZXJfaWQYAiABKAkSDwoH",
          "bm9kZV9pZBgDIAEoDRIWCg5jaGFyX29iamVjdF9pZBgEIAEoBCJOChNDc0Zh",
          "Y3RvcnlTb2lsQ2FuY2VsEhIKCnNjb3BlX25hbWUYASABKAUSEgoKY2hhcHRl",
          "cl9pZBgCIAEoCRIPCgdub2RlX2lkGAMgASgNInsKHENzRmFjdG9yeVNvaWxG",
          "YXJtbGFuZExldmVsVXASEgoKc2NvcGVfbmFtZRgBIAEoBRISCgpjaGFwdGVy",
          "X2lkGAIgASgJEhIKCnNjZW5lX25hbWUYAyABKAkSDQoFaW5kZXgYBCABKAUS",
          "EAoIdG9fbGV2ZWwYBSABKAUihAEKGFNjRmFjdG9yeVN5bmNPZmZsaW5lSW5m",
          "bxIcChRtYXhfb2ZmbGluZV9jYWxjX3NlYxgBIAEoAxIbChNlbmRfb2ZmbGlu",
          "ZV9jYWxjX3RzGAIgASgDEhMKC29mZmxpbmVfc2VjGAMgASgDEhgKEG1pc3Nf",
          "b2ZmbGluZV9zZWMYBCABKAMiYgoYQ3NGYWN0b3J5SHViV29ya3Nob3BNYWtl",
          "EhIKCnNjb3BlX25hbWUYASABKAUSDwoHbm9kZV9pZBgCIAEoDRISCgpmb3Jt",
          "dWxhX2lkGAMgASgJEg0KBW11bHRpGAQgASgFIisKGFNjRmFjdG9yeUh1Yldv",
          "cmtzaG9wTWFrZRIPCgdzdWNjZXNzGAEgASgIIkMKHENzRmFjdG9yeVByb2R1",
          "Y3RNYW51YWxVbmxvY2sSEgoKc2NvcGVfbmFtZRgBIAEoBRIPCgdpZF9saXN0",
          "GAIgAygJIkMKHFNjRmFjdG9yeVByb2R1Y3RNYW51YWxVbmxvY2sSEgoKc2Nv",
          "cGVfbmFtZRgBIAEoBRIPCgdpZF9saXN0GAIgAygJIlIKGUNzRmFjdG9yeU1h",
          "bnVhbGx5V29ya0V4ZWMSEgoKc2NvcGVfbmFtZRgBIAEoBRISCgpmb3JtdWxh",
          "X2lkGAIgASgJEg0KBWNvdW50GAMgASgFIlIKGVNjRmFjdG9yeU1hbnVhbGx5",
          "V29ya0V4ZWMSEgoKc2NvcGVfbmFtZRgBIAEoBRISCgpmb3JtdWxhX2lkGAIg",
          "ASgJEg0KBWNvdW50GAMgASgFIi0KClNjZFZlYzNJbnQSCQoBeBgBIAEoBRIJ",
          "CgF5GAIgASgFEgkKAXoYAyABKAUiTgoKU2NkUmVjdEludBIJCgF4GAEgASgF",
          "EgkKAXkYAiABKAUSCQoBehgDIAEoBRIJCgFsGAQgASgFEgkKAXcYBSABKAUS",
          "CQoBaBgGIAEoBSJOCg1TY2RGYWNTdWJQb3J0Eh0KCHBvc2l0aW9uGAEgASgL",
          "MgsuU2NkVmVjM0ludBIeCglkaXJlY3Rpb24YAiABKAsyCy5TY2RWZWMzSW50",
          "IjwKElNjZEZhY3RvcnlTeW5jSXRlbRIKCgJpZBgBIAEoCRINCgVjb3VudBgC",
          "IAEoBRILCgN0bXMYCyABKAMiXAoaU2NkRmFjRmx1aWRSZWFjdGlvbkZvcm11",
          "bGESEgoKZm9ybXVsYV9pZBgBIAEoCRIYChBjdXJyZW50X3Byb2dyZXNzGAIg",
          "ASgDEhAKCGluX2Jsb2NrGAMgASgIIm4KDlNjZEZhY3RvcnlIc0N0EhQKDGNv",
          "bXBvbmVudF9pZBgBIAEoDRIPCgdpdGVtX2luGAIgAygNEhAKCGl0ZW1fb3V0",
          "GAMgAygNEhAKCGluZGV4X2luGAQgAygFEhEKCWluZGV4X291dBgFIAMoBSKD",
          "CAoOU2NkRmFjdG9yeUhzRmISFAoMY29tcG9uZW50X2lkGAEgASgNEiUKBWNh",
          "Y2hlGAIgASgLMhQuU2NkRmFjdG9yeUhzRmJDYWNoZUgAEisKCHByb2R1Y2Vy",
          "GAMgASgLMhcuU2NkRmFjdG9yeUhzRmJQcm9kdWNlckgAEi0KCWNvbGxlY3Rv",
          "chgEIAEoCzIYLlNjZEZhY3RvcnlIc0ZiQ29sbGVjdG9ySAASLgoKYnVybl9w",
          "b3dlchgFIAEoCzIYLlNjZEZhY3RvcnlIc0ZiQnVyblBvd2VySAASOAoPY2Fj",
          "aGVfdHJhbnNwb3J0GAYgASgLMh0uU2NkRmFjdG9yeUhzRmJDYWNoZVRyYW5z",
          "cG9ydEgAEioKCGdyaWRfYm94GAcgASgLMhYuU2NkRmFjdG9yeUhzRmJHcmlk",
          "Qm94SAASMwoNYm94X3JvdXRlcl9tMRgIIAEoCzIaLlNjZEZhY3RvcnlIc0Zi",
          "Qm94Um91dGVyTTFIABIuCgpib3hfYnJpZGdlGAkgASgLMhguU2NkRmFjdG9y",
          "eUhzRmJCb3hCcmlkZ2VIABIyCgxmbHVpZF9icmlkZ2UYDCABKAsyGi5TY2RG",
          "YWN0b3J5SHNGYkZsdWlkQnJpZGdlSAASNwoPZmx1aWRfcm91dGVyX20xGA0g",
          "ASgLMhwuU2NkRmFjdG9yeUhzRmJGbHVpZFJvdXRlck0xSAASOAoPZmx1aWRf",
          "Y29udGFpbmVyGA4gASgLMh0uU2NkRmFjdG9yeUhzRmJGbHVpZENvbnRhaW5l",
          "ckgAEjMKDWZsdWlkX3B1bXBfaW4YDyABKAsyGi5TY2RGYWN0b3J5SHNGYkZs",
          "dWlkUHVtcEluSAASJwoGYmF0dGxlGBAgASgLMhUuU2NkRmFjdG9yeUhzRmJC",
          "YXR0bGVIABIyCgxiYXR0ZXJ5X2J1cm4YESABKAsyGi5TY2RGYWN0b3J5SHNG",
          "YkJhdHRlcnlCdXJuSAASMAoLZmx1aWRfc3ByYXkYEiABKAsyGS5TY2RGYWN0",
          "b3J5SHNGYkZsdWlkU3ByYXlIABI1Cg5mbHVpZF9wdW1wX291dBgTIAEoCzIb",
          "LlNjZEZhY3RvcnlIc0ZiRmx1aWRQdW1wT3V0SAASNAoNZmx1aWRfY29uc3Vt",
          "ZRgUIAEoCzIbLlNjZEZhY3RvcnlIc0ZiRmx1aWRDb25zdW1lSAASNgoOZmx1",
          "aWRfcmVhY3Rpb24YFSABKAsyHC5TY2RGYWN0b3J5SHNGYkZsdWlkUmVhY3Rp",
          "b25IABI4Cg93YXRlcl9jb2xsZWN0b3IYFiABKAsyHS5TY2RGYWN0b3J5SHNG",
          "YldhdGVyQ29sbGVjdG9ySABCEwoRY29tcG9uZW50X3BheWxvYWQiJAoTU2Nk",
          "RmFjdG9yeUhzRmJDYWNoZRINCgVpdGVtcxgBIAMoDSJkChZTY2RGYWN0b3J5",
          "SHNGYlByb2R1Y2VyEhwKFHByb2dyZXNzX2luY3JfcGVyX21zGAEgASgDEhIK",
          "CmZvcm11bGFfaWQYAiABKAkSGAoQY3VycmVudF9wcm9ncmVzcxgDIAEoAyJR",
          "ChdTY2RGYWN0b3J5SHNGYkNvbGxlY3RvchIcChRwcm9ncmVzc19pbmNyX3Bl",
          "cl9tcxgBIAEoAxIYChBjdXJyZW50X3Byb2dyZXNzGAIgASgDIlcKF1NjZEZh",
          "Y3RvcnlIc0ZiQnVyblBvd2VyEhwKFHByb2dyZXNzX2RlY3JfcGVyX21zGAEg",
          "ASgDEh4KFmN1cnJlbnRfbGVhc3RfcHJvZ3Jlc3MYAiABKAMiVgocU2NkRmFj",
          "dG9yeUhzRmJDYWNoZVRyYW5zcG9ydBIcChRwcm9ncmVzc19pbmNyX3Blcl9t",
          "cxgBIAEoAxIYChBjdXJyZW50X3Byb2dyZXNzGAIgASgDIiYKFVNjZEZhY3Rv",
          "cnlIc0ZiR3JpZEJveBINCgVpdGVtcxgBIAMoDSIqChlTY2RGYWN0b3J5SHNG",
          "YkJveFJvdXRlck0xEg0KBWl0ZW1zGAEgAygNIigKF1NjZEZhY3RvcnlIc0Zi",
          "Qm94QnJpZGdlEg0KBWl0ZW1zGAEgAygNIioKGVNjZEZhY3RvcnlIc0ZiRmx1",
          "aWRCcmlkZ2USDQoFaXRlbXMYASADKA0iLAobU2NkRmFjdG9yeUhzRmJGbHVp",
          "ZFJvdXRlck0xEg0KBWl0ZW1zGAEgAygNIj8KHFNjZEZhY3RvcnlIc0ZiRmx1",
          "aWRDb250YWluZXISDQoFaXRlbXMYASADKA0SEAoIaW5maW5pdGUYAiABKAgi",
          "UwoZU2NkRmFjdG9yeUhzRmJGbHVpZFB1bXBJbhIcChRwcm9ncmVzc19pbmNy",
          "X3Blcl9tcxgBIAEoAxIYChBjdXJyZW50X3Byb2dyZXNzGAIgASgDIloKFFNj",
          "ZEZhY3RvcnlIc0ZiQmF0dGxlEhYKDmVuZXJneV9jdXJyZW50GAEgASgFEhIK",
          "CmVuZXJneV9tYXgYAiABKAUSFgoOaW5fb3ZlcmxvYWRpbmcYAyABKAgiSgoZ",
          "U2NkRmFjdG9yeUhzRmJCYXR0ZXJ5QnVybhIVCg1lbmVyZ3lfbG9hZGVkGAEg",
          "ASgFEhYKDmVuZXJneV9jdXJyZW50GAIgASgFInIKGFNjZEZhY3RvcnlIc0Zi",
          "Rmx1aWRTcHJheRIcChRwcm9ncmVzc19pbmNyX3Blcl9tcxgBIAEoAxIYChBj",
          "dXJyZW50X3Byb2dyZXNzGAIgASgDEh4KFmxhc3Rfcm91bmRfc3ByYXlfY291",
          "bnQYAyABKAUicwoaU2NkRmFjdG9yeUhzRmJGbHVpZFB1bXBPdXQSHAoUcHJv",
          "Z3Jlc3NfaW5jcl9wZXJfbXMYASABKAMSGAoQY3VycmVudF9wcm9ncmVzcxgC",
          "IAEoAxIdChVsYXN0X3JvdW5kX3B1bXBfY291bnQYAyABKAUiVAoaU2NkRmFj",
          "dG9yeUhzRmJGbHVpZENvbnN1bWUSHAoUcHJvZ3Jlc3NfaW5jcl9wZXJfbXMY",
          "ASABKAMSGAoQY3VycmVudF9wcm9ncmVzcxgCIAEoAyJqChtTY2RGYWN0b3J5",
          "SHNGYkZsdWlkUmVhY3Rpb24SLQoIZm9ybXVsYXMYASADKAsyGy5TY2RGYWNG",
          "bHVpZFJlYWN0aW9uRm9ybXVsYRIcChRwcm9ncmVzc19pbmNyX3Blcl9tcxgC",
          "IAEoAyJWChxTY2RGYWN0b3J5SHNGYldhdGVyQ29sbGVjdG9yEhwKFHByb2dy",
          "ZXNzX2luY3JfcGVyX21zGAEgASgDEhgKEGN1cnJlbnRfcHJvZ3Jlc3MYAiAB",
          "KAMiVwoOU2NkRmFjdG9yeUhzQ2USMAoKZXZlbnRfdHlwZRgBIAEoDjIcLlND",
          "RF9GQUNUT1JZX0hTX0NFX0V2ZW50VHlwZRITCgtldmVudF9wYXJhbRgCIAMo",
          "DSI1Cg5TY2RGYWN0b3J5SHNCYhIjCgVwb3dlchgBIAEoCzIULlNjZEZhY3Rv",
          "cnlIc0JiUG93ZXIilwEKE1NjZEZhY3RvcnlIc0JiUG93ZXISGAoQaXNfc3Rv",
          "cF9ieV9wb3dlchgBIAEoCBIWCg5wb3dlcl9jb3N0X3N1bRgCIAEoAxIWCg5w",
          "b3dlcl9zYXZlX21heBgDIAEoAxIaChJwb3dlcl9zYXZlX2N1cnJlbnQYBCAB",
          "KAMSGgoScG93ZXJfZ2VuX2xhc3Rfc2VjGAUgASgDIukLCglTY2RGYWNDb20S",
          "FAoMY29tcG9uZW50X2lkGAEgASgNEhYKDmNvbXBvbmVudF90eXBlGAIgASgF",
          "Ei0KDHBvcnRfbWFuYWdlchgJIAEoCzIVLlNjZEZhY0NvbVBvcnRNYW5hZ2Vy",
          "SAASKAoJaW52ZW50b3J5GAogASgLMhMuU2NkRmFjQ29tSW52ZW50b3J5SAAS",
          "IAoFY2FjaGUYCyABKAsyDy5TY2RGYWNDb21DYWNoZUgAEiYKCHNlbGVjdG9y",
          "GAwgASgLMhIuU2NkRmFjQ29tU2VsZWN0b3JIABIoCgljb2xsZWN0b3IYDSAB",
          "KAsyEy5TY2RGYWNDb21Db2xsZWN0b3JIABImCghwcm9kdWNlchgOIAEoCzIS",
          "LlNjZEZhY0NvbVByb2R1Y2VySAASLQoMYm94X2NvbnZleW9yGA8gASgLMhUu",
          "U2NkRmFjQ29tQm94Q29udmV5b3JIABIuCg1ib3hfcm91dGVyX20xGBAgASgL",
          "MhUuU2NkRmFjQ29tQm94Um91dGVyTTFIABIpCgpidXJuX3Bvd2VyGBEgASgL",
          "MhMuU2NkRmFjQ29tQnVyblBvd2VySAASMwoPY2FjaGVfdHJhbnNwb3J0GBIg",
          "ASgLMhguU2NkRmFjQ29tQ2FjaGVUcmFuc3BvcnRIABItCgxzdGFibGVfcG93",
          "ZXIYEyABKAsyFS5TY2RGYWNDb21TdGFibGVQb3dlckgAEikKCnBvd2VyX3Bv",
          "bGUYFCABKAsyEy5TY2RGYWNDb21Qb3dlclBvbGVIABIpCgpwb3dlcl9zYXZl",
          "GBYgASgLMhMuU2NkRmFjQ29tUG93ZXJTYXZlSAASKQoKYnVzX2xvYWRlchgX",
          "IAEoCzITLlNjZEZhY0NvbUJ1c0xvYWRlckgAEisKC3RyYXZlbF9wb2xlGBgg",
          "ASgLMhQuU2NkRmFjQ29tVHJhdmVsUG9sZUgAEiUKCGdyaWRfYm94GBkgASgL",
          "MhEuU2NkRmFjQ29tR3JpZEJveEgAEikKCmJveF9icmlkZ2UYGiABKAsyEy5T",
          "Y2RGYWNDb21Cb3hCcmlkZ2VIABIiCgZiYXR0bGUYGyABKAsyEC5TY2RGYWND",
          "b21CYXR0bGVIABIxCg5mbHVpZF9jb252ZXlvchgcIAEoCzIXLlNjZEZhY0Nv",
          "bUZsdWlkQ29udmV5b3JIABItCgxmbHVpZF9icmlkZ2UYHSABKAsyFS5TY2RG",
          "YWNDb21GbHVpZEJyaWRnZUgAEjIKD2ZsdWlkX3JvdXRlcl9tMRgeIAEoCzIX",
          "LlNjZEZhY0NvbUZsdWlkUm91dGVyTTFIABIrCgtmb3JtdWxhX21hbhgfIAEo",
          "CzIULlNjZEZhY0NvbUZvcm11bGFNYW5IABIzCg9mbHVpZF9jb250YWluZXIY",
          "ICABKAsyGC5TY2RGYWNDb21GbHVpZENvbnRhaW5lckgAEi4KDWZsdWlkX3B1",
          "bXBfaW4YISABKAsyFS5TY2RGYWNDb21GbHVpZFB1bXBJbkgAEi0KDGJhdHRl",
          "cnlfYnVybhgiIAEoCzIVLlNjZEZhY0NvbUJhdHRlcnlCdXJuSAASIwoHc3Vi",
          "X2h1YhgjIAEoCzIQLlNjZEZhY0NvbVN1Ykh1YkgAEjMKD3dhdGVyX2NvbGxl",
          "Y3RvchgkIAEoCzIYLlNjZEZhY0NvbVdhdGVyQ29sbGVjdG9ySAASHgoEc29p",
          "bBglIAEoCzIOLlNjZEZhY0NvbVNvaWxIABIrCgtmbHVpZF9zcHJheRgmIAEo",
          "CzIULlNjZEZhY0NvbUZsdWlkU3ByYXlIABIwCg5mbHVpZF9wdW1wX291dBgn",
          "IAEoCzIWLlNjZEZhY0NvbUZsdWlkUHVtcE91dEgAEi8KDWZsdWlkX2NvbnN1",
          "bWUYKCABKAsyFi5TY2RGYWNDb21GbHVpZENvbnN1bWVIABIxCg5mbHVpZF9y",
          "ZWFjdGlvbhgpIAEoCzIXLlNjZEZhY0NvbUZsdWlkUmVhY3Rpb25IAEITChFj",
          "b21wb25lbnRfcGF5bG9hZCI4ChRTY2RGYWNDb21Qb3J0TWFuYWdlchIgCgVw",
          "b3J0cxgBIAMoCzIRLlNjZEZhY0NvbVN1YlBvcnQiXwoQU2NkRmFjQ29tU3Vi",
          "UG9ydBINCgVpbmRleBgBIAEoBRIUCgxvd25lcl9jb21faWQYAiABKA0SFAoM",
          "dG91Y2hfY29tX2lkGAMgASgNEhAKCGluX2Jsb2NrGAQgASgIInEKElNjZEZh",
          "Y0NvbUludmVudG9yeRItCgVpdGVtcxgBIAMoCzIeLlNjZEZhY0NvbUludmVu",
          "dG9yeS5JdGVtc0VudHJ5GiwKCkl0ZW1zRW50cnkSCwoDa2V5GAEgASgNEg0K",
          "BXZhbHVlGAIgASgFOgI4ASJCCg5TY2RGYWNDb21DYWNoZRIiCgVpdGVtcxgB",
          "IAMoCzITLlNjZEZhY3RvcnlTeW5jSXRlbRIMCgRzaXplGAIgASgFIi0KEVNj",
          "ZEZhY0NvbVNlbGVjdG9yEhgKEHNlbGVjdGVkX2l0ZW1faWQYASABKAkiagoS",
          "U2NkRmFjQ29tQ29sbGVjdG9yEigKC2l0ZW1zX3JvdW5kGAEgAygLMhMuU2Nk",
          "RmFjdG9yeVN5bmNJdGVtEhgKEGN1cnJlbnRfcHJvZ3Jlc3MYAiABKAMSEAoI",
          "aW5fYmxvY2sYBCABKAgigAEKEVNjZEZhY0NvbVByb2R1Y2VyEhIKCmZvcm11",
          "bGFfaWQYASABKAkSGAoQY3VycmVudF9wcm9ncmVzcxgCIAEoAxIQCghpbl9i",
          "bG9jaxgEIAEoCBISCgppbl9wcm9kdWNlGAUgASgIEhcKD2xhc3RfZm9ybXVs",
          "YV9pZBgLIAEoCSJQChRTY2RGYWNDb21Cb3hDb252ZXlvchIUCgxsYXN0X3Bv",
          "cF90bXMYASABKAMSIgoFaXRlbXMYAiADKAsyEy5TY2RGYWN0b3J5U3luY0l0",
          "ZW0iTAoUU2NkRmFjQ29tQm94Um91dGVyTTESJgoJaG9sZF9pdGVtGAEgASgL",
          "MhMuU2NkRmFjdG9yeVN5bmNJdGVtEgwKBG1faW4YAiABKAgibQoSU2NkRmFj",
          "Q29tQnVyblBvd2VyEh4KFmN1cnJlbnRfbGVhc3RfcHJvZ3Jlc3MYASABKAMS",
          "HAoUY3VycmVudF9idXJuX2l0ZW1faWQYAiABKAkSGQoRcG93ZXJfZ2VuX3Bl",
          "cl9zZWMYAyABKAMicwoXU2NkRmFjQ29tQ2FjaGVUcmFuc3BvcnQSGAoQY3Vy",
          "cmVudF9wcm9ncmVzcxgBIAEoAxIWCg50b3RhbF9wcm9ncmVzcxgCIAEoAxIW",
          "Cg5hdXRvX3RyYW5zcG9ydBgDIAEoCBIOCgZpbl91c2UYBSABKAgiMQoUU2Nk",
          "RmFjQ29tU3RhYmxlUG93ZXISGQoRcG93ZXJfZ2VuX3Blcl9zZWMYAyABKAMi",
          "FAoSU2NkRmFjQ29tUG93ZXJQb2xlIigKElNjZEZhY0NvbVBvd2VyU2F2ZRIS",
          "Cgpwb3dlcl9zYXZlGAEgASgDIjAKElNjZEZhY0NvbUJ1c0xvYWRlchIaChJs",
          "YXN0X3B1dGluX2l0ZW1faWQYASABKAkiKwoTU2NkRmFjQ29tVHJhdmVsUG9s",
          "ZRIUCgxkZWZhdWx0X25leHQYCyABKA0iNgoQU2NkRmFjQ29tR3JpZEJveBIi",
          "CgVpdGVtcxgBIAMoCzITLlNjZEZhY3RvcnlTeW5jSXRlbSI8ChJTY2RGYWND",
          "b21Cb3hCcmlkZ2USJgoJaG9sZF9pdGVtGAEgASgLMhMuU2NkRmFjdG9yeVN5",
          "bmNJdGVtIlUKD1NjZEZhY0NvbUJhdHRsZRIWCg5lbmVyZ3lfY3VycmVudBgB",
          "IAEoBRISCgplbmVyZ3lfbWF4GAIgASgFEhYKDmluX292ZXJsb2FkaW5nGAMg",
          "ASgIIlUKFlNjZEZhY0NvbUZsdWlkQ29udmV5b3ISDwoHaXRlbV9pZBgBIAEo",
          "CRIUCgxmbHVpZF9oZWlnaHQYAiABKAUSFAoMYm94X3Rtc19saXN0GAMgAygD",
          "Ij4KFFNjZEZhY0NvbUZsdWlkQnJpZGdlEiYKCWhvbGRfaXRlbRgBIAEoCzIT",
          "LlNjZEZhY3RvcnlTeW5jSXRlbSJOChZTY2RGYWNDb21GbHVpZFJvdXRlck0x",
          "EiYKCWhvbGRfaXRlbRgBIAEoCzITLlNjZEZhY3RvcnlTeW5jSXRlbRIMCgRt",
          "X2luGAIgASgIInIKE1NjZEZhY0NvbUZvcm11bGFNYW4SEwoLZm9ybXVsYV9p",
          "ZHMYASADKAkSGQoRbG9ja2VkX2Zvcm11bGFfaWQYAiABKAkSFAoMY3VycmVu",
          "dF9tb2RlGAsgASgJEhUKDWN1cnJlbnRfZ3JvdXAYDCABKAkiUwoXU2NkRmFj",
          "Q29tRmx1aWRDb250YWluZXISJgoJaG9sZF9pdGVtGAEgASgLMhMuU2NkRmFj",
          "dG9yeVN5bmNJdGVtEhAKCGluZmluaXRlGAIgASgIIpgBChRTY2RGYWNDb21G",
          "bHVpZFB1bXBJbhInCgppdGVtX3JvdW5kGAEgASgLMhMuU2NkRmFjdG9yeVN5",
          "bmNJdGVtEhgKEGN1cnJlbnRfcHJvZ3Jlc3MYAiABKAMSFwoPc291cmNlX2lu",
          "c3Rfa2V5GAMgASgJEhAKCGluX2Jsb2NrGAQgASgIEhIKCmluX3Byb2R1Y2UY",
          "BSABKAgiRQoUU2NkRmFjQ29tQmF0dGVyeUJ1cm4SFQoNZW5lcmd5X2xvYWRl",
          "ZBgBIAEoBRIWCg5lbmVyZ3lfY3VycmVudBgCIAEoBSIgCg9TY2RGYWNDb21T",
          "dWJIdWISDQoFbGV2ZWwYASABKAUigwEKF1NjZEZhY0NvbVdhdGVyQ29sbGVj",
          "dG9yEigKC2l0ZW1zX3JvdW5kGAEgAygLMhMuU2NkRmFjdG9yeVN5bmNJdGVt",
          "EhgKEGN1cnJlbnRfcHJvZ3Jlc3MYAiABKAMSEAoIaW5fYmxvY2sYBCABKAgS",
          "EgoKaW5fcHJvZHVjZRgFIAEoCCJMCg1TY2RGYWNDb21Tb2lsEhMKC3N0ZXBf",
          "Y3Vyc29yGAEgASgFEhEKCXdhdGVyX2dvdBgCIAEoBRITCgtpbl9ncm93X3Rt",
          "cxgDIAEoAyJ1ChNTY2RGYWNDb21GbHVpZFNwcmF5EhgKEGN1cnJlbnRfcHJv",
          "Z3Jlc3MYASABKAMSEgoKaW5fcHJvZHVjZRgCIAEoCBIeChZsYXN0X3JvdW5k",
          "X3NwcmF5X2NvdW50GAMgASgFEhAKCGluX2Jsb2NrGAsgASgIIoUBChVTY2RG",
          "YWNDb21GbHVpZFB1bXBPdXQSEwoLcm91bmRfY291bnQYASABKAUSGAoQY3Vy",
          "cmVudF9wcm9ncmVzcxgCIAEoAxIXCg90YXJnZXRfaW5zdF9rZXkYAyABKAkS",
          "EAoIaW5fYmxvY2sYBCABKAgSEgoKaW5fcHJvZHVjZRgFIAEoCCKEAQoVU2Nk",
          "RmFjQ29tRmx1aWRDb25zdW1lEhMKC3JvdW5kX2NvdW50GAEgASgFEhgKEGN1",
          "cnJlbnRfcHJvZ3Jlc3MYAiABKAMSEAoIaW5fYmxvY2sYAyABKAgSEgoKaW5f",
          "cHJvZHVjZRgEIAEoCBIWCg5sYXRlc3RfaXRlbV9pZBgFIAEoCSJtChZTY2RG",
          "YWNDb21GbHVpZFJlYWN0aW9uEi0KCGZvcm11bGFzGAEgAygLMhsuU2NkRmFj",
          "Rmx1aWRSZWFjdGlvbkZvcm11bGESEAoIaW5fYmxvY2sYAiABKAgSEgoKaW5f",
          "cHJvZHVjZRgDIAEoCCLGAwoKU2NkRmFjTm9kZRIPCgdub2RlX2lkGAEgASgN",
          "EhEKCW5vZGVfdHlwZRgCIAEoBRITCgt0ZW1wbGF0ZV9pZBgDIAEoCRIjCgl0",
          "cmFuc2Zvcm0YBCABKAsyEC5TY2RGYWNUcmFuc2Zvcm0SEwoLaXNfZGVhY3Rp",
          "dmUYBSABKAgSNAoSaW50ZXJhY3RpdmVfb2JqZWN0GAYgASgLMhguU2NkRmFj",
          "SW50ZXJhY3RpdmVPYmplY3QSMAoQZHluYW1pY19wcm9wZXJ0eRgHIAEoCzIW",
          "LlNjZEZhY0R5bmFtaWNQcm9wZXJ0eRIfCgVwb3dlchgIIAEoCzIQLlNjZEZh",
          "Y05vZGVQb3dlchIQCghpbnN0X2tleRgJIAEoCRIMCgRmbGFnGAogASgNEjQK",
          "DWNvbXBvbmVudF9wb3MYCyADKAsyHS5TY2RGYWNOb2RlLkNvbXBvbmVudFBv",
          "c0VudHJ5Eh4KCmNvbXBvbmVudHMYDCADKAsyCi5TY2RGYWNDb20SEQoJc3Rh",
          "YmxlX2lkGA0gASgEGjMKEUNvbXBvbmVudFBvc0VudHJ5EgsKA2tleRgBIAEo",
          "BRINCgV2YWx1ZRgCIAEoDToCOAEihgIKD1NjZEZhY1RyYW5zZm9ybRIdCghw",
          "b3NpdGlvbhgBIAEoCzILLlNjZFZlYzNJbnQSHgoJZGlyZWN0aW9uGAIgASgL",
          "MgsuU2NkVmVjM0ludBIZCgRtZXNoGAMgASgLMgsuU2NkRmFjTWVzaBIOCgZt",
          "YXBfaWQYBCABKAUSHwoOd29ybGRfcG9zaXRpb24YCSABKAsyBy5WZWN0b3IS",
          "HwoOd29ybGRfcm90YXRpb24YCiABKAsyBy5WZWN0b3ISIgoKYmNfcG9ydF9p",
          "bhgLIAEoCzIOLlNjZEZhY1N1YlBvcnQSIwoLYmNfcG9ydF9vdXQYDCABKAsy",
          "Di5TY2RGYWNTdWJQb3J0IjwKClNjZEZhY01lc2gSEQoJbWVzaF90eXBlGAEg",
          "ASgFEhsKBnBvaW50cxgCIAMoCzILLlNjZFZlYzNJbnQiLAoXU2NkRmFjSW50",
          "ZXJhY3RpdmVPYmplY3QSEQoJb2JqZWN0X2lkGAEgASgEIpcBChVTY2RGYWNE",
          "eW5hbWljUHJvcGVydHkSMgoGdmFsdWVzGAEgAygLMiIuU2NkRmFjRHluYW1p",
          "Y1Byb3BlcnR5LlZhbHVlc0VudHJ5GkoKC1ZhbHVlc0VudHJ5EgsKA2tleRgB",
          "IAEoBRIqCgV2YWx1ZRgCIAEoCzIbLlNjZEZhY0R5bmFtaWNQcm9wZXJ0eVZh",
          "bHVlOgI4ASKWAQoaU2NkRmFjRHluYW1pY1Byb3BlcnR5VmFsdWUSFAoKYm9v",
          "bF92YWx1ZRgBIAEoCEgAEhMKCWludF92YWx1ZRgCIAEoA0gAEhQKCnVpbnRf",
          "dmFsdWUYAyABKARIABIWCgxkb3VibGVfdmFsdWUYBCABKAFIABIWCgxzdHJp",
          "bmdfdmFsdWUYBSABKAlIAEIHCgV2YWx1ZSJnCg9TY2RGYWNOb2RlUG93ZXIS",
          "EAoIaW5fcG93ZXIYASABKAgSEgoKcG93ZXJfY29zdBgCIAEoAxIVCg1uZWVk",
          "X2luX3Bvd2VyGAsgASgIEhcKD3Bvd2VyX2Nvc3Rfc2hvdxgMIAEoAyLDAgoT",
          "U2NkRmFjdG9yeVN5bmNTY2VuZRIQCghzY2VuZV9pZBgBIAEoBRIwCgliYW5k",
          "d2lkdGgYBSABKAsyHS5TY2RGYWN0b3J5U3luY1NjZW5lQmFuZHdpZHRoEikK",
          "BnBhbmVscxgGIAMoCzIZLlNjZEZhY3RvcnlTeW5jU2NlbmVQYW5lbBIuCgtz",
          "b2lsX3BhbmVscxgHIAMoCzIZLlNjZEZhY3RvcnlTeW5jU2NlbmVQYW5lbBI6",
          "CgtzZXR0bGVtZW50cxgKIAMoCzIlLlNjZEZhY3RvcnlTeW5jU2NlbmUuU2V0",
          "dGxlbWVudHNFbnRyeRpRChBTZXR0bGVtZW50c0VudHJ5EgsKA2tleRgBIAEo",
          "CRIsCgV2YWx1ZRgCIAEoCzIdLlNjZEZhY3RvcnlTeW5jU2NlbmVCYW5kd2lk",
          "dGg6AjgBIsIBChxTY2RGYWN0b3J5U3luY1NjZW5lQmFuZHdpZHRoEg8KB2N1",
          "cnJlbnQYASABKAUSCwoDbWF4GAIgASgFEhsKE3RyYXZlbF9wb2xlX2N1cnJl",
          "bnQYAyABKAUSFwoPdHJhdmVsX3BvbGVfbWF4GAQgASgFEhYKDmJhdHRsZV9j",
          "dXJyZW50GAUgASgFEhIKCmJhdHRsZV9tYXgYBiABKAUSEgoKc3BfY3VycmVu",
          "dBgLIAEoBRIOCgZzcF9tYXgYDCABKAUiWAoYU2NkRmFjdG9yeVN5bmNTY2Vu",
          "ZVBhbmVsEg0KBWluZGV4GAEgASgFEg0KBWxldmVsGAIgASgFEh4KCW1haW5f",
          "bWVzaBgDIAMoCzILLlNjZFJlY3RJbnQiSgoRU2NkRmFjdG9yeVN5bmNNYXAS",
          "DgoGbWFwX2lkGAEgASgFEiUKBXdpcmVzGAIgAygLMhYuU2NkRmFjdG9yeVN5",
          "bmNNYXBXaXJlIk4KFVNjZEZhY3RvcnlTeW5jTWFwV2lyZRINCgVpbmRleBgB",
          "IAEoBBITCgtmcm9tX2NvbV9pZBgCIAEoBBIRCgl0b19jb21faWQYAyABKAQi",
          "ZAoYU2NkRmFjdG9yeVN5bmNCbGFja2JvYXJkEhkKEWludmVudG9yeV9ub2Rl",
          "X2lkGAEgASgNEi0KBXBvd2VyGAsgASgLMh4uU2NkRmFjdG9yeVN5bmNCbGFj",
          "a2JvYXJkUG93ZXIilAEKHVNjZEZhY3RvcnlTeW5jQmxhY2tib2FyZFBvd2Vy",
          "EhIKCnBvd2VyX2Nvc3QYASABKAMSEQoJcG93ZXJfZ2VuGAIgASgDEhYKDnBv",
          "d2VyX3NhdmVfbWF4GAMgASgDEhoKEnBvd2VyX3NhdmVfY3VycmVudBgEIAEo",
          "AxIYChBpc19zdG9wX2J5X3Bvd2VyGAUgASgIIkoKGlNjZEZhY3RvcnlTdGF0",
          "aXN0aWNMYXN0ZGF5EiwKBGRheXMYASADKAsyHi5TY2RGYWN0b3J5U3RhdGlz",
          "dGljTGFzdGRheURheSK5AQodU2NkRmFjdG9yeVN0YXRpc3RpY0xhc3RkYXlE",
          "YXkSDgoGZGF5X3RzGAEgASgDEk8KEWZyb21fcHJvZHVjdGl2aXR5GAIgAygL",
          "MjQuU2NkRmFjdG9yeVN0YXRpc3RpY0xhc3RkYXlEYXkuRnJvbVByb2R1Y3Rp",
          "dml0eUVudHJ5GjcKFUZyb21Qcm9kdWN0aXZpdHlFbnRyeRILCgNrZXkYASAB",
          "KAkSDQoFdmFsdWUYAiABKAM6AjgBIm8KGFNjZEZhY3RvcnlTdGF0aXN0aWNP",
          "dGhlchIcChRwb3dlcl9uZXRfbGVuZ3RoX3N1bRgBIAEoBRIZChFpbl9wb3dl",
          "cl9idWlsZGluZxgCIAEoBRIaChJwb3dlcl9uZXRfY292ZXJhZ2UYAyABKAIi",
          "UgoZU2NkRmFjdG9yeVN0YXRpc3RpY1JlY29yZBIMCgRyYW5rGAEgASgFEhIK",
          "CnBvaW50c19nZW4YAiADKAMSEwoLcG9pbnRzX2Nvc3QYAyADKAMiOwoWU2Nk",
          "RmFjdG9yeVN5bmNQaW5Cb2FyZBIhCgVjYXJkcxgBIAMoCzISLlNjZEZhY3Rv",
          "cnlQaW5DYXJkIkAKEVNjZEZhY3RvcnlQaW5DYXJkEgsKA3BvcxgBIAEoBRIO",
          "CgZzdHJfaWQYAiABKAkSDgoGbnVtX2lkGAMgASgEIqMCChRTY0ZhY3RvcnlT",
          "eW5jQ2hhcHRlchILCgN0bXMYASABKAMSEgoKY2hhcHRlcl9pZBgCIAEoCRIa",
          "CgVub2RlcxgDIAMoCzILLlNjZEZhY05vZGUSJAoGc2NlbmVzGAQgAygLMhQu",
          "U2NkRmFjdG9yeVN5bmNTY2VuZRItCgpibGFja2JvYXJkGAUgASgLMhkuU2Nk",
          "RmFjdG9yeVN5bmNCbGFja2JvYXJkEioKCXBpbl9ib2FyZBgGIAEoCzIXLlNj",
          "ZEZhY3RvcnlTeW5jUGluQm9hcmQSIAoEbWFwcxgHIAMoCzISLlNjZEZhY3Rv",
          "cnlTeW5jTWFwEisKCXN0YXRpc3RpYxgJIAEoCzIYLlNjZEZhY3RvcnlTeW5j",
          "U3RhdGlzdGljInIKF1NjZEZhY3RvcnlTeW5jU3RhdGlzdGljEigKBW90aGVy",
          "GAMgASgLMhkuU2NkRmFjdG9yeVN0YXRpc3RpY090aGVyEi0KCGxhc3RfZGF5",
          "GAQgASgLMhsuU2NkRmFjdG9yeVN0YXRpc3RpY0xhc3RkYXkicAobU2NGYWN0",
          "b3J5TW9kaWZ5Q2hhcHRlck5vZGVzEgsKA3RtcxgBIAEoAxISCgpjaGFwdGVy",
          "X2lkGAIgASgJEhoKBW5vZGVzGAMgAygLMgsuU2NkRmFjTm9kZRIUCgxyZW1v",
          "dmVfbm9kZXMYBCADKA0iYwogU2NGYWN0b3J5TW9kaWZ5Q2hhcHRlckNvbXBv",
          "bmVudHMSCwoDdG1zGAEgASgDEhIKCmNoYXB0ZXJfaWQYAiABKAkSHgoKY29t",
          "cG9uZW50cxgDIAMoCzIKLlNjZEZhY0NvbSKJAQoZU2NGYWN0b3J5TW9kaWZ5",
          "Q2hhcHRlck1hcBILCgN0bXMYASABKAMSEgoKY2hhcHRlcl9pZBgCIAEoCRIO",
          "CgZtYXBfaWQYAyABKAUSJQoFd2lyZXMYCyADKAsyFi5TY2RGYWN0b3J5U3lu",
          "Y01hcFdpcmUSFAoMcmVtb3ZlX3dpcmVzGAwgAygEIvQCChtTY0ZhY3RvcnlN",
          "b2RpZnlDaGFwdGVyU2NlbmUSCwoDdG1zGAEgASgDEhIKCmNoYXB0ZXJfaWQY",
          "AiABKAkSEAoIc2NlbmVfaWQYAyABKAUSMAoJYmFuZHdpZHRoGA0gASgLMh0u",
          "U2NkRmFjdG9yeVN5bmNTY2VuZUJhbmR3aWR0aBIpCgZwYW5lbHMYDiADKAsy",
          "GS5TY2RGYWN0b3J5U3luY1NjZW5lUGFuZWwSLgoLc29pbF9wYW5lbHMYDyAD",
          "KAsyGS5TY2RGYWN0b3J5U3luY1NjZW5lUGFuZWwSQgoLc2V0dGxlbWVudHMY",
          "FCADKAsyLS5TY0ZhY3RvcnlNb2RpZnlDaGFwdGVyU2NlbmUuU2V0dGxlbWVu",
          "dHNFbnRyeRpRChBTZXR0bGVtZW50c0VudHJ5EgsKA2tleRgBIAEoCRIsCgV2",
          "YWx1ZRgCIAEoCzIdLlNjZEZhY3RvcnlTeW5jU2NlbmVCYW5kd2lkdGg6AjgB",
          "InIKIFNjRmFjdG9yeU1vZGlmeUNoYXB0ZXJCbGFja2JvYXJkEgsKA3RtcxgB",
          "IAEoAxISCgpjaGFwdGVyX2lkGAIgASgJEi0KCmJsYWNrYm9hcmQYAyABKAsy",
          "GS5TY2RGYWN0b3J5U3luY0JsYWNrYm9hcmQifAoeU2NGYWN0b3J5TW9kaWZ5",
          "Q2hhcHRlclBpbkJvYXJkEgsKA3RtcxgBIAEoAxISCgpjaGFwdGVyX2lkGAIg",
          "ASgJEiQKCG1vZGlmaWVkGAMgAygLMhIuU2NkRmFjdG9yeVBpbkNhcmQSEwoL",
          "cmVsZWFzZV9wb3MYBCADKAUiuQEKC1NjRmFjdG9yeUhzEgsKA3RtcxgBIAEo",
          "AxIgCgdjdF9saXN0GAIgAygLMg8uU2NkRmFjdG9yeUhzQ3QSIAoHZmJfbGlz",
          "dBgDIAMoCzIPLlNjZEZhY3RvcnlIc0ZiEiAKB2NlX2xpc3QYBCADKAsyDy5T",
          "Y2RGYWN0b3J5SHNDZRIjCgpibGFja2JvYXJkGAUgASgLMg8uU2NkRmFjdG9y",
          "eUhzQmISEgoKY2hhcHRlcl9pZBgLIAEoCSKgAQoPU2NGYWN0b3J5SHNTeW5j",
          "EgsKA3RtcxgBIAEoAxIbCgdjY19saXN0GAIgAygLMgouU2NkRmFjQ29tEiAK",
          "B2ZiX2xpc3QYAyADKAsyDy5TY2RGYWN0b3J5SHNGYhItCgpibGFja2JvYXJk",
          "GAQgASgLMhkuU2NkRmFjdG9yeVN5bmNCbGFja2JvYXJkEhIKCmNoYXB0ZXJf",
          "aWQYCyABKAkihwEKGFNjRmFjdG9yeU1vZGlmeVN0YXRpc3RpYxISCgpjaGFw",
          "dGVyX2lkGAEgASgJEigKBW90aGVyGAMgASgLMhkuU2NkRmFjdG9yeVN0YXRp",
          "c3RpY090aGVyEi0KCGxhc3RfZGF5GAQgASgLMhsuU2NkRmFjdG9yeVN0YXRp",
          "c3RpY0xhc3RkYXki7AEKGVNjRmFjdG9yeVN0YXRpc3RpY1JlcXVpcmUSDwoH",
          "Y2hhcHRlchgBIAEoCRIpCgVwb3dlchgCIAEoCzIaLlNjZEZhY3RvcnlTdGF0",
          "aXN0aWNSZWNvcmQSQgoMcHJvZHVjdGl2aXR5GAMgAygLMiwuU2NGYWN0b3J5",
          "U3RhdGlzdGljUmVxdWlyZS5Qcm9kdWN0aXZpdHlFbnRyeRpPChFQcm9kdWN0",
          "aXZpdHlFbnRyeRILCgNrZXkYASABKAkSKQoFdmFsdWUYAiABKAsyGi5TY2RG",
          "YWN0b3J5U3RhdGlzdGljUmVjb3JkOgI4ASJHCg1Dc0ZhY3RvcnlIc0ZiEhIK",
          "CmNoYXB0ZXJfaWQYASABKAkSFAoMbm9kZV9pZF9saXN0GBUgAygNEgwKBHVu",
          "ZG8YAyABKAgilwEKGUNzRmFjdG9yeVN0YXRpc3RpY1JlcXVpcmUSEgoKcmFu",
          "a19wb3dlchgBIAEoBRIZChFyYW5rX3Byb2R1Y3Rpdml0eRgCIAEoBRIdChVw",
          "cm9kdWN0aXZpdHlfaXRlbV9pZHMYAyADKAkSGAoQYWxsX3Byb2R1Y3Rpdml0",
          "eRgEIAEoCBISCgpjaGFwdGVyX2lkGAwgASgJImMKD0NzRmFjdG9yeVBpblNl",
          "dBISCgpzY29wZV9uYW1lGAEgASgFEgsKA3BvcxgDIAEoBRIOCgZzdHJfaWQY",
          "BCABKAkSDgoGbnVtX2lkGAUgASgEEg8KB3JlbGVhc2UYCyABKAgitwMKE0Nz",
          "RmFjdG9yeU9ic2VydmVyT3ASDQoFaW5kZXgYASABKAkSEgoKY2hhcHRlcl9p",
          "ZBgCIAEoCRIOCgZtYXBfaWQYAyABKAUSDwoHbm9kZV9pZBgEIAEoDRIWCg5u",
          "b2RlX3N0YWJsZV9pZBgFIAEoBBIUCgxjb21wb25lbnRfaWQYBiABKA0SDwoH",
          "b3BfdHlwZRgLIAEoCRJUChdjaGVja291dF9yZWxhdGlvbl9ib2FyZBgVIAEo",
          "CzIxLkNzZEZhY3RvcnlPYnNlcnZlclBheWxvYWRPcENoZWNrb3V0UmVsYXRp",
          "b25Cb2FyZEgAEl8KHWNoZWNrb3V0X3Bvd2VyX2Nvbm5lY3Rpb25fbWFwGBYg",
          "ASgLMjYuQ3NkRmFjdG9yeU9ic2VydmVyUGF5bG9hZE9wQ2hlY2tvdXRQb3dl",
          "ckNvbm5lY3Rpb25NYXBIABJYChljaGVja291dF9vdXRzaWRlX3Jlc291cmNl",
          "GBcgASgLMjMuQ3NkRmFjdG9yeU9ic2VydmVyUGF5bG9hZE9wQ2hlY2tvdXRP",
          "dXRzaWRlUmVzb3VyY2VIAEIMCgpvcF9wYXlsb2FkIjIKMENzZEZhY3RvcnlP",
          "YnNlcnZlclBheWxvYWRPcENoZWNrb3V0UmVsYXRpb25Cb2FyZCI3CjVDc2RG",
          "YWN0b3J5T2JzZXJ2ZXJQYXlsb2FkT3BDaGVja291dFBvd2VyQ29ubmVjdGlv",
          "bk1hcCI0CjJDc2RGYWN0b3J5T2JzZXJ2ZXJQYXlsb2FkT3BDaGVja291dE91",
          "dHNpZGVSZXNvdXJjZSKXAwoUU2NGYWN0b3J5T2JzZXJ2ZXJSZXQSEAoIb3Bf",
          "aW5kZXgYASABKAkSDwoHc3VjY2VzcxgCIAEoCBITCgtlcnJfbWVzc2FnZRgD",
          "IAEoCRISCgpjaGFwdGVyX2lkGAQgASgJEhAKCHJldF90eXBlGAsgASgJElUK",
          "F2NoZWNrb3V0X3JlbGF0aW9uX2JvYXJkGBUgASgLMjIuU2NkRmFjdG9yeU9i",
          "c2VydmVyUGF5bG9hZFJldENoZWNrb3V0UmVsYXRpb25Cb2FyZEgAEmAKHWNo",
          "ZWNrb3V0X3Bvd2VyX2Nvbm5lY3Rpb25fbWFwGBYgASgLMjcuU2NkRmFjdG9y",
          "eU9ic2VydmVyUGF5bG9hZFJldENoZWNrb3V0UG93ZXJDb25uZWN0aW9uTWFw",
          "SAASWQoZY2hlY2tvdXRfb3V0c2lkZV9yZXNvdXJjZRgXIAEoCzI0LlNjZEZh",
          "Y3RvcnlPYnNlcnZlclBheWxvYWRSZXRDaGVja291dE91dHNpZGVSZXNvdXJj",
          "ZUgAQg0KC3JldF9wYXlsb2FkIosBCjFTY2RGYWN0b3J5T2JzZXJ2ZXJQYXls",
          "b2FkUmV0Q2hlY2tvdXRSZWxhdGlvbkJvYXJkElYKDmNvbnZleW9yX2VsZW1z",
          "GAEgAygLMj4uU2NkRmFjdG9yeU9ic2VydmVyUGF5bG9hZFJldENoZWNrb3V0",
          "UmVsYXRpb25Cb2FyZENvbnZleW9yRWxlbSK4Ago9U2NkRmFjdG9yeU9ic2Vy",
          "dmVyUGF5bG9hZFJldENoZWNrb3V0UmVsYXRpb25Cb2FyZENvbnZleW9yRWxl",
          "bRIXCg9jb252ZXlvcl9jb21faWQYASABKA0SGAoQY29udmV5b3Jfbm9kZV9p",
          "ZBgCIAEoDRITCgtmcm9tX2NvbV9pZBgLIAEoDRIUCgxmcm9tX25vZGVfaWQY",
          "DCABKA0SGwoTZnJvbV9ub2RlX3N0YWJsZV9pZBgNIAEoBBIdChVmcm9tX25v",
          "ZGVfdGVtcGxhdGVfaWQYDiABKAkSEQoJdG9fY29tX2lkGBUgASgNEhIKCnRv",
          "X25vZGVfaWQYFiABKA0SGQoRdG9fbm9kZV9zdGFibGVfaWQYFyABKAQSGwoT",
          "dG9fbm9kZV90ZW1wbGF0ZV9pZBgYIAEoCSLlAQo2U2NkRmFjdG9yeU9ic2Vy",
          "dmVyUGF5bG9hZFJldENoZWNrb3V0UG93ZXJDb25uZWN0aW9uTWFwElYKC2Nv",
          "bm5lY3Rpb25zGAEgAygLMkEuU2NkRmFjdG9yeU9ic2VydmVyUGF5bG9hZFJl",
          "dENoZWNrb3V0UG93ZXJDb25uZWN0aW9uTWFwQ29ubmVjdGlvbhJTCgpub2Rl",
          "X2VsZW1zGAIgAygLMj8uU2NkRmFjdG9yeU9ic2VydmVyUGF5bG9hZFJldENo",
          "ZWNrb3V0UG93ZXJDb25uZWN0aW9uTWFwTm9kZUVsZW0ilwIKQFNjZEZhY3Rv",
          "cnlPYnNlcnZlclBheWxvYWRSZXRDaGVja291dFBvd2VyQ29ubmVjdGlvbk1h",
          "cENvbm5lY3Rpb24SDQoFaW5kZXgYASABKAQSEwoLZnJvbV9jb21faWQYCyAB",
          "KA0SFAoMZnJvbV9ub2RlX2lkGAwgASgNEhsKE2Zyb21fbm9kZV9zdGFibGVf",
          "aWQYDSABKAQSHQoVZnJvbV9ub2RlX3RlbXBsYXRlX2lkGA4gASgJEhEKCXRv",
          "X2NvbV9pZBgVIAEoDRISCgp0b19ub2RlX2lkGBYgASgNEhkKEXRvX25vZGVf",
          "c3RhYmxlX2lkGBcgASgEEhsKE3RvX25vZGVfdGVtcGxhdGVfaWQYGCABKAki",
          "ygEKPlNjZEZhY3RvcnlPYnNlcnZlclBheWxvYWRSZXRDaGVja291dFBvd2Vy",
          "Q29ubmVjdGlvbk1hcE5vZGVFbGVtEg8KB25vZGVfaWQYASABKA0SFgoObm9k",
          "ZV9zdGFibGVfaWQYAiABKAQSGAoQbm9kZV90ZW1wbGF0ZV9pZBgDIAEoCRIO",
          "CgZjb21faWQYBCABKA0SEAoIbG9naWNfaWQYByABKAQSEAoIZGlzdGFuY2UY",
          "CyABKAUSEQoJbmVpZ2hib3JzGAwgAygNIoIHCjNTY2RGYWN0b3J5T2JzZXJ2",
          "ZXJQYXlsb2FkUmV0Q2hlY2tvdXRPdXRzaWRlUmVzb3VyY2USYQoPcGxhY2Vf",
          "YmFuZHdpZHRoGAEgAygLMkguU2NkRmFjdG9yeU9ic2VydmVyUGF5bG9hZFJl",
          "dENoZWNrb3V0T3V0c2lkZVJlc291cmNlLlBsYWNlQmFuZHdpZHRoRW50cnkS",
          "aAoTcGxhY2VfYmFuZHdpZHRoX3VzZRgCIAMoCzJLLlNjZEZhY3RvcnlPYnNl",
          "cnZlclBheWxvYWRSZXRDaGVja291dE91dHNpZGVSZXNvdXJjZS5QbGFjZUJh",
          "bmR3aWR0aFVzZUVudHJ5El4KGXBsYWNlX2JhbmR3aWR0aF9ub2RlX3VzZXMY",
          "AyADKAsyOy5TY2RGYWN0b3J5T2JzZXJ2ZXJQYXlsb2FkUmV0Q2hlY2tvdXRP",
          "dXRzaWRlUmVzb3VyY2VOb2RlVXNlEmYKEnBsYWNlX2JhbmR3aWR0aF9zcBgL",
          "IAMoCzJKLlNjZEZhY3RvcnlPYnNlcnZlclBheWxvYWRSZXRDaGVja291dE91",
          "dHNpZGVSZXNvdXJjZS5QbGFjZUJhbmR3aWR0aFNwRW50cnkSbQoWcGxhY2Vf",
          "YmFuZHdpZHRoX3NwX3VzZRgMIAMoCzJNLlNjZEZhY3RvcnlPYnNlcnZlclBh",
          "eWxvYWRSZXRDaGVja291dE91dHNpZGVSZXNvdXJjZS5QbGFjZUJhbmR3aWR0",
          "aFNwVXNlRW50cnkSYQoccGxhY2VfYmFuZHdpZHRoX3NwX25vZGVfdXNlcxgN",
          "IAMoCzI7LlNjZEZhY3RvcnlPYnNlcnZlclBheWxvYWRSZXRDaGVja291dE91",
          "dHNpZGVSZXNvdXJjZU5vZGVVc2UaNQoTUGxhY2VCYW5kd2lkdGhFbnRyeRIL",
          "CgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAU6AjgBGjgKFlBsYWNlQmFuZHdp",
          "ZHRoVXNlRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgFOgI4ARo3",
          "ChVQbGFjZUJhbmR3aWR0aFNwRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVl",
          "GAIgASgFOgI4ARo6ChhQbGFjZUJhbmR3aWR0aFNwVXNlRW50cnkSCwoDa2V5",
          "GAEgASgJEg0KBXZhbHVlGAIgASgFOgI4ASJuCjpTY2RGYWN0b3J5T2JzZXJ2",
          "ZXJQYXlsb2FkUmV0Q2hlY2tvdXRPdXRzaWRlUmVzb3VyY2VOb2RlVXNlEg8K",
          "B25vZGVfaWQYASABKA0SEgoKc2NlbmVfbmFtZRgCIAEoCRILCgN1c2UYAyAB",
          "KAUikRMKC0NzRmFjdG9yeU9wEg0KBWluZGV4GAEgASgJEh8KB29wX3R5cGUY",
          "AiABKA4yDi5GYWN0b3J5T3BUeXBlEhIKCmNoYXB0ZXJfaWQYAyABKAkSIwoF",
          "cGxhY2UYCyABKAsyEi5Dc2RGYWN0b3J5T3BQbGFjZUgAEjQKDnBsYWNlX2Nv",
          "bnZleW9yGAwgASgLMhouQ3NkRmFjdG9yeU9wUGxhY2VDb252ZXlvckgAEisK",
          "CWRpc21hbnRsZRgNIAEoCzIWLkNzZEZhY3RvcnlPcERpc21hbnRsZUgAEjkK",
          "EXNldF9zZWxlY3RfdGFyZ2V0GA8gASgLMhwuQ3NkRmFjdG9yeU9wU2V0U2Vs",
          "ZWN0VGFyZ2V0SAASLgoLZW5hYmxlX25vZGUYECABKAsyFy5Dc2RGYWN0b3J5",
          "T3BFbmFibGVOb2RlSAASKgoJbW92ZV9ub2RlGBEgASgLMhUuQ3NkRmFjdG9y",
          "eU9wTW92ZU5vZGVIABJDChZkaXNtYW50bGVfYm94X2NvbnZleW9yGBIgASgL",
          "MiEuQ3NkRmFjdG9yeU9wRGlzbWFudGxlQm94Q29udmV5b3JIABIuCgtyZXBh",
          "aXJfbm9kZRgTIAEoCzIXLkNzZEZhY3RvcnlPcFJlcGFpck5vZGVIABJFChht",
          "b3ZlX2l0ZW1fY2FjaGVfdG9fY2FjaGUYFCABKAsyIS5Dc2RGYWN0b3J5T3BN",
          "b3ZlSXRlbUNhY2hlVG9DYWNoZUgAEkEKFm1vdmVfaXRlbV9iYWdfdG9fY2Fj",
          "aGUYFSABKAsyHy5Dc2RGYWN0b3J5T3BNb3ZlSXRlbUJhZ1RvQ2FjaGVIABJB",
          "ChZtb3ZlX2l0ZW1fY2FjaGVfdG9fYmFnGBYgASgLMh8uQ3NkRmFjdG9yeU9w",
          "TW92ZUl0ZW1DYWNoZVRvQmFnSAASRQoYbW92ZV9pdGVtX2RlcG90X3RvX2Nh",
          "Y2hlGBcgASgLMiEuQ3NkRmFjdG9yeU9wTW92ZUl0ZW1EZXBvdFRvQ2FjaGVI",
          "ABJFChhtb3ZlX2l0ZW1fY2FjaGVfdG9fZGVwb3QYGCABKAsyIS5Dc2RGYWN0",
          "b3J5T3BNb3ZlSXRlbUNhY2hlVG9EZXBvdEgAEkcKGW1vdmVfaXRlbV9jb252",
          "ZXlvcl90b19iYWcYGSABKAsyIi5Dc2RGYWN0b3J5T3BNb3ZlSXRlbUNvbnZl",
          "eW9yVG9CYWdIABJHChhjYWNoZV90cmFuc3BvcnRfdHJhbnNmZXIYGiABKAsy",
          "Iy5Dc2RGYWN0b3J5T3BDYWNoZVRyYW5zcG9ydFRyYW5zZmVySAASQwoWY2Fj",
          "aGVfdHJhbnNwb3J0X2VuYWJsZRgbIAEoCzIhLkNzZEZhY3RvcnlPcENhY2hl",
          "VHJhbnNwb3J0RW5hYmxlSAASTQocc2V0X3RyYXZlbF9wb2xlX2RlZmF1bHRf",
          "bmV4dBgcIAEoCzIlLkNzZEZhY3RvcnlPcFNldFRyYXZlbFBvbGVEZWZhdWx0",
          "TmV4dEgAEj4KFHVzZV9oZWFsX3Rvd2VyX3BvaW50GB0gASgLMh4uQ3NkRmFj",
          "dG9yeU9wVXNlSGVhbFRvd2VyUG9pbnRIABIyCg1iYXR0bGVfcmVwYWlyGB4g",
          "ASgLMhkuQ3NkRmFjdG9yeU9wQmF0dGxlUmVwYWlySAASNAoOYWRkX2Nvbm5l",
          "Y3Rpb24YHyABKAsyGi5Dc2RGYWN0b3J5T3BBZGRDb25uZWN0aW9uSAASNAoO",
          "ZGVsX2Nvbm5lY3Rpb24YICABKAsyGi5Dc2RGYWN0b3J5T3BEZWxDb25uZWN0",
          "aW9uSAASPAoTZ3JpZF9ib3hfaW5uZXJfbW92ZRgpIAEoCzIdLkNzZEZhY3Rv",
          "cnlPcEdyaWRCb3hJbm5lck1vdmVIABI+ChRncmlkX2JveF9pbm5lcl9zcGxp",
          "dBgqIAEoCzIeLkNzZEZhY3RvcnlPcEdyaWRCb3hJbm5lclNwbGl0SAASRgoZ",
          "bW92ZV9pdGVtX2JhZ190b19ncmlkX2JveBgrIAEoCzIhLkNzZEZhY3RvcnlP",
          "cE1vdmVJdGVtQmFnVG9HcmlkQm94SAASRgoZbW92ZV9pdGVtX2dyaWRfYm94",
          "X3RvX2JhZxgsIAEoCzIhLkNzZEZhY3RvcnlPcE1vdmVJdGVtR3JpZEJveFRv",
          "QmFnSAASSgobbW92ZV9pdGVtX2RlcG90X3RvX2dyaWRfYm94GC0gASgLMiMu",
          "Q3NkRmFjdG9yeU9wTW92ZUl0ZW1EZXBvdFRvR3JpZEJveEgAEkoKG21vdmVf",
          "aXRlbV9ncmlkX2JveF90b19kZXBvdBguIAEoCzIjLkNzZEZhY3RvcnlPcE1v",
          "dmVJdGVtR3JpZEJveFRvRGVwb3RIABJPCh5tb3ZlX2FsbF9jYWNoZV9vdXRf",
          "aXRlbV90b19iYWcYLyABKAsyJS5Dc2RGYWN0b3J5T3BNb3ZlQWxsQ2FjaGVP",
          "dXRJdGVtVG9CYWdIABI5ChFxdWlja19wdXRfYmF0dGVyeRgwIAEoCzIcLkNz",
          "ZEZhY3RvcnlPcFF1aWNrUHV0QmF0dGVyeUgAEj8KFGNoYW5nZV9wcm9kdWNl",
          "cl9tb2RlGDMgASgLMh8uQ3NkRmFjdG9yeU9wQ2hhbmdlUHJvZHVjZXJNb2Rl",
          "SAASVgogcmV2ZXJzZV9mbHVpZF9jb252ZXlvcl9kaXJlY3Rpb24YNCABKAsy",
          "Ki5Dc2RGYWN0b3J5T3BSZXZlcnNlRmx1aWRDb252ZXlvckRpcmVjdGlvbkgA",
          "EjYKD2Rpc21hbnRsZV9iYXRjaBg1IAEoCzIbLkNzZEZhY3RvcnlPcERpc21h",
          "bnRsZUJhdGNoSAASUgofdGFrZV9vdXRfZmx1aWRfZnJvbV9saXF1aWRfYm9k",
          "eRg9IAEoCzInLkNzZEZhY3RvcnlPcFRha2VPdXRGbHVpZEZyb21MaXF1aWRC",
          "b2R5SAASSgobcHV0X2luX2ZsdWlkX3RvX2xpcXVpZF9ib2R5GD4gASgLMiMu",
          "Q3NkRmFjdG9yeU9wUHV0SW5GbHVpZFRvTGlxdWlkQm9keUgAEkkKGmZpbGxp",
          "bmdfZmx1aWRfY29tX3dpdGhfYmFnGD8gASgLMiMuQ3NkRmFjdG9yeU9wRmls",
          "bGluZ0ZsdWlkQ29tV2l0aEJhZ0gAEk0KHGZpbGxpbmdfZmx1aWRfY29tX3dp",
          "dGhfZGVwb3QYQCABKAsyJS5Dc2RGYWN0b3J5T3BGaWxsaW5nRmx1aWRDb21X",
          "aXRoRGVwb3RIAEIMCgpvcF9wYXlsb2FkIq8BChFDc2RGYWN0b3J5T3BQbGFj",
          "ZRITCgt0ZW1wbGF0ZV9pZBgBIAEoCRIdCghwb3NpdGlvbhgCIAEoCzILLlNj",
          "ZFZlYzNJbnQSHgoJZGlyZWN0aW9uGAMgASgLMgsuU2NkVmVjM0ludBIOCgZt",
          "YXBfaWQYBCABKAUSNgoRaW50ZXJhY3RpdmVfcGFyYW0YBSABKAsyGy5Dc2RG",
          "YWN0b3J5SW50ZXJhY3RpdmVQYXJhbSLZAQoaQ3NkRmFjdG9yeUludGVyYWN0",
          "aXZlUGFyYW0SGQoIcG9zaXRpb24YASABKAsyBy5WZWN0b3ISGQoIcm90YXRp",
          "b24YAiABKAsyBy5WZWN0b3ISPwoKcHJvcGVydGllcxgDIAMoCzIrLkNzZEZh",
          "Y3RvcnlJbnRlcmFjdGl2ZVBhcmFtLlByb3BlcnRpZXNFbnRyeRpECg9Qcm9w",
          "ZXJ0aWVzRW50cnkSCwoDa2V5GAEgASgFEiAKBXZhbHVlGAIgASgLMhEuRHlu",
          "YW1pY1BhcmFtZXRlcjoCOAEipAEKGUNzZEZhY3RvcnlPcFBsYWNlQ29udmV5",
          "b3ISEwoLdGVtcGxhdGVfaWQYASABKAkSIQoMZGlyZWN0aW9uX2luGAIgASgL",
          "MgsuU2NkVmVjM0ludBIiCg1kaXJlY3Rpb25fb3V0GAMgASgLMgsuU2NkVmVj",
          "M0ludBIbCgZwb2ludHMYBCADKAsyCy5TY2RWZWMzSW50Eg4KBm1hcF9pZBgF",
          "IAEoBSIoChVDc2RGYWN0b3J5T3BEaXNtYW50bGUSDwoHbm9kZV9pZBgBIAEo",
          "DSJEChtDc2RGYWN0b3J5T3BTZXRTZWxlY3RUYXJnZXQSFAoMY29tcG9uZW50",
          "X2lkGAEgASgNEg8KB2l0ZW1faWQYAiABKAkiOQoWQ3NkRmFjdG9yeU9wRW5h",
          "YmxlTm9kZRIPCgdub2RlX2lkGAEgASgNEg4KBmVuYWJsZRgCIAEoCCKeAQoU",
          "Q3NkRmFjdG9yeU9wTW92ZU5vZGUSDwoHbm9kZV9pZBgBIAEoDRIdCghwb3Np",
          "dGlvbhgCIAEoCzILLlNjZFZlYzNJbnQSHgoJZGlyZWN0aW9uGAMgASgLMgsu",
          "U2NkVmVjM0ludBI2ChFpbnRlcmFjdGl2ZV9wYXJhbRgFIAEoCzIbLkNzZEZh",
          "Y3RvcnlJbnRlcmFjdGl2ZVBhcmFtIkcKIENzZEZhY3RvcnlPcERpc21hbnRs",
          "ZUJveENvbnZleW9yEg8KB25vZGVfaWQYASABKA0SEgoKaW5kZXhfbGlzdBgC",
          "IAMoBSIpChZDc2RGYWN0b3J5T3BSZXBhaXJOb2RlEg8KB25vZGVfaWQYASAB",
          "KA0iZwogQ3NkRmFjdG9yeU9wTW92ZUl0ZW1DYWNoZVRvQ2FjaGUSGQoRZnJv",
          "bV9jb21wb25lbnRfaWQYASABKA0SFwoPdG9fY29tcG9uZW50X2lkGAIgASgN",
          "Eg8KB2l0ZW1faWQYAyABKAkiZAoeQ3NkRmFjdG9yeU9wTW92ZUl0ZW1CYWdU",
          "b0NhY2hlEhIKCmdyaWRfaW5kZXgYASABKAUSFAoMY29tcG9uZW50X2lkGAIg",
          "ASgNEhgKEGNhY2hlX2dyaWRfaW5kZXgYAyABKAUiggEKHkNzZEZhY3RvcnlP",
          "cE1vdmVJdGVtQ2FjaGVUb0JhZxIUCgxjb21wb25lbnRfaWQYASABKA0SDwoH",
          "aXRlbV9pZBgCIAEoCRILCgNhbGwYAyABKAgSGAoQY2FjaGVfZ3JpZF9pbmRl",
          "eBgEIAEoBRISCgpncmlkX2luZGV4GAUgASgFImMKIENzZEZhY3RvcnlPcE1v",
          "dmVJdGVtRGVwb3RUb0NhY2hlEg8KB2l0ZW1faWQYASABKAkSFAoMY29tcG9u",
          "ZW50X2lkGAIgASgNEhgKEGNhY2hlX2dyaWRfaW5kZXgYAyABKAUicAogQ3Nk",
          "RmFjdG9yeU9wTW92ZUl0ZW1DYWNoZVRvRGVwb3QSFAoMY29tcG9uZW50X2lk",
          "GAEgASgNEg8KB2l0ZW1faWQYAiABKAkSCwoDYWxsGAMgASgIEhgKEGNhY2hl",
          "X2dyaWRfaW5kZXgYBCABKAUiVQohQ3NkRmFjdG9yeU9wTW92ZUl0ZW1Db252",
          "ZXlvclRvQmFnEhQKDGNvbXBvbmVudF9pZBgBIAEoDRINCgVpbmRleBgCIAEo",
          "BRILCgNhbGwYAyABKAgiOgoiQ3NkRmFjdG9yeU9wQ2FjaGVUcmFuc3BvcnRU",
          "cmFuc2ZlchIUCgxjb21wb25lbnRfaWQYASABKA0iSAogQ3NkRmFjdG9yeU9w",
          "Q2FjaGVUcmFuc3BvcnRFbmFibGUSFAoMY29tcG9uZW50X2lkGAEgASgNEg4K",
          "BmVuYWJsZRgCIAEoCCJSCiRDc2RGYWN0b3J5T3BTZXRUcmF2ZWxQb2xlRGVm",
          "YXVsdE5leHQSFAoMY29tcG9uZW50X2lkGAEgASgNEhQKDGRlZmF1bHRfbmV4",
          "dBgCIAEoDSJICh1Dc2RGYWN0b3J5T3BVc2VIZWFsVG93ZXJQb2ludBIUCgxj",
          "b21wb25lbnRfaWQYASABKA0SEQoJdXNlX2NvdW50GAIgASgNIisKGENzZEZh",
          "Y3RvcnlPcEJhdHRsZVJlcGFpchIPCgdub2RlX2lkGAEgASgNIlMKGUNzZEZh",
          "Y3RvcnlPcEFkZENvbm5lY3Rpb24SDgoGbWFwX2lkGAEgASgFEhMKC2Zyb21f",
          "Y29tX2lkGAQgASgEEhEKCXRvX2NvbV9pZBgFIAEoBCI6ChlDc2RGYWN0b3J5",
          "T3BEZWxDb25uZWN0aW9uEg4KBm1hcF9pZBgBIAEoBRINCgVpbmRleBgCIAEo",
          "BCJaChxDc2RGYWN0b3J5T3BHcmlkQm94SW5uZXJNb3ZlEhQKDGNvbXBvbmVu",
          "dF9pZBgBIAEoDRISCgpmcm9tX2luZGV4GAIgASgFEhAKCHRvX2luZGV4GAMg",
          "ASgFImoKHUNzZEZhY3RvcnlPcEdyaWRCb3hJbm5lclNwbGl0EhQKDGNvbXBv",
          "bmVudF9pZBgBIAEoDRISCgpmcm9tX2luZGV4GAIgASgFEhAKCHRvX2luZGV4",
          "GAMgASgFEg0KBWNvdW50GAQgASgFImgKIENzZEZhY3RvcnlPcE1vdmVJdGVt",
          "QmFnVG9HcmlkQm94EhYKDmJhZ19ncmlkX2luZGV4GAEgASgFEhQKDGNvbXBv",
          "bmVudF9pZBgCIAEoDRIWCg5ncmlkX2JveF9pbmRleBgDIAEoBSJoCiBDc2RG",
          "YWN0b3J5T3BNb3ZlSXRlbUdyaWRCb3hUb0JhZxIUCgxjb21wb25lbnRfaWQY",
          "ASABKA0SFgoOZ3JpZF9ib3hfaW5kZXgYAiABKAUSFgoOYmFnX2dyaWRfaW5k",
          "ZXgYAyABKAUiYwoiQ3NkRmFjdG9yeU9wTW92ZUl0ZW1EZXBvdFRvR3JpZEJv",
          "eBIPCgdpdGVtX2lkGAEgASgJEhQKDGNvbXBvbmVudF9pZBgCIAEoDRIWCg5n",
          "cmlkX2JveF9pbmRleBgDIAEoBSJSCiJDc2RGYWN0b3J5T3BNb3ZlSXRlbUdy",
          "aWRCb3hUb0RlcG90EhQKDGNvbXBvbmVudF9pZBgBIAEoDRIWCg5ncmlkX2Jv",
          "eF9pbmRleBgCIAEoBSI3CiRDc2RGYWN0b3J5T3BNb3ZlQWxsQ2FjaGVPdXRJ",
          "dGVtVG9CYWcSDwoHbm9kZV9pZBgBIAEoDSItChtDc2RGYWN0b3J5T3BRdWlj",
          "a1B1dEJhdHRlcnkSDgoGY29tX2lkGAEgASgNIkIKHkNzZEZhY3RvcnlPcENo",
          "YW5nZVByb2R1Y2VyTW9kZRIPCgdub2RlX2lkGAEgASgNEg8KB3RvX21vZGUY",
          "AiABKAkiPAopQ3NkRmFjdG9yeU9wUmV2ZXJzZUZsdWlkQ29udmV5b3JEaXJl",
          "Y3Rpb24SDwoHbm9kZV9pZBgBIAEoDSKIAQoaQ3NkRmFjdG9yeU9wRGlzbWFu",
          "dGxlQmF0Y2gSKgoKZGlzbWFudGxlcxgBIAMoCzIWLkNzZEZhY3RvcnlPcERp",
          "c21hbnRsZRI+ChNkaXNtYW50bGVfY29udmV5b3JzGAIgAygLMiEuQ3NkRmFj",
          "dG9yeU9wRGlzbWFudGxlQm94Q29udmV5b3IiaQomQ3NkRmFjdG9yeU9wVGFr",
          "ZU91dEZsdWlkRnJvbUxpcXVpZEJvZHkSHAoUbGlxdWlkX2JvZHlfaW5zdF9r",
          "ZXkYASABKAkSIQoMYm90dGxlX2l0ZW1zGAQgAygLMgsuSXRlbUJ1bmRsZSJr",
          "CiJDc2RGYWN0b3J5T3BQdXRJbkZsdWlkVG9MaXF1aWRCb2R5EhwKFGxpcXVp",
          "ZF9ib2R5X2luc3Rfa2V5GAEgASgJEicKEmJvdHRsZV93YXRlcl9pdGVtcxgE",
          "IAMoCzILLkl0ZW1CdW5kbGUiUgoiQ3NkRmFjdG9yeU9wRmlsbGluZ0ZsdWlk",
          "Q29tV2l0aEJhZxIUCgxjb21wb25lbnRfaWQYASABKA0SFgoOYmFnX2dyaWRf",
          "aW5kZXgYAiABKAUiTQokQ3NkRmFjdG9yeU9wRmlsbGluZ0ZsdWlkQ29tV2l0",
          "aERlcG90EhQKDGNvbXBvbmVudF9pZBgBIAEoDRIPCgdpdGVtX2lkGAIgASgJ",
          "IqYUCg5TY0ZhY3RvcnlPcFJldBINCgVpbmRleBgBIAEoCRIjCghyZXRfY29k",
          "ZRgCIAEoDjIRLkZhY3RvcnlPcFJldENvZGUSHwoHb3BfdHlwZRgDIAEoDjIO",
          "LkZhY3RvcnlPcFR5cGUSEwoLZXJyX21lc3NhZ2UYBCABKAkSJgoFcGxhY2UY",
          "CyABKAsyFS5TY2RGYWN0b3J5T3BSZXRQbGFjZUgAEjcKDnBsYWNlX2NvbnZl",
          "eW9yGAwgASgLMh0uU2NkRmFjdG9yeU9wUmV0UGxhY2VDb252ZXlvckgAEi4K",
          "CWRpc21hbnRsZRgNIAEoCzIZLlNjZEZhY3RvcnlPcFJldERpc21hbnRsZUgA",
          "EjwKEXNldF9zZWxlY3RfdGFyZ2V0GA8gASgLMh8uU2NkRmFjdG9yeU9wUmV0",
          "U2V0U2VsZWN0VGFyZ2V0SAASMQoLZW5hYmxlX25vZGUYECABKAsyGi5TY2RG",
          "YWN0b3J5T3BSZXRFbmFibGVOb2RlSAASLQoJbW92ZV9ub2RlGBEgASgLMhgu",
          "U2NkRmFjdG9yeU9wUmV0TW92ZU5vZGVIABJGChZkaXNtYW50bGVfYm94X2Nv",
          "bnZleW9yGBIgASgLMiQuU2NkRmFjdG9yeU9wUmV0RGlzbWFudGxlQm94Q29u",
          "dmV5b3JIABIxCgtyZXBhaXJfbm9kZRgTIAEoCzIaLlNjZEZhY3RvcnlPcFJl",
          "dFJlcGFpck5vZGVIABJIChhtb3ZlX2l0ZW1fY2FjaGVfdG9fY2FjaGUYFCAB",
          "KAsyJC5TY2RGYWN0b3J5T3BSZXRNb3ZlSXRlbUNhY2hlVG9DYWNoZUgAEkQK",
          "Fm1vdmVfaXRlbV9iYWdfdG9fY2FjaGUYFSABKAsyIi5TY2RGYWN0b3J5T3BS",
          "ZXRNb3ZlSXRlbUJhZ1RvQ2FjaGVIABJEChZtb3ZlX2l0ZW1fY2FjaGVfdG9f",
          "YmFnGBYgASgLMiIuU2NkRmFjdG9yeU9wUmV0TW92ZUl0ZW1DYWNoZVRvQmFn",
          "SAASSAoYbW92ZV9pdGVtX2RlcG90X3RvX2NhY2hlGBcgASgLMiQuU2NkRmFj",
          "dG9yeU9wUmV0TW92ZUl0ZW1EZXBvdFRvQ2FjaGVIABJIChhtb3ZlX2l0ZW1f",
          "Y2FjaGVfdG9fZGVwb3QYGCABKAsyJC5TY2RGYWN0b3J5T3BSZXRNb3ZlSXRl",
          "bUNhY2hlVG9EZXBvdEgAEkoKGW1vdmVfaXRlbV9jb252ZXlvcl90b19iYWcY",
          "GSABKAsyJS5TY2RGYWN0b3J5T3BSZXRNb3ZlSXRlbUNvbnZleW9yVG9CYWdI",
          "ABJKChhjYWNoZV90cmFuc3BvcnRfdHJhbnNmZXIYGiABKAsyJi5TY2RGYWN0",
          "b3J5T3BSZXRDYWNoZVRyYW5zcG9ydFRyYW5zZmVySAASRgoWY2FjaGVfdHJh",
          "bnNwb3J0X2VuYWJsZRgbIAEoCzIkLlNjZEZhY3RvcnlPcFJldENhY2hlVHJh",
          "bnNwb3J0RW5hYmxlSAASUAocc2V0X3RyYXZlbF9wb2xlX2RlZmF1bHRfbmV4",
          "dBgcIAEoCzIoLlNjZEZhY3RvcnlPcFJldFNldFRyYXZlbFBvbGVEZWZhdWx0",
          "TmV4dEgAEkEKFHVzZV9oZWFsX3Rvd2VyX3BvaW50GB0gASgLMiEuU2NkRmFj",
          "dG9yeU9wUmV0VXNlSGVhbFRvd2VyUG9pbnRIABI1Cg1iYXR0bGVfcmVwYWly",
          "GB4gASgLMhwuU2NkRmFjdG9yeU9wUmV0QmF0dGxlUmVwYWlySAASNwoOYWRk",
          "X2Nvbm5lY3Rpb24YHyABKAsyHS5TY2RGYWN0b3J5T3BSZXRBZGRDb25uZWN0",
          "aW9uSAASNwoOZGVsX2Nvbm5lY3Rpb24YICABKAsyHS5TY2RGYWN0b3J5T3BS",
          "ZXREZWxDb25uZWN0aW9uSAASPwoTZ3JpZF9ib3hfaW5uZXJfbW92ZRgpIAEo",
          "CzIgLlNjZEZhY3RvcnlPcFJldEdyaWRCb3hJbm5lck1vdmVIABJBChRncmlk",
          "X2JveF9pbm5lcl9zcGxpdBgqIAEoCzIhLlNjZEZhY3RvcnlPcFJldEdyaWRC",
          "b3hJbm5lclNwbGl0SAASSQoZbW92ZV9pdGVtX2JhZ190b19ncmlkX2JveBgr",
          "IAEoCzIkLlNjZEZhY3RvcnlPcFJldE1vdmVJdGVtQmFnVG9HcmlkQm94SAAS",
          "SQoZbW92ZV9pdGVtX2dyaWRfYm94X3RvX2JhZxgsIAEoCzIkLlNjZEZhY3Rv",
          "cnlPcFJldE1vdmVJdGVtR3JpZEJveFRvQmFnSAASTQobbW92ZV9pdGVtX2Rl",
          "cG90X3RvX2dyaWRfYm94GC0gASgLMiYuU2NkRmFjdG9yeU9wUmV0TW92ZUl0",
          "ZW1EZXBvdFRvR3JpZEJveEgAEk0KG21vdmVfaXRlbV9ncmlkX2JveF90b19k",
          "ZXBvdBguIAEoCzImLlNjZEZhY3RvcnlPcFJldE1vdmVJdGVtR3JpZEJveFRv",
          "RGVwb3RIABJSCh5tb3ZlX2FsbF9jYWNoZV9vdXRfaXRlbV90b19iYWcYLyAB",
          "KAsyKC5TY2RGYWN0b3J5T3BSZXRNb3ZlQWxsQ2FjaGVPdXRJdGVtVG9CYWdI",
          "ABI8ChFxdWlja19wdXRfYmF0dGVyeRgwIAEoCzIfLlNjZEZhY3RvcnlPcFJl",
          "dFF1aWNrUHV0QmF0dGVyeUgAEkIKFGNoYW5nZV9wcm9kdWNlcl9tb2RlGDMg",
          "ASgLMiIuU2NkRmFjdG9yeU9wUmV0Q2hhbmdlUHJvZHVjZXJNb2RlSAASWQog",
          "cmV2ZXJzZV9mbHVpZF9jb252ZXlvcl9kaXJlY3Rpb24YNCABKAsyLS5TY2RG",
          "YWN0b3J5T3BSZXRSZXZlcnNlRmx1aWRDb252ZXlvckRpcmVjdGlvbkgAEjkK",
          "D2Rpc21hbnRsZV9iYXRjaBg1IAEoCzIeLlNjZEZhY3RvcnlPcFJldERpc21h",
          "bnRsZUJhdGNoSAASVQofdGFrZV9vdXRfZmx1aWRfZnJvbV9saXF1aWRfYm9k",
          "eRg9IAEoCzIqLlNjZEZhY3RvcnlPcFJldFRha2VPdXRGbHVpZEZyb21MaXF1",
          "aWRCb2R5SAASTQobcHV0X2luX2ZsdWlkX3RvX2xpcXVpZF9ib2R5GD4gASgL",
          "MiYuU2NkRmFjdG9yeU9wUmV0UHV0SW5GbHVpZFRvTGlxdWlkQm9keUgAEkwK",
          "GmZpbGxpbmdfZmx1aWRfY29tX3dpdGhfYmFnGD8gASgLMiYuU2NkRmFjdG9y",
          "eU9wUmV0RmlsbGluZ0ZsdWlkQ29tV2l0aEJhZ0gAElAKHGZpbGxpbmdfZmx1",
          "aWRfY29tX3dpdGhfZGVwb3QYQCABKAsyKC5TY2RGYWN0b3J5T3BSZXRGaWxs",
          "aW5nRmx1aWRDb21XaXRoRGVwb3RIAEIMCgpvcF9wYXlsb2FkIicKFFNjZEZh",
          "Y3RvcnlPcFJldFBsYWNlEg8KB25vZGVfaWQYASABKA0iLwocU2NkRmFjdG9y",
          "eU9wUmV0UGxhY2VDb252ZXlvchIPCgdub2RlX2lkGAEgAygNIhoKGFNjZEZh",
          "Y3RvcnlPcFJldERpc21hbnRsZSIgCh5TY2RGYWN0b3J5T3BSZXRTZXRTZWxl",
          "Y3RUYXJnZXQiGwoZU2NkRmFjdG9yeU9wUmV0RW5hYmxlTm9kZSIZChdTY2RG",
          "YWN0b3J5T3BSZXRNb3ZlTm9kZSI2CiNTY2RGYWN0b3J5T3BSZXREaXNtYW50",
          "bGVCb3hDb252ZXlvchIPCgdub2RlX2lkGAEgAygNIhsKGVNjZEZhY3RvcnlP",
          "cFJldFJlcGFpck5vZGUiJQojU2NkRmFjdG9yeU9wUmV0TW92ZUl0ZW1DYWNo",
          "ZVRvQ2FjaGUiIwohU2NkRmFjdG9yeU9wUmV0TW92ZUl0ZW1CYWdUb0NhY2hl",
          "IiMKIVNjZEZhY3RvcnlPcFJldE1vdmVJdGVtQ2FjaGVUb0JhZyIlCiNTY2RG",
          "YWN0b3J5T3BSZXRNb3ZlSXRlbURlcG90VG9DYWNoZSIlCiNTY2RGYWN0b3J5",
          "T3BSZXRNb3ZlSXRlbUNhY2hlVG9EZXBvdCImCiRTY2RGYWN0b3J5T3BSZXRN",
          "b3ZlSXRlbUNvbnZleW9yVG9CYWciOAolU2NkRmFjdG9yeU9wUmV0Q2FjaGVU",
          "cmFuc3BvcnRUcmFuc2ZlchIPCgdzdWNjZXNzGAEgASgIIiUKI1NjZEZhY3Rv",
          "cnlPcFJldENhY2hlVHJhbnNwb3J0RW5hYmxlIikKJ1NjZEZhY3RvcnlPcFJl",
          "dFNldFRyYXZlbFBvbGVEZWZhdWx0TmV4dCI2CiBTY2RGYWN0b3J5T3BSZXRV",
          "c2VIZWFsVG93ZXJQb2ludBISCgp1c2VkX2NvdW50GAEgASgNIh0KG1NjZEZh",
          "Y3RvcnlPcFJldEJhdHRsZVJlcGFpciItChxTY2RGYWN0b3J5T3BSZXRBZGRD",
          "b25uZWN0aW9uEg0KBWluZGV4GAEgASgEIh4KHFNjZEZhY3RvcnlPcFJldERl",
          "bENvbm5lY3Rpb24iIQofU2NkRmFjdG9yeU9wUmV0R3JpZEJveElubmVyTW92",
          "ZSIiCiBTY2RGYWN0b3J5T3BSZXRHcmlkQm94SW5uZXJTcGxpdCIlCiNTY2RG",
          "YWN0b3J5T3BSZXRNb3ZlSXRlbUJhZ1RvR3JpZEJveCIlCiNTY2RGYWN0b3J5",
          "T3BSZXRNb3ZlSXRlbUdyaWRCb3hUb0JhZyInCiVTY2RGYWN0b3J5T3BSZXRN",
          "b3ZlSXRlbURlcG90VG9HcmlkQm94IkAKJVNjZEZhY3RvcnlPcFJldE1vdmVJ",
          "dGVtR3JpZEJveFRvRGVwb3QSFwoPbm90X2FsbF9zdWNjZXNzGAEgASgIIikK",
          "J1NjZEZhY3RvcnlPcFJldE1vdmVBbGxDYWNoZU91dEl0ZW1Ub0JhZyJBCh5T",
          "Y2RGYWN0b3J5T3BSZXRRdWlja1B1dEJhdHRlcnkSHwoKY29zdF9pdGVtcxgB",
          "IAMoCzILLkl0ZW1CdW5kbGUiIwohU2NkRmFjdG9yeU9wUmV0Q2hhbmdlUHJv",
          "ZHVjZXJNb2RlIi4KLFNjZEZhY3RvcnlPcFJldFJldmVyc2VGbHVpZENvbnZl",
          "eW9yRGlyZWN0aW9uIh8KHVNjZEZhY3RvcnlPcFJldERpc21hbnRsZUJhdGNo",
          "IrwBCilTY2RGYWN0b3J5T3BSZXRUYWtlT3V0Rmx1aWRGcm9tTGlxdWlkQm9k",
          "eRImChFjb3N0X2JvdHRsZV9pdGVtcxgBIAMoCzILLkl0ZW1CdW5kbGUSLAoX",
          "Z2Fpbl9ib3R0bGVfd2F0ZXJfaXRlbXMYAiADKAsyCy5JdGVtQnVuZGxlEhMK",
          "C2Nvc3RfbGlxdWlkGAMgASgFEiQKA3JldBgEIAEoDjIXLlJldEZsdWlkV2l0",
          "aExpcXVpZEJvZHkiuAEKJVNjZEZhY3RvcnlPcFJldFB1dEluRmx1aWRUb0xp",
          "cXVpZEJvZHkSLAoXY29zdF9ib3R0bGVfd2F0ZXJfaXRlbXMYASADKAsyCy5J",
          "dGVtQnVuZGxlEiYKEWdhaW5fYm90dGxlX2l0ZW1zGAIgAygLMgsuSXRlbUJ1",
          "bmRsZRITCgtnYWluX2xpcXVpZBgDIAEoBRIkCgNyZXQYBCABKA4yFy5SZXRG",
          "bHVpZFdpdGhMaXF1aWRCb2R5IicKJVNjZEZhY3RvcnlPcFJldEZpbGxpbmdG",
          "bHVpZENvbVdpdGhCYWciKQonU2NkRmFjdG9yeU9wUmV0RmlsbGluZ0ZsdWlk",
          "Q29tV2l0aERlcG90IhIKEENzRnJpZW5kTGlzdFN5bmMiGQoXQ3NGcmllbmRS",
          "ZXF1ZXN0TGlzdFN5bmMiIgoSQ3NGcmllbmRTZWFyY2hOYW1lEgwKBG5hbWUY",
          "ASABKAkiKAoVQ3NGcmllbmRSZXF1ZXN0QWNjZXB0Eg8KB3JvbGVfaWQYASAB",
          "KAQiKAoVQ3NGcmllbmRSZXF1ZXN0UmVqZWN0Eg8KB3JvbGVfaWQYASABKAQi",
          "IQoOQ3NGcmllbmREZWxldGUSDwoHcm9sZV9pZBgBIAEoBCIoChVDc0ZyaWVu",
          "ZFJlcXVlc3RTdWJtaXQSDwoHcm9sZV9pZBgBIAEoBCI6ChBTY0ZyaWVuZExp",
          "c3RTeW5jEiYKC2ZyaWVuZF9saXN0GAEgAygLMhEuRnJpZW5kRnJpZW5kSW5m",
          "byJKChdTY0ZyaWVuZFJlcXVlc3RMaXN0U3luYxIvChNmcmllbmRfcmVxdWVz",
          "dF9saXN0GAEgAygLMhIuRnJpZW5kUmVxdWVzdEluZm8iRAoSU2NGcmllbmRT",
          "ZWFyY2hOYW1lEi4KDXN0cmFuZ2VyX2xpc3QYASADKAsyFy5GcmllbmRTdHJh",
          "bmdlclVzZXJJbmZvIigKFVNjRnJpZW5kUmVxdWVzdEFjY2VwdBIPCgdyb2xl",
          "X2lkGAEgASgEIigKFVNjRnJpZW5kUmVxdWVzdFJlamVjdBIPCgdyb2xlX2lk",
          "GAEgASgEIiEKDlNjRnJpZW5kRGVsZXRlEg8KB3JvbGVfaWQYASABKAQiKAoV",
          "U2NGcmllbmRSZXF1ZXN0U3VibWl0Eg8KB3JvbGVfaWQYASABKAQiSwoYU2NG",
          "cmllbmRSZXF1ZXN0QWRkTm90aWZ5Ei8KE2ZyaWVuZF9yZXF1ZXN0X2luZm8Y",
          "ASABKAsyEi5GcmllbmRSZXF1ZXN0SW5mbyI7ChFTY0ZyaWVuZEFkZE5vdGlm",
          "eRImCgtmcmllbmRfaW5mbxgBIAEoCzIRLkZyaWVuZEZyaWVuZEluZm8irQEK",
          "FENzR2FjaGFTaW5nbGVQdWxsUmVxEhIKCmdhY2hhX3R5cGUYASABKAUSFQoN",
          "Z2FjaGFfcG9vbF9pZBgCIAEoCRI4CgpwdWxsX2Nvc3RzGAMgAygLMiQuQ3NH",
          "YWNoYVNpbmdsZVB1bGxSZXEuUHVsbENvc3RzRW50cnkaMAoOUHVsbENvc3Rz",
          "RW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgFOgI4ASKnAQoRQ3NH",
          "YWNoYVRlblB1bGxSZXESEgoKZ2FjaGFfdHlwZRgBIAEoBRIVCg1nYWNoYV9w",
          "b29sX2lkGAIgASgJEjUKCnB1bGxfY29zdHMYAyADKAsyIS5Dc0dhY2hhVGVu",
          "UHVsbFJlcS5QdWxsQ29zdHNFbnRyeRowCg5QdWxsQ29zdHNFbnRyeRILCgNr",
          "ZXkYASABKAkSDQoFdmFsdWUYAiABKAU6AjgBIoABChBTY2RHYWNoYVBvb2xJ",
          "bmZvEhUKDWdhY2hhX3Bvb2xfaWQYASABKAkSEQoJb3Blbl90aW1lGAIgASgD",
          "EhIKCmNsb3NlX3RpbWUYAyABKAMSEQoJaXNfY2xvc2VkGAQgASgIEhsKE3B1",
          "YmxpY19jbG9zZV9yZWFzb24YBSABKAUi+AEKFFNjZEdhY2hhUG9vbFJvbGVE",
          "YXRhEhUKDWdhY2hhX3Bvb2xfaWQYASABKAkSEQoJaXNfY2xvc2VkGAIgASgI",
          "Eh0KFXBlcnNvbmFsX2Nsb3NlX3JlYXNvbhgDIAEoBRIYChB0b3RhbF9wdWxs",
          "X2NvdW50GAQgASgFEh8KF2hhcmRfZ3VhcmFudGVlX3Byb2dyZXNzGAUgASgF",
          "Eh8KF3NvZnRfZ3VhcmFudGVlX3Byb2dyZXNzGAYgASgFEiUKHXN0YXI1X3Nv",
          "ZnRfZ3VhcmFudGVlX3Byb2dyZXNzGAcgASgFEhQKDHVwX2dvdF9jb3VudBgI",
          "IAEoBSKZAQocU2NkR2FjaGFQb29sQ2F0ZWdvcnlSb2xlRGF0YRIXCg9nYWNo",
          "YV9wb29sX3R5cGUYASABKAUSGAoQdG90YWxfcHVsbF9jb3VudBgCIAEoBRIf",
          "Chdzb2Z0X2d1YXJhbnRlZV9wcm9ncmVzcxgDIAEoBRIlCh1zdGFyNV9zb2Z0",
          "X2d1YXJhbnRlZV9wcm9ncmVzcxgEIAEoBSK7AQoPU2NkR2FjaGFQb29sTWdy",
          "EisKEGdhY2hhX3Bvb2xfaW5mb3MYASADKAsyES5TY2RHYWNoYVBvb2xJbmZv",
          "EjQKFWdhY2hhX3Bvb2xfcm9sZV9kYXRhcxgCIAMoCzIVLlNjZEdhY2hhUG9v",
          "bFJvbGVEYXRhEkUKHmdhY2hhX3Bvb2xfY2F0ZWdvcnlfcm9sZV9kYXRhcxgD",
          "IAMoCzIdLlNjZEdhY2hhUG9vbENhdGVnb3J5Um9sZURhdGEiZQoLU2NHYWNo",
          "YVN5bmMSKQoPY2hhcl9nYWNoYV9wb29sGAEgASgLMhAuU2NkR2FjaGFQb29s",
          "TWdyEisKEXdlYXBvbl9nYWNoYV9wb29sGAIgASgLMhAuU2NkR2FjaGFQb29s",
          "TWdyInMKFVNjR2FjaGFNb2RpZnlQb29sSW5mbxIrChBjaGFyX2dhY2hhX3Bv",
          "b2xzGAEgAygLMhEuU2NkR2FjaGFQb29sSW5mbxItChJ3ZWFwb25fZ2FjaGFf",
          "cG9vbHMYAiADKAsyES5TY2RHYWNoYVBvb2xJbmZvImIKE1NjZEdhY2hhRmlu",
          "YWxSZXN1bHQSDwoHaXRlbV9pZBgBIAEoCRIWCg5yZXdhcmRfaXRlbV9pZBgC",
          "IAEoCRISCgpyZXdhcmRfaWRzGAMgAygJEg4KBmlzX25ldxgEIAEoCCLPAQoV",
          "U2NHYWNoYVN5bmNQdWxsUmVzdWx0EhIKCmdhY2hhX3R5cGUYASABKAUSFQoN",
          "Z2FjaGFfcG9vbF9pZBgCIAEoCRIWCg5vcmlfcmVzdWx0X2lkcxgDIAMoCRIr",
          "Cg1maW5hbF9yZXN1bHRzGAQgAygLMhQuU2NkR2FjaGFGaW5hbFJlc3VsdBIU",
          "Cgx1cF9nb3RfY291bnQYBSABKAUSFwoPc3RhcjZfZ290X2NvdW50GAYgASgF",
          "EhcKD3N0YXI1X2dvdF9jb3VudBgHIAEoBSLBAQoZU2NHYWNoYU1vZGlmeVBv",
          "b2xSb2xlRGF0YRISCgpnYWNoYV90eXBlGAEgASgFEhUKDWdhY2hhX3Bvb2xf",
          "aWQYAiABKAkSMwoUZ2FjaGFfcG9vbF9yb2xlX2RhdGEYAyABKAsyFS5TY2RH",
          "YWNoYVBvb2xSb2xlRGF0YRJECh1nYWNoYV9wb29sX2NhdGVnb3J5X3JvbGVf",
          "ZGF0YRgEIAEoCzIdLlNjZEdhY2hhUG9vbENhdGVnb3J5Um9sZURhdGEiKwoY",
          "Q3NHYW1lTWVjaGFuaWNzUmVxQWN0aXZlEg8KB2dhbWVfaWQYASABKAkiKwoY",
          "Q3NHYW1lTWVjaGFuaWNzUmVxUmV3YXJkEg8KB2dhbWVfaWQYASABKAkiNgoj",
          "Q3NHYW1lTWVjaGFuaWNzTnRmSW5zdFByZXBhcmVGaW5pc2gSDwoHZ2FtZV9p",
          "ZBgBIAEoCSLjAQoWU2NkR2FtZU1lY2hhbmljc1JlY29yZBIPCgdnYW1lX2lk",
          "GAEgASgJEhsKE2xhc3RfZW50ZXJfZ2FtZV90X3MYAiABKAMSFgoOYmVzdF9w",
          "YXNzX3RpbWUYAyABKAUSFQoNYmVzdF9wYXNzX3RfcxgEIAEoAxIPCgdpc19w",
          "YXNzGAUgASgIEhUKDWlzX2NoYWxsZW5nZWQYBiABKAgSEQoJaXNfYWN0aXZl",
          "GAcgASgIEhcKD29uY2VfcmV3YXJkX2dvdBgIIAEoCBIYChByZXdhcmRlZF9p",
          "ZF9saXN0GAkgAygFIvsCCiBTY2RHYW1lTWVjaGFuaWNzVW5sb2NrQ29uZGl0",
          "aW9ucxIKCgJpZBgBIAEoCRIUCgx1bmxvY2tfc3RhdGUYAiABKAUSXQoXdW5s",
          "b2NrX2NvbmRpdGlvbl92YWx1ZXMYAyADKAsyPC5TY2RHYW1lTWVjaGFuaWNz",
          "VW5sb2NrQ29uZGl0aW9ucy5VbmxvY2tDb25kaXRpb25WYWx1ZXNFbnRyeRJb",
          "ChZ1bmxvY2tfY29uZGl0aW9uX2ZsYWdzGAQgAygLMjsuU2NkR2FtZU1lY2hh",
          "bmljc1VubG9ja0NvbmRpdGlvbnMuVW5sb2NrQ29uZGl0aW9uRmxhZ3NFbnRy",
          "eRo8ChpVbmxvY2tDb25kaXRpb25WYWx1ZXNFbnRyeRILCgNrZXkYASABKAkS",
          "DQoFdmFsdWUYAiABKAU6AjgBGjsKGVVubG9ja0NvbmRpdGlvbkZsYWdzRW50",
          "cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgIOgI4ASKHAQoTU2NHYW1l",
          "TWVjaGFuaWNzU3luYxJBChZnYW1lX3VubG9ja19jb25kaXRpb25zGAEgAygL",
          "MiEuU2NkR2FtZU1lY2hhbmljc1VubG9ja0NvbmRpdGlvbnMSLQoMZ2FtZV9y",
          "ZWNvcmRzGAIgAygLMhcuU2NkR2FtZU1lY2hhbmljc1JlY29yZCJmCiJTY0dh",
          "bWVNZWNoYW5pY3NTeW5jVW5sb2NrQ29uZGl0aW9uEkAKFWdhbWVfdW5sb2Nr",
          "X2NvbmRpdGlvbhgBIAEoCzIhLlNjZEdhbWVNZWNoYW5pY3NVbmxvY2tDb25k",
          "aXRpb25zIk0KHFNjR2FtZU1lY2hhbmljc01vZGlmeVJlY29yZHMSLQoMZ2Ft",
          "ZV9yZWNvcmRzGAEgAygLMhcuU2NkR2FtZU1lY2hhbmljc1JlY29yZCKQAQoh",
          "U2NHYW1lTWVjaGFuaWNzU3luY0NoYWxsZW5nZVN0YXJ0Eg8KB2dhbWVfaWQY",
          "ASABKAkSGgoSY2hhbGxlbmdlX3N0YXJ0X3RzGAIgASgDEhsKE2NoYWxsZW5n",
          "ZV9leHBpcmVfdHMYAyABKAMSIQoZcHJlcGFyZV9jaGFsbGVuZ2Vfc2Vjb25k",
          "cxgEIAEoBSJzCiRTY0dhbWVNZWNoYW5pY3NTeW5jQ2hhbGxlbmdlQ29tcGxl",
          "dGUSDwoHZ2FtZV9pZBgBIAEoCRIPCgdpc19wYXNzGAIgASgIEhYKDmZvcmNl",
          "X2xlYXZlX3RzGAMgASgDEhEKCXBhc3NfdGltZRgEIAEoBSJfCiNTY0dhbWVN",
          "ZWNoYW5pY3NTeW5jQ29tcGxldGlvblJld2FyZBIPCgdnYW1lX2lkGAEgASgJ",
          "Eg8KB2lzX3Bhc3MYAiABKAgSFgoOZm9yY2VfbGVhdmVfdHMYAyABKAMiMwog",
          "U2NHYW1lTWVjaGFuaWNzU3luY0VudGVyR2FtZUluc3QSDwoHZ2FtZV9pZBgB",
          "IAEoCSIzCiBTY0dhbWVNZWNoYW5pY3NTeW5jTGVhdmVHYW1lSW5zdBIPCgdn",
          "YW1lX2lkGAEgASgJIjUKIlNjR2FtZU1lY2hhbmljc1N5bmNSZXN0YXJ0R2Ft",
          "ZUluc3QSDwoHZ2FtZV9pZBgBIAEoCSJTCh5TY2RHYW1lTWVjaGFuaWNzSW5z",
          "dFRpbWVGcmVlemUSEAoIdGltZV9rZXkYASABKAUSHwoXdG90YWxfZnJlZXpl",
          "X3RpbWVfaW5fbXMYAiABKAMicgojU2NHYW1lTWVjaGFuaWNzTW9kaWZ5SW5z",
          "dFRpbWVGcmVlemUSDwoHZ2FtZV9pZBgBIAEoCRI6ChF0aW1lX2ZyZWV6ZV9p",
          "bmZvcxgCIAMoCzIfLlNjZEdhbWVNZWNoYW5pY3NJbnN0VGltZUZyZWV6ZSIh",
          "Cg5TY1N5bmNHYW1lTW9kZRIPCgdtb2RlX2lkGAEgASgJIugBChBTY1N5bmNB",
          "bGxHYW1lVmFyEjYKC3NlcnZlcl92YXJzGAEgAygLMiEuU2NTeW5jQWxsR2Ft",
          "ZVZhci5TZXJ2ZXJWYXJzRW50cnkSNgoLY2xpZW50X3ZhcnMYAiADKAsyIS5T",
          "Y1N5bmNBbGxHYW1lVmFyLkNsaWVudFZhcnNFbnRyeRoxCg9TZXJ2ZXJWYXJz",
          "RW50cnkSCwoDa2V5GAEgASgFEg0KBXZhbHVlGAIgASgDOgI4ARoxCg9DbGll",
          "bnRWYXJzRW50cnkSCwoDa2V5GAEgASgFEg0KBXZhbHVlGAIgASgDOgI4ASIz",
          "ChVDc1VwZGF0ZUNsaWVudEdhbWVWYXISCwoDa2V5GAEgASgFEg0KBXZhbHVl",
          "GAIgASgDIjsKD1NjVXBkYXRlR2FtZVZhchILCgNrZXkYASABKAUSDQoFdmFs",
          "dWUYAiABKAMSDAoEdHlwZRgDIAEoBSJLCgtDc0dlbVJlY2FzdBISCgpmb3Jt",
          "dWxhX2lkGAEgASgJEg0KBWNvdW50GAIgASgFEhkKEWNvc3RfZ2VtX2luc3Rf",
          "aWRzGAMgAygEIkYKC1NjR2VtUmVjYXN0EhIKCmZvcm11bGFfaWQYASABKAkS",
          "DQoFY291bnQYAiABKAUSFAoMZ2VtX2luc3RfaWRzGAMgAygEIj0KDkd1aWRl",
          "R3JvdXBJbmZvEhYKDmd1aWRlX2dyb3VwX2lkGAEgASgJEhMKC2d1aWRlX3N0",
          "YXRlGAIgASgFIjUKG0NzQ29tcGxldGVHdWlkZUdyb3VwS2V5U3RlcBIWCg5n",
          "dWlkZV9ncm91cF9pZBgBIAEoCSJHChRDc0NvbXBsZXRlR3VpZGVHcm91cBIW",
          "Cg5ndWlkZV9ncm91cF9pZBgBIAEoCRIXCg9ub3RfYXV0b19hY2NlcHQYAiAB",
          "KAgibQoOU2NTeW5jQWxsR3VpZGUSKQoQZ3VpZGVfZ3JvdXBfbGlzdBgBIAMo",
          "CzIPLkd1aWRlR3JvdXBJbmZvEjAKKGNvbXBsZXRlZF9yZXBlYXRfYWNjZXB0",
          "X2d1aWRlX2dyb3VwX2xpc3QYAiADKAkiLAoSU2NBY2NlcHRHdWlkZUdyb3Vw",
          "EhYKDmd1aWRlX2dyb3VwX2lkGAEgASgJIjUKG1NjQ29tcGxldGVHdWlkZUdy",
          "b3VwS2V5U3RlcBIWCg5ndWlkZV9ncm91cF9pZBgBIAEoCSIuChRTY0NvbXBs",
          "ZXRlR3VpZGVHcm91cBIWCg5ndWlkZV9ncm91cF9pZBgBIAEoCSI9CgpTY2RJ",
          "dGVtQmFnEhIKCmdyaWRfbGltaXQYASABKAUSGwoFZ3JpZHMYAiADKAsyDC5T",
          "Y2RJdGVtR3JpZCKiAQoMU2NkSXRlbURlcG90EjoKD3N0YWNrYWJsZV9pdGVt",
          "cxgBIAMoCzIhLlNjZEl0ZW1EZXBvdC5TdGFja2FibGVJdGVtc0VudHJ5Eh8K",
          "CWluc3RfbGlzdBgCIAMoCzIMLlNjZEl0ZW1HcmlkGjUKE1N0YWNrYWJsZUl0",
          "ZW1zRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgFOgI4ASKwAQoT",
          "U2NkSXRlbUxvc3RBbmRGb3VuZBJBCg9zdGFja2FibGVfaXRlbXMYASADKAsy",
          "KC5TY2RJdGVtTG9zdEFuZEZvdW5kLlN0YWNrYWJsZUl0ZW1zRW50cnkSHwoJ",
          "aW5zdF9saXN0GAIgAygLMgwuU2NkSXRlbUdyaWQaNQoTU3RhY2thYmxlSXRl",
          "bXNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAU6AjgBIlUKEFNj",
          "ZEl0ZW1CYWdNb2RpZnkSEgoKZ3JpZF9saW1pdBgBIAEoBRIbCgVncmlkcxgC",
          "IAMoCzIMLlNjZEl0ZW1HcmlkEhAKCGRlbF9saXN0GAMgAygFIp8CChJTY2RJ",
          "dGVtRGVwb3RNb2RpZnkSLQoFaXRlbXMYASADKAsyHi5TY2RJdGVtRGVwb3RN",
          "b2RpZnkuSXRlbXNFbnRyeRIfCglpbnN0X2xpc3QYAiADKAsyDC5TY2RJdGVt",
          "R3JpZBIVCg1kZWxfaW5zdF9saXN0GAMgAygEEj4KDmluZmluaXRlX2l0ZW1z",
          "GAQgAygLMiYuU2NkSXRlbURlcG90TW9kaWZ5LkluZmluaXRlSXRlbXNFbnRy",
          "eRosCgpJdGVtc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoBToC",
          "OAEaNAoSSW5maW5pdGVJdGVtc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1",
          "ZRgCIAEoCDoCOAEitwEKGVNjZEl0ZW1Mb3N0QW5kRm91bmRNb2RpZnkSNAoF",
          "aXRlbXMYASADKAsyJS5TY2RJdGVtTG9zdEFuZEZvdW5kTW9kaWZ5Lkl0ZW1z",
          "RW50cnkSHwoJaW5zdF9saXN0GAIgAygLMgwuU2NkSXRlbUdyaWQSFQoNZGVs",
          "X2luc3RfbGlzdBgDIAMoBBosCgpJdGVtc0VudHJ5EgsKA2tleRgBIAEoCRIN",
          "CgV2YWx1ZRgCIAEoBToCOAEiKAoSQ3NJdGVtQmFnVGlkeUluQmFnEhIKCnNj",
          "b3BlX25hbWUYCyABKAUiTAoSQ3NJdGVtQmFnTW92ZUluQmFnEhEKCWZyb21f",
          "Z3JpZBgBIAEoBRIPCgd0b19ncmlkGAIgASgFEhIKCnNjb3BlX25hbWUYCyAB",
          "KAUiYQoTQ3NJdGVtQmFnU3BsaXRJbkJhZxIRCglmcm9tX2dyaWQYASABKAUS",
          "DwoHdG9fZ3JpZBgCIAEoBRISCgptb3ZlX2NvdW50GAMgASgFEhIKCnNjb3Bl",
          "X25hbWUYCyABKAUivwEKGkNzSXRlbUJhZ0ZhY3RvcnlEZXBvdFRvQmFnEjUK",
          "BWl0ZW1zGAEgAygLMiYuQ3NJdGVtQmFnRmFjdG9yeURlcG90VG9CYWcuSXRl",
          "bXNFbnRyeRIUCgxpbnN0X2lkX2xpc3QYAiADKAQSEgoKc2NvcGVfbmFtZRgL",
          "IAEoBRISCgpjaGFwdGVyX2lkGAwgASgJGiwKCkl0ZW1zRW50cnkSCwoDa2V5",
          "GAEgASgJEg0KBXZhbHVlGAIgASgFOgI4ASJXChpDc0l0ZW1CYWdCYWdUb0Zh",
          "Y3RvcnlEZXBvdBIRCglncmlkX2xpc3QYASADKAUSEgoKc2NvcGVfbmFtZRgL",
          "IAEoBRISCgpjaGFwdGVyX2lkGAwgASgJIncKHkNzSXRlbUJhZ0ZhY3RvcnlE",
          "ZXBvdFRvQmFnR3JpZBISCgpncmlkX2luZGV4GAEgASgFEgoKAmlkGAIgASgJ",
          "Eg0KBWNvdW50GAMgASgFEhIKCnNjb3BlX25hbWUYCyABKAUSEgoKY2hhcHRl",
          "cl9pZBgMIAEoCSLDAQoQQ3NJdGVtQmFnVXNlSXRlbRISCgpncmlkX2luZGV4",
          "GAEgASgFEg0KBWNvdW50GAIgASgFEhkKEWNoYXJfaW5zdF9pZF9saXN0GAMg",
          "AygEEiMKG2VxdWlwX21lZGljaW5lX2NoYXJfaW5zdF9pZBgEIAEoBBIVCg1p",
          "dGVtX3VzZV9hcmdzGAUgAygJEhIKCnNjb3BlX25hbWUYCyABKAUSIQoIdXNl",
          "X3R5cGUYDCABKA4yDy5JdGVtQmFnVXNlVHlwZSI7ChRDc0l0ZW1CYWdTZXRR",
          "dWlja0JhchIPCgdpdGVtX2lkGAEgAygJEhIKCnNjb3BlX25hbWUYCyABKAUi",
          "OgoXQ3NJdGVtQmFnU2V0UXVpY2tCYXJQb3MSCwoDcG9zGAEgASgFEhIKCnNj",
          "b3BlX25hbWUYCyABKAUiVQoUQ3NJdGVtQmFnU2V0SXRlbUxvY2sSKQoObG9j",
          "a19pbmZvX2xpc3QYASADKAsyES5JdGVtSW5zdExvY2tJbmZvEhIKCnNjb3Bl",
          "X25hbWUYCyABKAUiRQoQSXRlbUluc3RMb2NrSW5mbxIPCgdpdGVtX2lkGAEg",
          "ASgJEg8KB2luc3RfaWQYAiABKAQSDwoHaXNfbG9jaxgDIAEoCCKsAQoVQ3NJ",
          "dGVtQmFnQWJhbmRvbkluQmFnEjUKCGdyaWRfY3V0GAEgAygLMiMuQ3NJdGVt",
          "QmFnQWJhbmRvbkluQmFnLkdyaWRDdXRFbnRyeRIYChB0YXJnZXRfb2JqZWN0",
          "X2lkGAIgASgEEhIKCnNjb3BlX25hbWUYCyABKAUaLgoMR3JpZEN1dEVudHJ5",
          "EgsKA2tleRgBIAEoBRINCgV2YWx1ZRgCIAEoBToCOAEitAEKF0NzSXRlbUJh",
          "Z0Rlc3Ryb3lJbkRlcG90Eg0KBWRlcG90GAEgASgFEjIKBWl0ZW1zGAIgAygL",
          "MiMuQ3NJdGVtQmFnRGVzdHJveUluRGVwb3QuSXRlbXNFbnRyeRIUCgxpbnN0",
          "X2lkX2xpc3QYAyADKAQSEgoKc2NvcGVfbmFtZRgLIAEoBRosCgpJdGVtc0Vu",
          "dHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoBToCOAEisQEKHkNzSXRl",
          "bUJhZ0Rlc3Ryb3lJbkZhY3RvcnlEZXBvdBI5CgVpdGVtcxgBIAMoCzIqLkNz",
          "SXRlbUJhZ0Rlc3Ryb3lJbkZhY3RvcnlEZXBvdC5JdGVtc0VudHJ5EhIKCnNj",
          "b3BlX25hbWUYCyABKAUSEgoKY2hhcHRlcl9pZBgMIAEoCRosCgpJdGVtc0Vu",
          "dHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoBToCOAEiUQoYQ3NJdGVt",
          "QmFnRHVtcEJvdHRsZUluQmFnEhIKCmdyaWRfaW5kZXgYASABKAUSDQoFY291",
          "bnQYAiABKAUSEgoKc2NvcGVfbmFtZRgLIAEoBSJrCiFDc0l0ZW1CYWdEdW1w",
          "Qm90dGxlSW5GYWN0b3J5RGVwb3QSDwoHaXRlbV9pZBgBIAEoCRINCgVjb3Vu",
          "dBgCIAEoBRISCgpzY29wZV9uYW1lGAsgASgFEhIKCmNoYXB0ZXJfaWQYDCAB",
          "KAkiqAEKHENzSXRlbUJhZ1Rha2VvdXRMb3N0QW5kRm91bmQSCwoDYWxsGAEg",
          "ASgIEjcKBWl0ZW1zGAIgAygLMiguQ3NJdGVtQmFnVGFrZW91dExvc3RBbmRG",
          "b3VuZC5JdGVtc0VudHJ5EhQKDGluc3RfaWRfbGlzdBgDIAMoBBosCgpJdGVt",
          "c0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoBToCOAEiSQoUQ3NJ",
          "dGVtQmFnVXNlSXRlbUNhc2USCgoCaWQYASABKAkSDQoFY291bnQYAiABKAUS",
          "FgoOc2VsZWN0X3Jld2FyZHMYAyADKAkiPAocQ3NJdGVtQmFnQ2hnU3BhY2Vz",
          "aGlwQ2hhcHRlchIcChRzcGFjZXNoaXBfY2hhcHRlcl9pZBgBIAEoCSI2ChZT",
          "Y2RJdGVtQmFnU3luY1F1aWNrQmFyEg8KB2l0ZW1faWQYASADKAkSCwoDcG9z",
          "GAIgASgFIkMKE1NjSXRlbUJhZ0NvbW1vblN5bmMSLAoObG9zdF9hbmRfZm91",
          "bmQYASABKAsyFC5TY2RJdGVtTG9zdEFuZEZvdW5kIksKFVNjSXRlbUJhZ0Nv",
          "bW1vbk1vZGlmeRIyCg5sb3N0X2FuZF9mb3VuZBgBIAEoCzIaLlNjZEl0ZW1M",
          "b3N0QW5kRm91bmRNb2RpZnkixAMKElNjSXRlbUJhZ1Njb3BlU3luYxIYCgNi",
          "YWcYASABKAsyCy5TY2RJdGVtQmFnEjwKDWZhY3RvcnlfZGVwb3QYAiADKAsy",
          "JS5TY0l0ZW1CYWdTY29wZVN5bmMuRmFjdG9yeURlcG90RW50cnkSLQoFZGVw",
          "b3QYAyADKAsyHi5TY0l0ZW1CYWdTY29wZVN5bmMuRGVwb3RFbnRyeRIqCglx",
          "dWlja19iYXIYBCABKAsyFy5TY2RJdGVtQmFnU3luY1F1aWNrQmFyEiwKCWFz",
          "c2lzdGFudBgFIAEoCzIZLlNjZEl0ZW1CYWdTY29wZUFzc2lzdGFudBISCgpz",
          "Y29wZV9uYW1lGAsgASgFEhoKEmN1cnJlbnRfY2hhcHRlcl9pZBgMIAEoCRIc",
          "ChRzcGFjZXNoaXBfY2hhcHRlcl9pZBgNIAEoCRpCChFGYWN0b3J5RGVwb3RF",
          "bnRyeRILCgNrZXkYASABKAkSHAoFdmFsdWUYAiABKAsyDS5TY2RJdGVtRGVw",
          "b3Q6AjgBGjsKCkRlcG90RW50cnkSCwoDa2V5GAEgASgFEhwKBXZhbHVlGAIg",
          "ASgLMg0uU2NkSXRlbURlcG90OgI4ASKNAgoYU2NkSXRlbUJhZ1Njb3BlQXNz",
          "aXN0YW50EkEKDWxhc3RfdXNlX3RpbWUYASADKAsyKi5TY2RJdGVtQmFnU2Nv",
          "cGVBc3Npc3RhbnQuTGFzdFVzZVRpbWVFbnRyeRJECg5jYW5ub3RfZGVzdHJv",
          "eRgCIAMoCzIsLlNjZEl0ZW1CYWdTY29wZUFzc2lzdGFudC5DYW5ub3REZXN0",
          "cm95RW50cnkaMgoQTGFzdFVzZVRpbWVFbnRyeRILCgNrZXkYASABKAkSDQoF",
          "dmFsdWUYAiABKAU6AjgBGjQKEkNhbm5vdERlc3Ryb3lFbnRyeRILCgNrZXkY",
          "ASABKAkSDQoFdmFsdWUYAiABKAg6AjgBIkoKI1NjVHJpYWxDaGFyYWN0ZXJF",
          "cXVpcE1lZGljaW5lTW9kaWZ5EhQKDHRyaWFsX29ial9pZBgBIAEoBBINCgVj",
          "b3VudBgCIAEoBSJiCh1TY0l0ZW1CYWdUcmlhbENoYXJEZXBvdE1vZGlmeRIS",
          "CgpzY29wZV9uYW1lGAEgASgFEi0KEHRyaWFsX2NoYXJfZGVwb3QYAiABKAsy",
          "Ey5TY2RJdGVtRGVwb3RNb2RpZnkiMgocU2NJdGVtQmFnVHJpYWxDaGFyRGVw",
          "b3RDbGVhchISCgpzY29wZV9uYW1lGAEgASgFIt0DChRTY0l0ZW1CYWdTY29w",
          "ZU1vZGlmeRIeCgNiYWcYASABKAsyES5TY2RJdGVtQmFnTW9kaWZ5Ej4KDWZh",
          "Y3RvcnlfZGVwb3QYAiADKAsyJy5TY0l0ZW1CYWdTY29wZU1vZGlmeS5GYWN0",
          "b3J5RGVwb3RFbnRyeRIvCgVkZXBvdBgDIAMoCzIgLlNjSXRlbUJhZ1Njb3Bl",
          "TW9kaWZ5LkRlcG90RW50cnkSKgoJcXVpY2tfYmFyGAQgASgLMhcuU2NkSXRl",
          "bUJhZ1N5bmNRdWlja0JhchIyCglhc3Npc3RhbnQYBSABKAsyHy5TY2RJdGVt",
          "QmFnU2NvcGVBc3Npc3RhbnRNb2RpZnkSEgoKc2NvcGVfbmFtZRgLIAEoBRIa",
          "ChJjdXJyZW50X2NoYXB0ZXJfaWQYDCABKAkSFwoPaXNfc2NvcGVfZGVsZXRl",
          "GA4gASgIGkgKEUZhY3RvcnlEZXBvdEVudHJ5EgsKA2tleRgBIAEoCRIiCgV2",
          "YWx1ZRgCIAEoCzITLlNjZEl0ZW1EZXBvdE1vZGlmeToCOAEaQQoKRGVwb3RF",
          "bnRyeRILCgNrZXkYASABKAUSIgoFdmFsdWUYAiABKAsyEy5TY2RJdGVtRGVw",
          "b3RNb2RpZnk6AjgBIp8CCh5TY2RJdGVtQmFnU2NvcGVBc3Npc3RhbnRNb2Rp",
          "ZnkSRwoNbGFzdF91c2VfdGltZRgBIAMoCzIwLlNjZEl0ZW1CYWdTY29wZUFz",
          "c2lzdGFudE1vZGlmeS5MYXN0VXNlVGltZUVudHJ5EkoKDmNhbm5vdF9kZXN0",
          "cm95GAIgAygLMjIuU2NkSXRlbUJhZ1Njb3BlQXNzaXN0YW50TW9kaWZ5LkNh",
          "bm5vdERlc3Ryb3lFbnRyeRoyChBMYXN0VXNlVGltZUVudHJ5EgsKA2tleRgB",
          "IAEoCRINCgV2YWx1ZRgCIAEoBToCOAEaNAoSQ2Fubm90RGVzdHJveUVudHJ5",
          "EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCDoCOAEiqAEKEFNjSXRlbUJh",
          "Z1VzZUl0ZW0SHwoGcmVzdWx0GAEgASgOMg8uRVVzZUl0ZW1SZXN1bHQSHwoJ",
          "dXNlZF9pdGVtGAIgASgLMgwuU2NkSXRlbUdyaWQSGQoRY2hhcl9pbnN0X2lk",
          "X2xpc3QYAyADKAQSIwobZXF1aXBfbWVkaWNpbmVfY2hhcl9pbnN0X2lkGAQg",
          "ASgEEhIKCnNjb3BlX25hbWUYCyABKAUiOwoUU2NJdGVtQmFnU2V0UXVpY2tC",
          "YXISDwoHaXRlbV9pZBgBIAMoCRISCgpzY29wZV9uYW1lGAsgASgFIjoKF1Nj",
          "SXRlbUJhZ1NldFF1aWNrQmFyUG9zEgsKA3BvcxgBIAEoBRISCgpzY29wZV9u",
          "YW1lGAsgASgFIlUKFFNjSXRlbUJhZ1NldEl0ZW1Mb2NrEikKDmxvY2tfaW5m",
          "b19saXN0GAEgAygLMhEuSXRlbUluc3RMb2NrSW5mbxISCgpzY29wZV9uYW1l",
          "GAsgASgFIhcKFVNjSXRlbUJhZ0FiYW5kb25JbkJhZyJJChpTY0l0ZW1CYWdC",
          "YWdUb0ZhY3RvcnlEZXBvdBIXCg9ub3RfYWxsX3N1Y2Nlc3MYASABKAgSEgoK",
          "c2NvcGVfbmFtZRgVIAEoBSIzChxTY0l0ZW1CYWdUYWtlb3V0TG9zdEFuZEZv",
          "dW5kEhMKC25vdGhpbmdfZ290GAEgASgIIncKFVNjSXRlbUJhZ0dvdEl0ZW1U",
          "b2FzdBIwCgVpdGVtcxgBIAMoCzIhLlNjSXRlbUJhZ0dvdEl0ZW1Ub2FzdC5J",
          "dGVtc0VudHJ5GiwKCkl0ZW1zRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVl",
          "GAIgASgFOgI4ASJOChJTY1Jld2FyZFRvYXN0QmVnaW4SGgoScmV3YXJkX3Nv",
          "dXJjZV90eXBlGAEgASgFEhwKFHJld2FyZF90b2FzdF9pbnN0X2lkGAIgASgE",
          "IloKEFNjUmV3YXJkVG9hc3RFbmQSKAoTcmV3YXJkX3ZpcnR1YWxfbGlzdBgB",
          "IAMoCzILLlJld2FyZEl0ZW0SHAoUcmV3YXJkX3RvYXN0X2luc3RfaWQYAiAB",
          "KAQiiQEKF1NjUmV3YXJkRHJvcFNwSXRlbVRvYXN0Eg8KB2l0ZW1faWQYASAB",
          "KAkSDQoFY291bnQYAiABKAMSFAoDcG9zGAMgASgLMgcuVmVjdG9yEhoKEnJl",
          "d2FyZF9zb3VyY2VfdHlwZRgEIAEoBRIcChRyZXdhcmRfdG9hc3RfaW5zdF9p",
          "ZBgFIAEoBCIxChRTY0l0ZW1CYWdVc2VJdGVtQ2FzZRIKCgJpZBgBIAEoCRIN",
          "CgVjb3VudBgCIAEoBSI8ChxTY0l0ZW1CYWdDaGdTcGFjZXNoaXBDaGFwdGVy",
          "EhwKFHNwYWNlc2hpcF9jaGFwdGVyX2lkGAEgASgJIqkCCgdDc0xvZ2luEgsK",
          "A3VpZBgBIAEoCRINCgV0b2tlbhgCIAEoCRIPCgdjaGFubmVsGAMgASgJEhQK",
          "DHNlcnZlcl9ncm91cBgEIAEoBRIcChRsYXN0X3JlY3ZfZG93bl9zZXFpZBgF",
          "IAEoBBIWCg5jbGllbnRfdmVyc2lvbhgGIAEoCRIaChJjbGllbnRfcmVzX3Zl",
          "cnNpb24YByABKAkSGQoRY2xpZW50X3B1YmxpY19rZXkYCCABKAwSKAoLcGxh",
          "dGZvcm1faWQYCSABKA4yEy5DbGllbnRQbGF0Zm9ybVR5cGUSFwoEYXJlYRgK",
          "IAEoDjIJLkFyZWFUeXBlEhUKA2VudhgLIAEoDjIILkVudlR5cGUSFAoMcGF5",
          "X3BsYXRmb3JtGAwgASgFIvQBCgdTY0xvZ2luEgsKA3VpZBgBIAEoCRIWCg5p",
          "c19maXJzdF9sb2dpbhgCIAEoCBIZChFzZXJ2ZXJfcHVibGljX2tleRgDIAEo",
          "DBIbChNzZXJ2ZXJfZW5jcnlwX25vbmNlGAQgASgMEhoKEmxhc3RfcmVjdl91",
          "cF9zZXFpZBgFIAEoBBIUCgxpc19yZWNvbm5lY3QYBiABKAgSDgoGaXNfZW5j",
          "GAcgASgIEhsKE2lzX2NsaWVudF9yZWNvbm5lY3QYCCABKAgSEwoLc2VydmVy",
          "X3RpbWUYCSABKAMSGAoQc2VydmVyX3RpbWVfem9uZRgKIAEoBSI6CgxDc0Ny",
          "ZWF0ZVJvbGUSEQoJcm9sZV9uYW1lGAEgASgJEhcKBmdlbmRlchgCIAEoDjIH",
          "LkdlbmRlciJ6Cg5TY1N5bmNCYXNlRGF0YRIOCgZyb2xlaWQYASABKAQSEQoJ",
          "cm9sZV9uYW1lGAIgASgJEg0KBWxldmVsGAMgASgNEgsKA2V4cBgEIAEoDRIQ",
          "CghzaG9ydF9pZBgHIAEoCRIXCgZnZW5kZXIYCCABKA4yBy5HZW5kZXIiNQoO",
          "U2NOdGZFcnJvckNvZGUSEgoKZXJyb3JfY29kZRgBIAEoBRIPCgdkZXRhaWxz",
          "GAIgASgJIioKCVNjTnRmQ29kZRIMCgRjb2RlGAEgASgFEg8KB2RldGFpbHMY",
          "AiABKAkiCgoIQ3NMb2dvdXQiHgoLQ3NHbUNvbW1hbmQSDwoHY29tbWFuZBgB",
          "IAEoCSLsBAoOU2NkR21HYWNoYVN0YXQSFQoNZ2FjaGFfcG9vbF9pZBgBIAEo",
          "CRISCgpnYWNoYV90eXBlGAIgASgFEhgKEHRvdGFsX3B1bGxfY291bnQYAyAB",
          "KAUSRQoVdXBfZ290X3B1bGxfY291bnRfbWFwGAQgAygLMiYuU2NkR21HYWNo",
          "YVN0YXQuVXBHb3RQdWxsQ291bnRNYXBFbnRyeRIUCgx1cF9nb3RfY291bnQY",
          "BSABKAUSSwoYc3RhcjZfZ290X3B1bGxfY291bnRfbWFwGAYgAygLMikuU2Nk",
          "R21HYWNoYVN0YXQuU3RhcjZHb3RQdWxsQ291bnRNYXBFbnRyeRIXCg9zdGFy",
          "Nl9nb3RfY291bnQYByABKAUSGwoTc3RhcjZfZ2UyX2dvdF9jb3VudBgIIAEo",
          "BRJLChhzdGFyNV9nb3RfcHVsbF9jb3VudF9tYXAYCSADKAsyKS5TY2RHbUdh",
          "Y2hhU3RhdC5TdGFyNUdvdFB1bGxDb3VudE1hcEVudHJ5EhcKD3N0YXI1X2dv",
          "dF9jb3VudBgKIAEoBRIbChNzdGFyNV9nZTJfZ290X2NvdW50GAsgASgFGjgK",
          "FlVwR290UHVsbENvdW50TWFwRW50cnkSCwoDa2V5GAEgASgFEg0KBXZhbHVl",
          "GAIgASgFOgI4ARo7ChlTdGFyNkdvdFB1bGxDb3VudE1hcEVudHJ5EgsKA2tl",
          "eRgBIAEoBRINCgV2YWx1ZRgCIAEoBToCOAEaOwoZU3RhcjVHb3RQdWxsQ291",
          "bnRNYXBFbnRyeRILCgNrZXkYASABKAUSDQoFdmFsdWUYAiABKAU6AjgBIh0K",
          "C1NjR21Db21tYW5kEg4KBnJlc3VsdBgBIAEoCSIbCgZDc1BpbmcSEQoJY2xp",
          "ZW50X3RzGAEgASgEIi4KBlNjUGluZxIRCgljbGllbnRfdHMYASABKAQSEQoJ",
          "c2VydmVyX3RzGAIgASgEIhEKD1NjUmVjb25uZWN0SW5jciIRCg9TY1JlY29u",
          "bmVjdEZ1bGwiIAoLQ3NGbHVzaFN5bmMSEQoJY2xpZW50X3RzGAEgASgEIjMK",
          "C1NjRmx1c2hTeW5jEhEKCWNsaWVudF90cxgBIAEoBBIRCglzZXJ2ZXJfdHMY",
          "AiABKAQiGQoJQ3NTZXROYW1lEgwKBG5hbWUYASABKAkiKwoJU2NTZXROYW1l",
          "EgwKBG5hbWUYASABKAkSEAoIc2hvcnRfaWQYAiABKAkiJgoLQ3NTZXRHZW5k",
          "ZXISFwoGZ2VuZGVyGAEgASgOMgcuR2VuZGVyIiYKC1NjU2V0R2VuZGVyEhcK",
          "BmdlbmRlchgBIAEoDjIHLkdlbmRlciIbCgtDc0NoZWNrTmFtZRIMCgRuYW1l",
          "GAEgASgJIikKC1NjQ2hlY2tOYW1lEgwKBG5hbWUYASABKAkSDAoEcGFzcxgC",
          "IAEoCCITChFTY1N5bmNGdWxsRGF0YUVuZCLvAQoJQ3NNYWlsRGVmEhEKCW1h",
          "aWxfdHlwZRgBIAEoBRIPCgdtYWlsX2lkGAIgASgEEhMKC2V4cGlyZV90aW1l",
          "GAMgASgDEg8KB2lzX3JlYWQYBCABKAgSGQoRaXNfYXR0YWNobWVudF9nb3QY",
          "BSABKAgSEQoJc2VuZF90aW1lGAYgASgDEiIKDG1haWxfY29udGVudBgHIAEo",
          "CzIMLk1haWxDb250ZW50Eh4KCWl0ZW1fbGlzdBgIIAMoCzILLlJld2FyZEl0",
          "ZW0SDwoHaXNfc3RhchgJIAEoCBIVCg1tYWlsX3N1Yl90eXBlGAogASgFIiEK",
          "CUNzR2V0TWFpbBIUCgxtYWlsX2lkX2xpc3QYASADKAQiHQoKQ3NSZWFkTWFp",
          "bBIPCgdtYWlsX2lkGAEgASgEIh8KDENzRGVsZXRlTWFpbBIPCgdtYWlsX2lk",
          "GAEgASgEIhEKD0NzRGVsZXRlQWxsTWFpbCImChNDc0dldE1haWxBdHRhY2ht",
          "ZW50Eg8KB21haWxfaWQYASABKAQiGAoWQ3NHZXRBbGxNYWlsQXR0YWNobWVu",
          "dCIyCg5Dc01hcmtTdGFyTWFpbBIPCgdtYWlsX2lkGAEgASgEEg8KB2lzX3N0",
          "YXIYAiABKAgiWgoNU2NTeW5jQWxsTWFpbBIUCgxtYWlsX2lkX2xpc3QYASAD",
          "KAQSFAoMbmV3X21haWxfdGFnGAIgASgIEh0KFW5ld19xdWVzdGlvbm5haXJl",
          "X3RhZxgDIAEoCCIdCgpTY1JlYWRNYWlsEg8KB21haWxfaWQYASABKAQiKgoJ",
          "U2NHZXRNYWlsEh0KCW1haWxfbGlzdBgBIAMoCzIKLkNzTWFpbERlZiJQChNT",
          "Y0dldE1haWxBdHRhY2htZW50EhwKFHN1Y2Nlc3NfbWFpbF9pZF9saXN0GAEg",
          "AygEEhsKE2ZhaWxlZF9tYWlsX2lkX2xpc3QYAiADKAQiJwoPU2NEZWxNYWls",
          "Tm90aWZ5EhQKDG1haWxfaWRfbGlzdBgBIAMoBCJGCg9TY05ld01haWxOb3Rp",
          "ZnkSFAoMbWFpbF9pZF9saXN0GAEgAygEEh0KFW5ld19xdWVzdGlvbm5haXJl",
          "X3RhZxgCIAEoCCIyCg5TY01hcmtTdGFyTWFpbBIPCgdtYWlsX2lkGAEgASgE",
          "Eg8KB2lzX3N0YXIYAiABKAgiUAobQ3NkU2NlbmVTdGF0aWNNYXBNYXJrVXBk",
          "YXRlEiEKBG1hcmsYASABKAsyEy5TY2VuZVN0YXRpY01hcE1hcmsSDgoGaXNf",
          "YWRkGAIgASgIIkcKGkNzU2NlbmVTdGF0aWNNYXBNYXJrVXBkYXRlEikKA29w",
          "cxgBIAMoCzIcLkNzZFNjZW5lU3RhdGljTWFwTWFya1VwZGF0ZSI9ChRDc1Nj",
          "ZW5lU2V0VHJhY2tQb2ludBIlCgt0cmFja19wb2ludBgBIAEoCzIQLlNjZW5l",
          "VHJhY2tQb2ludCJ0ChJTY1NjZW5lTWFwTWFya1N5bmMSNwoac2NlbmVfc3Rh",
          "dGljX21hcF9tYXJrX2xpc3QYASADKAsyEy5TY2VuZVN0YXRpY01hcE1hcmsS",
          "JQoLdHJhY2tfcG9pbnQYAiABKAsyEC5TY2VuZVRyYWNrUG9pbnQiWwoaU2NT",
          "Y2VuZVN0YXRpY01hcE1hcmtNb2RpZnkSJwoKYWRkZWRfbGlzdBgBIAMoCzIT",
          "LlNjZW5lU3RhdGljTWFwTWFyaxIUCgxkZWxldGVkX2xpc3QYAiADKAUiPQoU",
          "U2NTY2VuZVNldFRyYWNrUG9pbnQSJQoLdHJhY2tfcG9pbnQYASABKAsyEC5T",
          "Y2VuZVRyYWNrUG9pbnQiPQoMTWluaUdhbWVJbmZvEhQKDG1pbmlfZ2FtZV9p",
          "ZBgBIAEoCRIXCg9jb21wbGV0ZWRfY291bnQYAiABKAUiPwoRU2NTeW5jQWxs",
          "TWluaUdhbWUSKgoTY29tcGxldGVkX21pbmlfZ2FtZRgBIAMoCzINLk1pbmlH",
          "YW1lSW5mbyIqChJDc0NvbXBsZXRlTWluaUdhbWUSFAoMbWluaV9nYW1lX2lk",
          "GAIgASgJIkMKElNjQ29tcGxldGVNaW5pR2FtZRIUCgxtaW5pX2dhbWVfaWQY",
          "AiABKAkSFwoPY29tcGxldGVkX2NvdW50GAMgASgFIkEKCEF0dHJJbmZvEhEK",
          "CWF0dHJfdHlwZRgBIAEoBRITCgtiYXNpY192YWx1ZRgCIAEoARINCgV2YWx1",
          "ZRgDIAEoASI7CgpTY1N5bmNBdHRyEg8KB29ial9pX2QYASABKAQSHAoJYXR0",
          "cl9saXN0GAIgAygLMgkuQXR0ckluZm8iEwoRU2NOZXdOb3RpY2VOb3RpZnki",
          "ggEKFFF1ZXN0T2JqZWN0aXZlRGV0YWlsEjgKCmhhc2hfdmFsdWUYAiADKAsy",
          "JC5RdWVzdE9iamVjdGl2ZURldGFpbC5IYXNoVmFsdWVFbnRyeRowCg5IYXNo",
          "VmFsdWVFbnRyeRILCgNrZXkYASABKAQSDQoFdmFsdWUYAiABKAg6AjgBIp0C",
          "Cg5RdWVzdE9iamVjdGl2ZRIUCgxjb25kaXRpb25faWQYASABKAkSOAoNZXh0",
          "cmFfZGV0YWlscxgCIAMoCzIhLlF1ZXN0T2JqZWN0aXZlLkV4dHJhRGV0YWls",
          "c0VudHJ5EisKBnZhbHVlcxgEIAMoCzIbLlF1ZXN0T2JqZWN0aXZlLlZhbHVl",
          "c0VudHJ5EhMKC2lzX2NvbXBsZXRlGAMgASgIGkoKEUV4dHJhRGV0YWlsc0Vu",
          "dHJ5EgsKA2tleRgBIAEoCRIkCgV2YWx1ZRgCIAEoCzIVLlF1ZXN0T2JqZWN0",
          "aXZlRGV0YWlsOgI4ARotCgtWYWx1ZXNFbnRyeRILCgNrZXkYASABKAkSDQoF",
          "dmFsdWUYAiABKAU6AjgBIlkKBVF1ZXN0EhAKCHF1ZXN0X2lkGAEgASgJEhMK",
          "C3F1ZXN0X3N0YXRlGAIgASgFEikKEHF1ZXN0X29iamVjdGl2ZXMYBCADKAsy",
          "Dy5RdWVzdE9iamVjdGl2ZSK8AQoHTWlzc2lvbhISCgptaXNzaW9uX2lkGAEg",
          "ASgJEhUKDW1pc3Npb25fc3RhdGUYAiABKAUSEgoKc3VjY2VlZF9pZBgDIAEo",
          "BRIsCgpwcm9wZXJ0aWVzGAQgAygLMhguTWlzc2lvbi5Qcm9wZXJ0aWVzRW50",
          "cnkaRAoPUHJvcGVydGllc0VudHJ5EgsKA2tleRgBIAEoBRIgCgV2YWx1ZRgC",
          "IAEoCzIRLkR5bmFtaWNQYXJhbWV0ZXI6AjgBIkcKEE9iamVjdGl2ZVZhbHVl",
          "T3ASFAoMY29uZGl0aW9uX2lkGAEgASgJEg0KBXZhbHVlGAIgASgFEg4KBmlz",
          "X2FkZBgDIAEoCCIlCg9Dc0FjY2VwdE1pc3Npb24SEgoKbWlzc2lvbl9pZBgB",
          "IAEoCSIjCg1Dc0ZhaWxNaXNzaW9uEhIKCm1pc3Npb25faWQYASABKAkiJAoO",
          "Q3NUcmFja01pc3Npb24SEgoKbWlzc2lvbl9pZBgBIAEoCSIXChVDc1N0b3BU",
          "cmFja2luZ01pc3Npb24iwQEKFUNzTWlzc2lvbkV2ZW50VHJpZ2dlchISCgpt",
          "aXNzaW9uX2lkGAEgASgJEhIKCmV2ZW50X25hbWUYAiABKAkSOgoKcHJvcGVy",
          "dGllcxgDIAMoCzImLkNzTWlzc2lvbkV2ZW50VHJpZ2dlci5Qcm9wZXJ0aWVz",
          "RW50cnkaRAoPUHJvcGVydGllc0VudHJ5EgsKA2tleRgBIAEoCRIgCgV2YWx1",
          "ZRgCIAEoCzIRLkR5bmFtaWNQYXJhbWV0ZXI6AjgBIj8KFVNjTWlzc2lvbkV2",
          "ZW50VHJpZ2dlchISCgptaXNzaW9uX2lkGAEgASgJEhIKCmV2ZW50X25hbWUY",
          "AiABKAkiWgoWQ3NVcGRhdGVRdWVzdE9iamVjdGl2ZRIQCghxdWVzdF9pZBgB",
          "IAEoCRIuChNvYmplY3RpdmVfdmFsdWVfb3BzGAIgAygLMhEuT2JqZWN0aXZl",
          "VmFsdWVPcCKxAQoXU2NVcGRhdGVNaXNzaW9uUHJvcGVydHkSEgoKbWlzc2lv",
          "bl9pZBgBIAEoCRI8Cgpwcm9wZXJ0aWVzGAIgAygLMiguU2NVcGRhdGVNaXNz",
          "aW9uUHJvcGVydHkuUHJvcGVydGllc0VudHJ5GkQKD1Byb3BlcnRpZXNFbnRy",
          "eRILCgNrZXkYASABKAUSIAoFdmFsdWUYAiABKAsyES5EeW5hbWljUGFyYW1l",
          "dGVyOgI4ASJVChpDc01pc3Npb25DbGllbnRUcmlnZ2VyRG9uZRISCgptaXNz",
          "aW9uX2lkGAEgASgJEhIKCnNjZW5lX25hbWUYAiABKAkSDwoHYXJlYV9pZBgD",
          "IAEoCSJCChZDc1NldE5ld01pc3Npb25UYWdEb25lEigKEG5ld19taXNzaW9u",
          "X3RhZ3MYBSADKAsyDi5OZXdNaXNzaW9uVGFnIjUKDU5ld01pc3Npb25UYWcS",
          "EgoKbWlzc2lvbl9pZBgBIAEoCRIQCghxdWVzdF9pZBgCIAEoCSLOAgoQU2NT",
          "eW5jQWxsTWlzc2lvbhIYChB0cmFja19taXNzaW9uX2lkGAEgASgJEjEKCG1p",
          "c3Npb25zGAIgAygLMh8uU2NTeW5jQWxsTWlzc2lvbi5NaXNzaW9uc0VudHJ5",
          "EjQKCmN1cl9xdWVzdHMYAyADKAsyIC5TY1N5bmNBbGxNaXNzaW9uLkN1clF1",
          "ZXN0c0VudHJ5EhgKEGRhaWx5X21pc3Npb25faWQYBCABKAkSKAoQbmV3X21p",
          "c3Npb25fdGFncxgFIAMoCzIOLk5ld01pc3Npb25UYWcaOQoNTWlzc2lvbnNF",
          "bnRyeRILCgNrZXkYASABKAkSFwoFdmFsdWUYAiABKAsyCC5NaXNzaW9uOgI4",
          "ARo4Cg5DdXJRdWVzdHNFbnRyeRILCgNrZXkYASABKAkSFQoFdmFsdWUYAiAB",
          "KAsyBi5RdWVzdDoCOAEiNAoYU2NEYWlseU1pc3Npb25JbmZvVXBkYXRlEhgK",
          "EGRhaWx5X21pc3Npb25faWQYASABKAkidgoSU2NRdWVzdFN0YXRlVXBkYXRl",
          "EhAKCHF1ZXN0X2lkGAEgASgJEhMKC3F1ZXN0X3N0YXRlGAIgASgFEhIKCmJf",
          "cm9sbGJhY2sYAyABKAgSJQoOcm9sZV9iYXNlX2luZm8YCiABKAsyDS5Sb2xl",
          "QmFzZUluZm8i/QEKFFNjTWlzc2lvblN0YXRlVXBkYXRlEhIKCm1pc3Npb25f",
          "aWQYASABKAkSFQoNbWlzc2lvbl9zdGF0ZRgCIAEoBRISCgpzdWNjZWVkX2lk",
          "GAMgASgFEjkKCnByb3BlcnRpZXMYBCADKAsyJS5TY01pc3Npb25TdGF0ZVVw",
          "ZGF0ZS5Qcm9wZXJ0aWVzRW50cnkSJQoOcm9sZV9iYXNlX2luZm8YCiABKAsy",
          "DS5Sb2xlQmFzZUluZm8aRAoPUHJvcGVydGllc0VudHJ5EgsKA2tleRgBIAEo",
          "BRIgCgV2YWx1ZRgCIAEoCzIRLkR5bmFtaWNQYXJhbWV0ZXI6AjgBIiEKDVNj",
          "UXVlc3RGYWlsZWQSEAoIcXVlc3RfaWQYASABKAkiJQoPU2NNaXNzaW9uRmFp",
          "bGVkEhIKCm1pc3Npb25faWQYASABKAkiJgoQU2NNaXNzaW9uRGVsZXRlZBIS",
          "CgptaXNzaW9uX2lkGAEgASgJIioKFFNjVHJhY2tNaXNzaW9uQ2hhbmdlEhIK",
          "Cm1pc3Npb25faWQYASABKAkiVgoXU2NRdWVzdE9iamVjdGl2ZXNVcGRhdGUS",
          "EAoIcXVlc3RfaWQYASABKAkSKQoQcXVlc3Rfb2JqZWN0aXZlcxgEIAMoCzIP",
          "LlF1ZXN0T2JqZWN0aXZlIiMKD1NjUXVlc3RSb2xsYmFjaxIQCghxdWVzdF9p",
          "ZBgBIAEoCSJKCiBTY1NjZW5lVHJpZ2dlckNsaWVudE1pc3Npb25FdmVudBIS",
          "CgptaXNzaW9uX2lkGAEgASgJEhIKCmV2ZW50X25hbWUYAiABKAkiJAoRQ3NS",
          "b2xsQmxvY01pc3Npb24SDwoHYmxvY19pZBgBIAEoCSJnChFTY1JvbGxCbG9j",
          "TWlzc2lvbhIPCgdibG9jX2lkGAEgASgJEhIKCm1pc3Npb25faWQYAiABKAkS",
          "EgoKcm9sbF9jb3VudBgDIAEoAxIZChFuZXh0X3JlZnJlc2hfdGluZRgEIAEo",
          "AyLnAQoVU2NTeW5jQmxvY01pc3Npb25JbmZvEj8KDWJsb2NfbWlzc2lvbnMY",
          "ASADKAsyKC5TY1N5bmNCbG9jTWlzc2lvbkluZm8uQmxvY01pc3Npb25zRW50",
          "cnkSEgoKcmV3YXJkX2dvdBgCIAEoCBISCgpyb2xsX2NvdW50GAMgASgDEhkK",
          "EW5leHRfcmVmcmVzaF90aW5lGAQgASgDEhUKDWNvbXBsZXRlZF9udW0YBSAB",
          "KAUaMwoRQmxvY01pc3Npb25zRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVl",
          "GAIgASgJOgI4ASI4Ch9TY0Jsb2NDb21wbGV0ZWRNaXNzaW9uTnVtVXBkYXRl",
          "EhUKDWNvbXBsZXRlZF9udW0YASABKAUibAoaU2NTY2VuZU1vbnN0ZXJTcGF3",
          "bmVyU3RhcnQSFAoMc2NlbmVfbnVtX2lkGAEgASgFEhIKCnNwYXduZXJfaWQY",
          "AiABKAQSJAocZW5hYmxlZF9oaWRkZW5fd2F2ZV9rZXlfbGlzdBgDIAMoCSJF",
          "ChlTY1NjZW5lTW9uc3RlclNwYXduZXJTdG9wEhQKDHNjZW5lX251bV9pZBgB",
          "IAEoBRISCgpzcGF3bmVyX2lkGAIgASgEIkkKHVNjU2NlbmVNb25zdGVyU3Bh",
          "d25lckNvbXBsZXRlEhQKDHNjZW5lX251bV9pZBgBIAEoBRISCgpzcGF3bmVy",
          "X2lkGAIgASgEInUKHkNzU2NlbmVNb25zdGVyU3Bhd25lckJlZ2luV2F2ZRIU",
          "CgxzY2VuZV9udW1faWQYASABKAUSEgoKc3Bhd25lcl9pZBgCIAEoBBIPCgd3",
          "YXZlX2lkGAMgASgFEhgKEGNsaWVudF90aW1lc3RhbXAYBCABKAEiXgohU2NT",
          "Y2VuZU1vbnN0ZXJTcGF3bmVyV2F2ZUNvbXBsZXRlEhQKDHNjZW5lX251bV9p",
          "ZBgBIAEoBRISCgpzcGF3bmVyX2lkGAIgASgEEg8KB3dhdmVfaWQYAyABKAUi",
          "WwoeU2NTY2VuZU1vbnN0ZXJTcGF3bmVyQmVnaW5XYXZlEhQKDHNjZW5lX251",
          "bV9pZBgBIAEoBRISCgpzcGF3bmVyX2lkGAIgASgEEg8KB3dhdmVfaWQYAyAB",
          "KAUicwokU2NTY2VuZU1vbnN0ZXJTcGF3bmVyT2JqZWN0RGF0YUJlZ2luEhQK",
          "DHNjZW5lX251bV9pZBgBIAEoBRISCgpzcGF3bmVyX2lkGAIgASgEEg8KB3dh",
          "dmVfaWQYAyABKAUSEAoIZ3JvdXBfaWQYBCABKAUikgEKIlNjU2NlbmVNb25z",
          "dGVyU3Bhd25lck9iamVjdERhdGFFbmQSFAoMc2NlbmVfbnVtX2lkGAEgASgF",
          "EhIKCnNwYXduZXJfaWQYAiABKAQSDwoHd2F2ZV9pZBgDIAEoBRIQCghncm91",
          "cF9pZBgEIAEoBRIfCgdkZXRhaWxzGAUgAygLMg4uU3Bhd25lckRldGFpbCJF",
          "Cg1TcGF3bmVyRGV0YWlsEg4KBm9ial9pZBgBIAEoBBIRCglhY3Rpb25faWQY",
          "AiABKAUSEQoJc3Bhd25faWR4GAMgASgFIiUKDUNzQ3JlYXRlT3JkZXISFAoM",
          "cHJvZHVjdF9jb2RlGAEgASgJIjkKDVNjQ3JlYXRlT3JkZXISEgoKc2lnbl9w",
          "YXJhbRgBIAEoCRIUCgxwcm9kdWN0X2NvZGUYAiABKAkiIgoKU2NPcmRlck1z",
          "ZxIUCgxwcm9kdWN0X2NvZGUYASABKAkiiAEKBkNTSGVhZBINCgVtc2dpZBgB",
          "IAEoBRIQCgh1cF9zZXFpZBgCIAEoBBISCgpkb3duX3NlcWlkGAMgASgEEhgK",
          "EHRvdGFsX3BhY2tfY291bnQYBCABKA0SGgoSY3VycmVudF9wYWNrX2luZGV4",
          "GAUgASgNEhMKC2lzX2NvbXByZXNzGAYgASgIIhkKCkNzTWVyZ2VNc2cSCwoD",
          "bXNnGAEgASgMIiEKDkNzUHJ0c01hcmtSZWFkEg8KB3BydHNfaWQYASABKAki",
          "NQoWQ3NQcnRzTWFya1Rlcm1pbmFsUmVhZBIbChN0ZXJtaW5hbF9jb250ZW50",
          "X2lkGAEgASgJIiMKFUNzUHJ0c1JpY2hDb250ZW50UmVhZBIKCgJpZBgBIAEo",
          "CSIlChdDc1BydHNGaW5pc2hJbnZlc3RpZ2F0ZRIKCgJpZBgBIAEoCSKmAQoe",
          "U2NTeW5jUmFjaW5nRHVuZ2VvblBhc3NlZExldmVsEk0KEG1heF9wYXNzZWRf",
          "bGV2ZWwYASADKAsyMy5TY1N5bmNSYWNpbmdEdW5nZW9uUGFzc2VkTGV2ZWwu",
          "TWF4UGFzc2VkTGV2ZWxFbnRyeRo1ChNNYXhQYXNzZWRMZXZlbEVudHJ5EgsK",
          "A2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoBToCOAEiYAoUU2NSYWNpbmdEdW5n",
          "ZW9uRW50ZXISEgoKZHVuZ2Vvbl9pZBgBIAEoCRINCgVsZXZlbBgCIAEoBRIS",
          "Cgp0YWN0aWNzX2lkGAMgASgJEhEKCWNoYXJfdGVhbRgEIAMoBCKyAQodU2NT",
          "eW5jUmFjaW5nRHVuZ2VvblNldHRsZW1lbnQSEgoKZHVuZ2Vvbl9pZBgBIAEo",
          "CRINCgVsZXZlbBgCIAEoBRIRCglpc19wYXNzZWQYAyABKAgSFgoOdG90YWxf",
          "cGxheXRpbWUYBCABKAMSDQoFc2NvcmUYBSABKAISFwoPYmF0dGxlX3Bhc3Nf",
          "ZXhwGAYgASgFEhsKE2NvbXBsZXRlZF9yb29tX2xpc3QYByADKAMiywEKHFNj",
          "U3luY1JhY2luZ0R1bmdlb25SZWNvbm5lY3QSEgoKZHVuZ2Vvbl9pZBgBIAEo",
          "CRINCgVsZXZlbBgCIAEoBRIWCg50b3RhbF9wbGF5dGltZRgDIAEoAxIRCgli",
          "dWZmX2xpc3QYBCADKAkSEgoKdGFjdGljc19pZBgFIAEoCRIcChRraWxsX21v",
          "bnN0ZXJfY291bnRlchgGIAEoBRIOCgZwYXVzZWQYByABKAgSGwoTY29tcGxl",
          "dGVkX3Jvb21fbGlzdBgIIAMoAyIyChxDc1JhY2luZ0R1bmdlb25HZXRCYXR0",
          "bGVQYXNzEhIKCmR1bmdlb25faWQYASABKAkifQocU2NSYWNpbmdEdW5nZW9u",
          "R2V0QmF0dGxlUGFzcxISCgpkdW5nZW9uX2lkGAEgASgJEhcKD2JhdHRsZV9w",
          "YXNzX2V4cBgCIAEoBRIYChByZWNlaXZlZF9ub2RlX2lkGAMgAygFEhYKDnVu",
          "bG9ja19ub2RlX2lkGAQgAygFImsKJkNzUmFjaW5nRHVuZ2VvbkJhdHRsZVBh",
          "c3NSZWNlaXZlUmV3YXJkEhIKCmR1bmdlb25faWQYASABKAkSEwoLcmVjZWl2",
          "ZV9hbGwYAiABKAgSGAoQcmVjZWl2ZWRfbm9kZV9pZBgDIAEoBSKIAQomU2NS",
          "YWNpbmdEdW5nZW9uQmF0dGxlUGFzc1JlY2VpdmVSZXdhcmQSEgoKZHVuZ2Vv",
          "bl9pZBgBIAEoCRIXCg9iYXR0bGVfcGFzc19leHAYAiABKAUSFwoPcmVjZWl2",
          "ZV9yZXdhcmRzGAMgAygJEhgKEHJlY2VpdmVkX25vZGVfaWQYBCADKAUiMwod",
          "Q3NSYWNpbmdEdW5nZW9uR2V0QWNoaWV2ZW1lbnQSEgoKZHVuZ2Vvbl9pZBgB",
          "IAEoCSJkCh1TY1JhY2luZ0R1bmdlb25HZXRBY2hpZXZlbWVudBISCgpkdW5n",
          "ZW9uX2lkGAEgASgJEi8KDGFjaGlldmVtZW50cxgCIAMoCzIZLlJhY2luZ0R1",
          "bmdlb25BY2hpZXZlbWVudCJwChhSYWNpbmdEdW5nZW9uQWNoaWV2ZW1lbnQS",
          "DwoHbm9kZV9pZBgBIAEoBRIoCgZzdGF0dXMYAiABKA4yGC5SYWNpbmdBY2hp",
          "ZXZlbWVudFN0YXR1cxIZChFjb25kaXRpb25fY291bnRlchgDIAEoBSJwCidD",
          "c1JhY2luZ0R1bmdlb25BY2hpZXZlbWVudFJlY2VpdmVSZXdhcmQSEgoKZHVu",
          "Z2Vvbl9pZBgBIAEoCRITCgtyZWNlaXZlX2FsbBgCIAEoCBIcChRyZWNlaXZl",
          "ZF9hY2hpZXZlbWVudBgDIAEoBSKHAQonU2NSYWNpbmdEdW5nZW9uQWNoaWV2",
          "ZW1lbnRSZWNlaXZlUmV3YXJkEhIKCmR1bmdlb25faWQYASABKAkSFwoPcmVj",
          "ZWl2ZV9yZXdhcmRzGAIgAygJEi8KDGFjaGlldmVtZW50cxgDIAMoCzIZLlJh",
          "Y2luZ0R1bmdlb25BY2hpZXZlbWVudCIWChRDc1JhY2luZ0R1bmdlb25MZWF2",
          "ZSJHCh1TY1N5bmNSYWNpbmdEdW5nZW9uQnVmZk1vZGlmeRIRCglidWZmX2xp",
          "c3QYASADKAkSEwoLYWRkX2J1ZmZfaWQYAiABKAkiPwofQ3NSYWNpbmdEdW5n",
          "ZW9uVXBkYXRlQmF0dGxlSW5mbxIcChRraWxsX21vbnN0ZXJfY291bnRlchgB",
          "IAEoBSI+CiRTY1N5bmNSYWNpbmdEdW5nZW9uQWNoaWV2ZW1lbnRNb2RpZnkS",
          "FgoOYWNoaWV2ZW1lbnRfaWQYASABKAUiWgoWU2NTeW5jUmFjaW5nVGltZXJQ",
          "YXVzZRIOCgZwYXVzZWQYASABKAgSGAoQc2VydmVyX3RpbWVzdGFtcBgCIAEo",
          "AxIWCg50b3RhbF9wbGF5dGltZRgDIAEoAyIyCh9TY1N5bmNSYWNpbmdEdW5n",
          "ZW9uQ29tcGxldGVSb29tEg8KB3Jvb21faWQYASABKAMiNgohU2NTeW5jUmFj",
          "aW5nRHVuZ2VvbkNvdW50ZG93bkV2ZW50EhEKCWRlYnVmZl9pZBgBIAEoCSI5",
          "ChFSZW1vdmVJdGVtTmV3RGF0YRISCgpkZXBvdF90eXBlGAEgASgFEhAKCGlu",
          "c3RfaWRzGAIgAygEIk4KE0NzUmVtb3ZlSXRlbU5ld1RhZ3MSEAoIaXRlbV9p",
          "ZHMYASADKA0SJQoJaW5zdF9kYXRhGAIgAygLMhIuUmVtb3ZlSXRlbU5ld0Rh",
          "dGEiFQoTU2NSZW1vdmVJdGVtTmV3VGFncyIqChNDc1JlZERvdFJlYWRGb3Jt",
          "dWxhEhMKC2Zvcm11bGFfaWRzGAEgAygNIi4KE0NzUmVkRG90UmVhZENoYXJE",
          "b2MSCgoCaWQYASABKA0SCwoDaWRzGAIgAygNIjAKFUNzUmVkRG90UmVhZENo",
          "YXJWb2ljZRIKCgJpZBgBIAEoDRILCgNpZHMYAiADKA0iJgoYQ3NSZWREb3RS",
          "ZWFkRXF1aXBGb3JtdWxhEgoKAmlkGAEgASgNIlkKD0NzUnBnRHVuZ2VvbkJ1",
          "eRISCgpkdW5nZW9uX2lkGAEgASgJEhUKDWVxdWlwX2l0ZW1faWQYAiABKAkS",
          "GwoTY29zdF9lcXVpcF9pbnN0X2lkcxgDIAMoBCI/Cg9TY1JwZ0R1bmdlb25C",
          "dXkSFQoNZXF1aXBfaXRlbV9pZBgBIAEoCRIVCg1lcXVpcF9pbnN0X2lkGAIg",
          "ASgEIikKEENzUnBnRHVuZ2VvblNlbGwSFQoNZXF1aXBfaW5zdF9pZBgBIAEo",
          "BCIpChBTY1JwZ0R1bmdlb25TZWxsEhUKDWVxdWlwX2luc3RfaWQYASABKAQi",
          "PwoWQ3NScGdEdW5nZW9uRXF1aXBQdXRvbhIOCgZzbG90aWQYASABKAUSFQoN",
          "ZXF1aXBfaW5zdF9pZBgCIAEoBCI/ChZTY1JwZ0R1bmdlb25FcXVpcFB1dG9u",
          "Eg4KBnNsb3RpZBgBIAEoBRIVCg1lcXVpcF9pbnN0X2lkGAIgASgEIikKF0Nz",
          "UnBnRHVuZ2VvbkVxdWlwUHV0b2ZmEg4KBnNsb3RpZBgBIAEoBSIpChdTY1Jw",
          "Z0R1bmdlb25FcXVpcFB1dG9mZhIOCgZzbG90aWQYASABKAUiLQoYU2NTeW5j",
          "UnBnRHVuZ2VvbkJ1ZmZMaXN0EhEKCWJ1ZmZfbGlzdBgBIAMoCSKIAQoUU2NT",
          "eW5jUnBnRXF1aXBDb2x1bW4SPAoMZXF1aXBfY29sdW1uGAEgAygLMiYuU2NT",
          "eW5jUnBnRXF1aXBDb2x1bW4uRXF1aXBDb2x1bW5FbnRyeRoyChBFcXVpcENv",
          "bHVtbkVudHJ5EgsKA2tleRgBIAEoBRINCgV2YWx1ZRgCIAEoBDoCOAEiUgoS",
          "U2NTeW5jUnBnVGVhbUxldmVsEhIKCnRlYW1fbGV2ZWwYASABKAUSEAoIdGVh",
          "bV9leHAYAiABKAUSFgoObmV4dF9sZXZlbF9leHAYAyABKAUiegoXU2NTeW5j",
          "UnBnRHVuZ2VvbkFiaWxpdHkSLgoOZml4ZWRfYWJpbGl0eXMYASADKAsyFi5S",
          "cGdEdW5nZW9uQWJpbGl0eUluZm8SLwoPcmFuZG9tX2FiaWxpdHlzGAIgAygL",
          "MhYuUnBnRHVuZ2VvbkFiaWxpdHlJbmZvIisKFVJwZ0R1bmdlb25BYmlsaXR5",
          "SW5mbxISCgphYmlsaXR5X2lkGAEgASgJIlYKEFNjU3luY1JwZ0xldmVsVXAS",
          "EwoLbHZfdXBfbGV2ZWwYASABKAUSFQoNZml4ZWRfYWJpbGl0eRgCIAMoCRIW",
          "Cg5yYW5kb21fYWJpbGl0eRgDIAMoCSJCChlDc1JwZ0R1bmdlb25QaWNrTHZB",
          "YmlsaXR5Eg0KBWxldmVsGAEgASgFEhYKDnJhbmRvbV9hYmlsaXR5GAIgASgJ",
          "It0BChlTY1JwZ0R1bmdlb25QaWNrTHZBYmlsaXR5EhYKDmN1cl90ZWFtX2xl",
          "dmVsGAEgASgFEhsKE3RvdGFsX2ZpeGVkX2FiaWxpdHkYAiADKAkSUAoUdG90",
          "YWxfcmFuZG9tX2FiaWxpdHkYAyADKAsyMi5TY1JwZ0R1bmdlb25QaWNrTHZB",
          "YmlsaXR5LlRvdGFsUmFuZG9tQWJpbGl0eUVudHJ5GjkKF1RvdGFsUmFuZG9t",
          "QWJpbGl0eUVudHJ5EgsKA2tleRgBIAEoBRINCgV2YWx1ZRgCIAEoCToCOAEi",
          "LgoUQ3NScGdEdW5nZW9uVGltZVN0b3ASFgoOb25fdGltZV9yZXN1bWUYASAB",
          "KAgiRwoYU2NTeW5jUnBnRHVuZ2VvblRpbWVJbmZvEhQKDG9uX3RpbWVfc3Rv",
          "cBgBIAEoCBIVCg13YXZlX2VuZF90aW1lGAIgASgDIkEKGUNzUnBnRHVuZ2Vv",
          "bkFiaWxpdHlDaGFuZ2USEgoKYWJpbGl0eV9pZBgBIAEoCRIQCghkdXJhdGlv",
          "bhgCIAEoAyJaCgxDc0VudGVyU2NlbmUSFAoMc2NlbmVfbnVtX2lkGAEgASgF",
          "EhkKCHBvc2l0aW9uGAIgASgLMgcuVmVjdG9yEhkKCHJvdGF0aW9uGAMgASgL",
          "MgcuVmVjdG9yIkkKEUNzU2NlbmVMZWF2ZVBsYW5lEhkKCHBvc2l0aW9uGAEg",
          "ASgLMgcuVmVjdG9yEhkKCHJvdGF0aW9uGAIgASgLMgcuVmVjdG9yIr0BChVT",
          "Y2VuZU9iamVjdENvbW1vbkluZm8SCgoCaWQYASABKAQSDAoEdHlwZRgCIAEo",
          "BRISCgp0ZW1wbGF0ZWlkGAMgASgJEhkKCHBvc2l0aW9uGAQgASgLMgcuVmVj",
          "dG9yEhkKCHJvdGF0aW9uGAUgASgLMgcuVmVjdG9yEh4KFmJlbG9uZ19sZXZl",
          "bF9zY3JpcHRfaWQYBiABKAQSFAoMc2NlbmVfbnVtX2lkGAcgASgFEgoKAmhw",
          "GAggASgBIpkBCg5TY2VuZUNoYXJhY3RlchIrCgtjb21tb25faW5mbxgBIAEo",
          "CzIWLlNjZW5lT2JqZWN0Q29tbW9uSW5mbxINCgVsZXZlbBgCIAEoBRIMCgRu",
          "YW1lGAMgASgJEhgKBWF0dHJzGAQgAygLMgkuQXR0ckluZm8SIwoLYmF0dGxl",
          "X2luZm8YBSABKAsyDi5CYXR0bGVNZ3JJbmZvIpwBCgxTY2VuZU1vbnN0ZXIS",
          "KwoLY29tbW9uX2luZm8YASABKAsyFi5TY2VuZU9iamVjdENvbW1vbkluZm8S",
          "EQoJb3JpZ2luX2lkGAIgASgEEg0KBWxldmVsGAMgASgFEhgKBWF0dHJzGAQg",
          "AygLMgkuQXR0ckluZm8SIwoLYmF0dGxlX2luZm8YBSABKAsyDi5CYXR0bGVN",
          "Z3JJbmZvIoICChBTY2VuZUludGVyYWN0aXZlEisKC2NvbW1vbl9pbmZvGAEg",
          "ASgLMhYuU2NlbmVPYmplY3RDb21tb25JbmZvEhEKCW9yaWdpbl9pZBgCIAEo",
          "BBI1Cgpwcm9wZXJ0aWVzGAQgAygLMiEuU2NlbmVJbnRlcmFjdGl2ZS5Qcm9w",
          "ZXJ0aWVzRW50cnkSDAoEbWV0YRgFIAEoBRIjCgtiYXR0bGVfaW5mbxgGIAEo",
          "CzIOLkJhdHRsZU1nckluZm8aRAoPUHJvcGVydGllc0VudHJ5EgsKA2tleRgB",
          "IAEoBRIgCgV2YWx1ZRgCIAEoCzIRLkR5bmFtaWNQYXJhbWV0ZXI6AjgBIk8K",
          "EFNjZW5lU3VtbW9uU2tpbGwSEAoIc2tpbGxfaWQYASABKAkSKQoOYXNzaWdu",
          "ZWRfaXRlbXMYAiABKAsyES5CYXR0bGVCbGFja2JvYXJkIqMCCgtTY2VuZVN1",
          "bW1vbhIrCgtjb21tb25faW5mbxgBIAEoCzIWLlNjZW5lT2JqZWN0Q29tbW9u",
          "SW5mbxIoCgZza2lsbHMYAiADKAsyGC5TY2VuZVN1bW1vbi5Ta2lsbHNFbnRy",
          "eRIYCgVhdHRycxgDIAMoCzIJLkF0dHJJbmZvEiMKC2JhdHRsZV9pbmZvGAQg",
          "ASgLMg4uQmF0dGxlTWdySW5mbxIVCg1jYXN0X3NraWxsX2lkGAUgASgJEiUK",
          "CmJsYWNrYm9hcmQYBiABKAsyES5CYXR0bGVCbGFja2JvYXJkGkAKC1NraWxs",
          "c0VudHJ5EgsKA2tleRgBIAEoBBIgCgV2YWx1ZRgCIAEoCzIRLlNjZW5lU3Vt",
          "bW9uU2tpbGw6AjgBIjcKCFNjZW5lTnBjEisKC2NvbW1vbl9pbmZvGAEgASgL",
          "MhYuU2NlbmVPYmplY3RDb21tb25JbmZvIqYCChpTY2VuZU9iamVjdERldGFp",
          "bENvbnRhaW5lchIjCgl0ZWFtX3R5cGUYCyABKA4yEC5DaGFyQmFnVGVhbVR5",
          "cGUSEgoKdGVhbV9pbmRleBgGIAEoBRIZChF0ZWFtX2NoYW5nZV90b2tlbhgH",
          "IAEoBBIiCgljaGFyX2xpc3QYASADKAsyDy5TY2VuZUNoYXJhY3RlchIjCgxt",
          "b25zdGVyX2xpc3QYAiADKAsyDS5TY2VuZU1vbnN0ZXISKwoQaW50ZXJhY3Rp",
          "dmVfbGlzdBgDIAMoCzIRLlNjZW5lSW50ZXJhY3RpdmUSGwoIbnBjX2xpc3QY",
          "BCADKAsyCS5TY2VuZU5wYxIhCgtzdW1tb25fbGlzdBgFIAMoCzIMLlNjZW5l",
          "U3VtbW9uInYKG0NzU2NlbmVTZXRMZXZlbFNjcmlwdEFjdGl2ZRIUCgxzY2Vu",
          "ZV9udW1faWQYASABKAUSEQoJc2NyaXB0X2lkGAIgASgEEhEKCWlzX2FjdGl2",
          "ZRgDIAEoCBIbCgpsZWFkZXJfcG9zGAQgASgLMgcuVmVjdG9yInQKGkNzU2Nl",
          "bmVTZXRMZXZlbFNjcmlwdFN0YXJ0EhQKDHNjZW5lX251bV9pZBgBIAEoBRIR",
          "CglzY3JpcHRfaWQYAiABKAQSEAoIaXNfc3RhcnQYAyABKAgSGwoKbGVhZGVy",
          "X3BvcxgEIAEoCzIHLlZlY3RvciLoAQoeQ3NTY2VuZUxldmVsU2NyaXB0RXZl",
          "bnRUcmlnZ2VyEhQKDHNjZW5lX251bV9pZBgBIAEoBRIRCglzY3JpcHRfaWQY",
          "AiABKAQSEgoKZXZlbnRfbmFtZRgDIAEoCRJDCgpwcm9wZXJ0aWVzGAQgAygL",
          "Mi8uQ3NTY2VuZUxldmVsU2NyaXB0RXZlbnRUcmlnZ2VyLlByb3BlcnRpZXNF",
          "bnRyeRpECg9Qcm9wZXJ0aWVzRW50cnkSCwoDa2V5GAEgASgJEiAKBXZhbHVl",
          "GAIgASgLMhEuRHluYW1pY1BhcmFtZXRlcjoCOAEiTAohQ3NTY2VuZUNvbW1p",
          "dExldmVsU2NyaXB0Q2FjaGVTdGVwEhQKDHNjZW5lX251bV9pZBgBIAEoBRIR",
          "CglzY3JpcHRfaWQYAiABKAQiwAEKD0xldmVsU2NyaXB0SW5mbxIRCglzY3Jp",
          "cHRfaWQYASABKAQSDQoFc3RhdGUYAiABKAUSNAoKcHJvcGVydGllcxgDIAMo",
          "CzIgLkxldmVsU2NyaXB0SW5mby5Qcm9wZXJ0aWVzRW50cnkSDwoHaXNfZG9u",
          "ZRgEIAEoCBpECg9Qcm9wZXJ0aWVzRW50cnkSCwoDa2V5GAEgASgFEiAKBXZh",
          "bHVlGAIgASgLMhEuRHluYW1pY1BhcmFtZXRlcjoCOAEi8AEKIFNjU2NlbmVV",
          "cGRhdGVMZXZlbFNjcmlwdFByb3BlcnR5EhQKDHNjZW5lX251bV9pZBgBIAEo",
          "BRIRCglzY3JpcHRfaWQYAiABKAQSRQoKcHJvcGVydGllcxgDIAMoCzIxLlNj",
          "U2NlbmVVcGRhdGVMZXZlbFNjcmlwdFByb3BlcnR5LlByb3BlcnRpZXNFbnRy",
          "eRIWCg5jbGllbnRfb3BlcmF0ZRgEIAEoCBpECg9Qcm9wZXJ0aWVzRW50cnkS",
          "CwoDa2V5GAEgASgFEiAKBXZhbHVlGAIgASgLMhEuRHluYW1pY1BhcmFtZXRl",
          "cjoCOAEiVwodU2NTY2VuZUxldmVsU2NyaXB0U3RhdGVOb3RpZnkSFAoMc2Nl",
          "bmVfbnVtX2lkGAEgASgFEhEKCXNjcmlwdF9pZBgCIAEoBBINCgVzdGF0ZRgD",
          "IAEoBSJHChxTY1NjZW5lTGV2ZWxTY3JpcHRSZXNldEJlZ2luEhQKDHNjZW5l",
          "X251bV9pZBgBIAEoBRIRCglzY3JpcHRfaWQYAiABKAQiRQoaU2NTY2VuZUxl",
          "dmVsU2NyaXB0UmVzZXRFbmQSFAoMc2NlbmVfbnVtX2lkGAEgASgFEhEKCXNj",
          "cmlwdF9pZBgCIAEoBCJxCiFTY1NjZW5lTGV2ZWxTY3JpcHRUYXNrU3RhdGVV",
          "cGRhdGUSFAoMc2NlbmVfbnVtX2lkGAEgASgFEhEKCXNjcmlwdF9pZBgCIAEo",
          "BBIPCgd0YXNrX2lkGAMgASgJEhIKCnRhc2tfc3RhdGUYBCABKAUigQIKJFNj",
          "U2NlbmVMZXZlbFNjcmlwdFRhc2tQcm9ncmVzc1VwZGF0ZRIUCgxzY2VuZV9u",
          "dW1faWQYASABKAUSEQoJc2NyaXB0X2lkGAIgASgEEg8KB3Rhc2tfaWQYAyAB",
          "KAkSYQoXY29uZGl0aW9uX2NvbXBsZXRlZF9tYXAYBCADKAsyQC5TY1NjZW5l",
          "TGV2ZWxTY3JpcHRUYXNrUHJvZ3Jlc3NVcGRhdGUuQ29uZGl0aW9uQ29tcGxl",
          "dGVkTWFwRW50cnkaPAoaQ29uZGl0aW9uQ29tcGxldGVkTWFwRW50cnkSCwoD",
          "a2V5GAEgASgJEg0KBXZhbHVlGAIgASgIOgI4ASJdCiFTY1NjZW5lTGV2ZWxT",
          "Y3JpcHRUYXNrU3RhcnRGaW5pc2gSFAoMc2NlbmVfbnVtX2lkGAEgASgFEhEK",
          "CXNjcmlwdF9pZBgCIAEoBBIPCgd0YXNrX2lkGAMgASgJImMKJFNjU2NlbmVU",
          "cmlnZ2VyQ2xpZW50TGV2ZWxTY3JpcHRFdmVudBIUCgxzY2VuZV9udW1faWQY",
          "ASABKAUSEQoJc2NyaXB0X2lkGAIgASgEEhIKCmV2ZW50X25hbWUYAyABKAki",
          "XAokU2NTY2VuZVRyaWdnZXJDbGllbnRJbnRlcmFjdGl2ZUV2ZW50EhQKDHNj",
          "ZW5lX251bV9pZBgBIAEoBRIKCgJpZBgCIAEoBBISCgpldmVudF9uYW1lGAMg",
          "ASgJIn0KEFNjZFNjZW5lVGVhbUluZm8SIwoJdGVhbV90eXBlGAEgASgOMhAu",
          "Q2hhckJhZ1RlYW1UeXBlEhIKCnRlYW1faW5kZXgYAiABKAUSGQoRdGVhbV9j",
          "aGFuZ2VfdG9rZW4YAyABKAQSFQoNY3VyX2xlYWRlcl9pZBgEIAEoBCKEAwoP",
          "U2NTZWxmU2NlbmVJbmZvEhQKDHNjZW5lX251bV9pZBgBIAEoBRIQCghzY2Vu",
          "ZV9pZBgCIAEoBBIrCgZkZXRhaWwYAyABKAsyGy5TY2VuZU9iamVjdERldGFp",
          "bENvbnRhaW5lchIUCgxyZXZpdmVfY2hhcnMYByADKAQSJwoNbGV2ZWxfc2Ny",
          "aXB0cxgIIAMoCzIQLkxldmVsU2NyaXB0SW5mbxIYChBzZWxmX2luZm9fcmVh",
          "c29uGAkgASgFEhMKC3VubG9ja19hcmVhGAogAygJEh0KCWRyb3BfbGlzdBgO",
          "IAMoCzIKLlNjZW5lRHJvcBITCgtzY2VuZV9ncmFkZRgPIAEoBRIkCgl0ZWFt",
          "X2luZm8YECABKAsyES5TY2RTY2VuZVRlYW1JbmZvEiQKB2R1bmdlb24YCyAB",
          "KAsyES5TY2VuZUltcGxEdW5nZW9uSAASIAoFZW1wdHkYDCABKAsyDy5TY2Vu",
          "ZUltcGxFbXB0eUgAQgwKCnNjZW5lX2ltcGwirQEKCVNjZW5lRHJvcBIPCgdk",
          "cm9wX2lkGAEgASgEEjcKD3N0YWNrYWJsZV9pdGVtcxgCIAMoCzIeLlNjZW5l",
          "RHJvcC5TdGFja2FibGVJdGVtc0VudHJ5Eh8KCWluc3RfbGlzdBgDIAMoCzIM",
          "LlNjZEl0ZW1HcmlkGjUKE1N0YWNrYWJsZUl0ZW1zRW50cnkSCwoDa2V5GAEg",
          "ASgJEg0KBXZhbHVlGAIgASgDOgI4ASKSAQoQU2NlbmVJbXBsRHVuZ2VvbhIS",
          "CgpkdW5nZW9uX2lkGAEgASgJEhsKE2NoYWxsZW5nZV9leHBpcmVfdHMYAiAB",
          "KAMSGAoQbGVhdmVfZHVuZ2Vvbl90cxgDIAEoAxIRCglpc19yZXdhcmQYBCAB",
          "KAgSDwoHaXNfY2FsYxgFIAEoCBIPCgdpc19wYXNzGAYgASgIIhAKDlNjZW5l",
          "SW1wbEVtcHR5IjYKElNjU2NlbmVSZXNldEVudGl0eRIUCgxzY2VuZV9udW1f",
          "aWQYASABKAUSCgoCaWQYAiABKAQiWgoRU2NPYmplY3RFbnRlclZpZXcSKwoG",
          "ZGV0YWlsGAEgASgLMhsuU2NlbmVPYmplY3REZXRhaWxDb250YWluZXISGAoQ",
          "aGFzX2V4dHJhX29iamVjdBgCIAEoCCIzCg9MZWF2ZU9iamVjdEluZm8SEAoI",
          "b2JqX3R5cGUYASABKAUSDgoGb2JqX2lkGAIgASgEIjcKEVNjT2JqZWN0TGVh",
          "dmVWaWV3EiIKCG9ial9saXN0GAEgAygLMhAuTGVhdmVPYmplY3RJbmZvIncK",
          "Ck1vdGlvbkluZm8SGQoIcG9zaXRpb24YASABKAsyBy5WZWN0b3ISGQoIcm90",
          "YXRpb24YAiABKAsyBy5WZWN0b3ISFgoFc3BlZWQYAyABKAsyBy5WZWN0b3IS",
          "GwoFc3RhdGUYBCABKA4yDC5Nb3Rpb25TdGF0ZSJwChJNb3ZlT2JqZWN0TW92",
          "ZUluZm8SDQoFb2JqaWQYASABKAQSIAoLbW90aW9uX2luZm8YAiABKAsyCy5N",
          "b3Rpb25JbmZvEhMKC3NlcnZlcl90aW1lGAMgASgNEhQKDHNjZW5lX251bV9p",
          "ZBgEIAEoBSJuChBDc01vdmVPYmplY3RNb3ZlEiYKCW1vdmVfaW5mbxgBIAMo",
          "CzITLk1vdmVPYmplY3RNb3ZlSW5mbxIcChRsZWFkZXJfbW92ZV90YWdfbWFz",
          "axgCIAEoBRIUCgxsZWFkZXJfaW5kZXgYAyABKAUiUQoQU2NNb3ZlT2JqZWN0",
          "TW92ZRImCgltb3ZlX2luZm8YASADKAsyEy5Nb3ZlT2JqZWN0TW92ZUluZm8S",
          "FQoNc2VydmVyX25vdGlmeRgCIAEoCCKVAQoSU2NFbnRlclNjZW5lTm90aWZ5",
          "Eg8KB3JvbGVfaWQYASABKAQSFAoMc2NlbmVfbnVtX2lkGAIgASgFEhAKCHNj",
          "ZW5lX2lkGAMgASgEEhkKCHBvc2l0aW9uGAQgASgLMgcuVmVjdG9yEisKEXBh",
          "c3NfdGhyb3VnaF9kYXRhGAUgASgLMhAuUGFzc1Rocm91Z2hEYXRhIk0KElNj",
          "TGVhdmVTY2VuZU5vdGlmeRIPCgdyb2xlX2lkGAEgASgEEhQKDHNjZW5lX251",
          "bV9pZBgCIAEoBRIQCghzY2VuZV9pZBgDIAEoBCJXChxTY1NlYW1sZXNzU2Nl",
          "bmVEZXN0cm95Tm90aWZ5Eg8KB3JvbGVfaWQYASABKAQSFAoMc2NlbmVfbnVt",
          "X2lkGAIgASgFEhAKCHNjZW5lX2lkGAMgASgEIikKEUNzU2NlbmVMb2FkRmlu",
          "aXNoEhQKDHNjZW5lX251bV9pZBgBIAEoBSJ+ChpDc1NjZW5lU2V0TGFzdFJl",
          "Y29yZENhbXBpZBIUCgxsYXN0X2NhbXBfaWQYASABKAQSGQoIcG9zaXRpb24Y",
          "AiABKAsyBy5WZWN0b3ISGQoIcm90YXRpb24YAyABKAsyBy5WZWN0b3ISFAoM",
          "c2NlbmVfbnVtX2lkGAQgASgFIkgKGlNjU2NlbmVTZXRMYXN0UmVjb3JkQ2Ft",
          "cGlkEhQKDGxhc3RfY2FtcF9pZBgBIAEoBBIUCgxzY2VuZV9udW1faWQYAiAB",
          "KAUi4QEKHkNzU2NlbmVJbnRlcmFjdGl2ZUV2ZW50VHJpZ2dlchIUCgxzY2Vu",
          "ZV9udW1faWQYASABKAUSCgoCaWQYAiABKAQSEgoKZXZlbnRfbmFtZRgDIAEo",
          "CRJDCgpwcm9wZXJ0aWVzGAQgAygLMi8uQ3NTY2VuZUludGVyYWN0aXZlRXZl",
          "bnRUcmlnZ2VyLlByb3BlcnRpZXNFbnRyeRpECg9Qcm9wZXJ0aWVzRW50cnkS",
          "CwoDa2V5GAEgASgJEiAKBXZhbHVlGAIgASgLMhEuRHluYW1pY1BhcmFtZXRl",
          "cjoCOAEi6QEKIFNjU2NlbmVVcGRhdGVJbnRlcmFjdGl2ZVByb3BlcnR5EhQK",
          "DHNjZW5lX251bV9pZBgBIAEoBRIKCgJpZBgCIAEoBBJFCgpwcm9wZXJ0aWVz",
          "GAMgAygLMjEuU2NTY2VuZVVwZGF0ZUludGVyYWN0aXZlUHJvcGVydHkuUHJv",
          "cGVydGllc0VudHJ5EhYKDmNsaWVudF9vcGVyYXRlGAQgASgIGkQKD1Byb3Bl",
          "cnRpZXNFbnRyeRILCgNrZXkYASABKAUSIAoFdmFsdWUYAiABKAsyES5EeW5h",
          "bWljUGFyYW1ldGVyOgI4ASJBCg1Dc1NjZW5lU2V0VmFyEgsKA2tleRgBIAEo",
          "CRINCgV2YWx1ZRgCIAEoCRIUCgxzY2VuZV9udW1faWQYAyABKAUiQQoNU2NT",
          "Y2VuZVNldFZhchILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAkSFAoMc2Nl",
          "bmVfbnVtX2lkGAMgASgFIg0KC0NzU2NlbmVSZXN0Ik0KCkVudGl0eUluZm8S",
          "JQoOZW50aXR5X29wX3R5cGUYAiABKA4yDS5FbnRpdHlPcFR5cGUSCgoCaWQY",
          "AyABKAQSDAoEdHlwZRgEIAEoBSI3ChNTY1NjZW5lQ3JlYXRlRW50aXR5EhQK",
          "DHNjZW5lX251bV9pZBgBIAEoBRIKCgJpZBgCIAEoBCJIChRTY1NjZW5lRGVz",
          "dHJveUVudGl0eRIUCgxzY2VuZV9udW1faWQYASABKAUSCgoCaWQYAiABKAQS",
          "DgoGcmVhc29uGAMgASgFIj8KF1NjU2NlbmVDcm9zc1NjZW5lU3RhdHVzEg4K",
          "Bm9ial9pZBgBIAEoBBIUCgxzY2VuZV9udW1faWQYAiABKAUiEAoOQ3NTY2Vu",
          "ZVJldml2YWwiEAoOU2NTY2VuZVJldml2YWwiKgoXQ3NTY2VuZVNldFN0b3J5",
          "U2FmZVpvbmUSDwoHaW5fem9uZRgBIAEoCCIqChdTY1NjZW5lU2V0U3RvcnlT",
          "YWZlWm9uZRIPCgdpbl96b25lGAEgASgIIjEKEkNzU2NlbmVTZXRTYWZlWm9u",
          "ZRIPCgdpbl96b25lGAEgASgIEgoKAmlkGAIgASgEIjEKElNjU2NlbmVTZXRT",
          "YWZlWm9uZRIPCgdpbl96b25lGAEgASgIEgoKAmlkGAIgASgEIjsKF0NzU2Nl",
          "bmVRdWVyeUVudGl0eUV4aXN0EhQKDHNjZW5lX251bV9pZBgBIAEoBRIKCgJp",
          "ZBgCIAEoBCIrChdTY1NjZW5lUXVlcnlFbnRpdHlFeGlzdBIQCghpc19leGlz",
          "dBgBIAEoCCJQCh9Dc1NjZW5lUXVlcnlJbnRlcmFjdGl2ZVByb3BlcnR5EhQK",
          "DHNjZW5lX251bV9pZBgBIAEoBRIKCgJpZBgCIAEoBBILCgNrZXkYAyABKAUi",
          "cgofU2NTY2VuZVF1ZXJ5SW50ZXJhY3RpdmVQcm9wZXJ0eRIUCgxzY2VuZV9u",
          "dW1faWQYASABKAUSCgoCaWQYAiABKAQSCwoDa2V5GAMgASgFEiAKBXZhbHVl",
          "GAQgASgLMhEuRHluYW1pY1BhcmFtZXRlciKWAQoSQ3NTY2VuZVNwYXduU3Vt",
          "bW9uEhEKCXN1bW1vbl9pZBgBIAEoCRIZCghwb3NpdGlvbhgCIAEoCzIHLlZl",
          "Y3RvchIZCghyb3RhdGlvbhgDIAEoCzIHLlZlY3RvchIQCghza2lsbF9pZBgE",
          "IAEoCRIlCgpibGFja2JvYXJkGAUgASgLMhEuQmF0dGxlQmxhY2tib2FyZCI6",
          "ChFTY1NjZW5lVW5sb2NrQXJlYRIUCgxzY2VuZV9udW1faWQYASABKAUSDwoH",
          "YXJlYV9pZBgCIAEoCSJaChNDc1NjZW5lSW50ZXJhY3RUcmVlEhQKDHRyZWVf",
          "dHlwZV9pZBgBIAEoCRIZCghwb3NpdGlvbhgCIAEoCzIHLlZlY3RvchISCgpp",
          "c19icmVha2VkGAMgASgIIqMBCg9Dc1NjZW5lVGVsZXBvcnQSFAoMc2NlbmVf",
          "bnVtX2lkGAEgASgFEhkKCHBvc2l0aW9uGAIgASgLMgcuVmVjdG9yEhkKCHJv",
          "dGF0aW9uGAMgASgLMgcuVmVjdG9yEhcKD3RlbGVwb3J0X3JlYXNvbhgEIAEo",
          "BRIrChFwYXNzX3Rocm91Z2hfZGF0YRgFIAEoCzIQLlBhc3NUaHJvdWdoRGF0",
          "YSLeAQoPU2NTY2VuZVRlbGVwb3J0EhMKC29ial9pZF9saXN0GAEgAygEEhQK",
          "DHNjZW5lX251bV9pZBgCIAEoBRIZCghwb3NpdGlvbhgDIAEoCzIHLlZlY3Rv",
          "chIZCghyb3RhdGlvbhgEIAEoCzIHLlZlY3RvchITCgtzZXJ2ZXJfdGltZRgF",
          "IAEoDRIXCg90ZWxlcG9ydF9yZWFzb24YBiABKAUSDwoHdHBfdXVpZBgHIAEo",
          "BBIrChFwYXNzX3Rocm91Z2hfZGF0YRgIIAEoCzIQLlBhc3NUaHJvdWdoRGF0",
          "YSIoChVDc1NjZW5lVGVsZXBvcnRGaW5pc2gSDwoHdHBfdXVpZBgBIAEoBCIu",
          "ChNDc1NjZW5lTW92ZVN0YXRlU2V0EhcKD21vdmVfcmVjb3JkX3RhZxgBIAEo",
          "CCIUChJDc1NjZW5lU3VibWl0RXRoZXIiMgoSU2NTY2VuZVN1Ym1pdEV0aGVy",
          "Eg0KBWxldmVsGAEgASgFEg0KBWNvdW50GAIgASgFIjoKDkFyZWFVbmxvY2tJ",
          "bmZvEhAKCHNjZW5lX2lkGAEgASgJEhYKDnVubG9ja19hcmVhX2lkGAIgAygJ",
          "IqIBChJTY1N5bmNBbGxSb2xlU2NlbmUSGgoSc3VibWl0X2V0aGVyX2xldmVs",
          "GAEgASgFEhoKEnN1Ym1pdF9ldGhlcl9jb3VudBgCIAEoBRIpChB1bmxvY2tf",
          "YXJlYV9pbmZvGAMgAygLMg8uQXJlYVVubG9ja0luZm8SKQoQc2NlbmVfZ3Jh",
          "ZGVfaW5mbxgEIAMoCzIPLlNjZW5lR3JhZGVJbmZvIksKDlNjZW5lR3JhZGVJ",
          "bmZvEhQKDHNjZW5lX251bV9pZBgBIAEoBRINCgVncmFkZRgCIAEoBRIUCgxs",
          "YXN0X2Rvd25fdHMYAyABKAMijgEKFkNzU2NlbmVTZXRMYXN0U2FmZVpvbmUS",
          "FAoMc2NlbmVfbnVtX2lkGAEgASgFEhkKCHBvc2l0aW9uGAIgASgLMgcuVmVj",
          "dG9yEhkKCHJvdGF0aW9uGAMgASgLMgcuVmVjdG9yEg4KBnJlYXNvbhgEIAEo",
          "BRIYChBzb3VyY2Vfc2NyaXB0X2lkGAUgASgEInEKEUNzU2NlbmVSZXBhdHJp",
          "YXRlEhQKDHNjZW5lX251bV9pZBgBIAEoBRIZChFyZXBhdHJpYXRlX3NvdXJj",
          "ZRgCIAEoBRIrChFwYXNzX3Rocm91Z2hfZGF0YRgDIAEoCzIQLlBhc3NUaHJv",
          "dWdoRGF0YSJEChFTY1NjZW5lUmVwYXRyaWF0ZRIUCgxzY2VuZV9udW1faWQY",
          "ASABKAUSGQoRcmVwYXRyaWF0ZV9zb3VyY2UYAiABKAUiJQoQQ3NTY2VuZVNl",
          "dEJhdHRsZRIRCglpbl9iYXR0bGUYASABKAgiOQoSQ3NTY2VuZUdyYWRlTW9k",
          "aWZ5EhQKDHNjZW5lX251bV9pZBgBIAEoBRINCgVncmFkZRgCIAEoBSIlChBT",
          "Y1NjZW5lU2V0QmF0dGxlEhEKCWluX2JhdHRsZRgBIAEoCCJOChRTY1Jld2Fy",
          "ZFRvU2NlbmVCZWdpbhIaChJyZXdhcmRfc291cmNlX3R5cGUYASABKAUSGgoS",
          "c291cmNlX3RlbXBsYXRlX2lkGAIgASgJIhQKElNjUmV3YXJkVG9TY2VuZUVu",
          "ZCIgCh5TY1NjZW5lTGV2ZWxTY3JpcHRFdmVudFRyaWdnZXIiRAoZU2NTY2Vu",
          "ZUxldmVsU2NyaXB0U2V0RG9uZRIUCgxzY2VuZV9udW1faWQYASABKAUSEQoJ",
          "c2NyaXB0X2lkGAIgASgEIiAKHlNjU2NlbmVJbnRlcmFjdGl2ZUV2ZW50VHJp",
          "Z2dlciIyChFTY1NjZW5lRHJvcENyZWF0ZRIdCglkcm9wX2RhdGEYASABKAsy",
          "Ci5TY2VuZURyb3AiJAoRU2NTY2VuZURyb3BEZWxldGUSDwoHZHJvcF9pZBgB",
          "IAEoBCK4AQoRU2NTY2VuZURyb3BNb2RpZnkSDwoHZHJvcF9pZBgBIAEoBBIs",
          "CgVpdGVtcxgCIAMoCzIdLlNjU2NlbmVEcm9wTW9kaWZ5Lkl0ZW1zRW50cnkS",
          "HwoJaW5zdF9saXN0GAMgAygLMgwuU2NkSXRlbUdyaWQSFQoNZGVsX2luc3Rf",
          "bGlzdBgEIAMoBBosCgpJdGVtc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1",
          "ZRgCIAEoAzoCOAEiSwoYU2NTY2VuZUdyYWRlQ2hhbmdlTm90aWZ5EhQKDHNj",
          "ZW5lX251bV9pZBgBIAEoBRINCgVncmFkZRgCIAEoBRIKCgJ0cxgDIAEoAyI9",
          "ChNTY1NjZW5lQ2xpZW50SWRJbmZvEhAKCHJvbGVfaWR4GAEgASgNEhQKDGxh",
          "c3RfbWF4X2lkeBgCIAEoBCJOChxTY1NjZW5lVXBkYXRlSW50ZXJhY3RpdmVN",
          "ZXRhEhQKDHNjZW5lX251bV9pZBgBIAEoBRIKCgJpZBgCIAEoBBIMCgRtZXRh",
          "GAMgASgFIpUBCh9Dc1NjZW5lVXBkYXRlU2NyaXB0VGFza1Byb2dyZXNzEhQK",
          "DHNjZW5lX251bV9pZBgBIAEoBRIRCglzY3JpcHRfaWQYAiABKAQSDwoHdGFz",
          "a19pZBgDIAEoCRI4ChNvYmplY3RpdmVfdmFsdWVfb3BzGAQgAygLMhsuU2Ny",
          "aXB0VGFza09iamVjdGl2ZVZhbHVlT3AiUQoaU2NyaXB0VGFza09iamVjdGl2",
          "ZVZhbHVlT3ASFAoMY29uZGl0aW9uX2lkGAEgASgJEg0KBXZhbHVlGAIgASgF",
          "Eg4KBmlzX2FkZBgDIAEoCCIjChBDc0NoZWNrU2Vuc2l0aXZlEg8KB2NvbnRl",
          "bnQYASABKAkiEgoQU2NDaGVja1NlbnNpdGl2ZSJRChlDc1NldHRsZW1lbnRT",
          "ZWxlY3RSZXF1aXJlEhUKDXNldHRsZW1lbnRfaWQYASABKAkSHQoVc2V0dGxl",
          "bWVudF9yZXF1aXJlX2lkGAIgASgJIlEKGVNjU2V0dGxlbWVudFNlbGVjdFJl",
          "cXVpcmUSFQoNc2V0dGxlbWVudF9pZBgBIAEoCRIdChVzZXR0bGVtZW50X3Jl",
          "cXVpcmVfaWQYAiABKAkirwIKClNldHRsZW1lbnQSFQoNc2V0dGxlbWVudF9p",
          "ZBgBIAEoCRINCgVsZXZlbBgCIAEoBRILCgNleHAYAyABKAMSEgoKcmVxdWly",
          "ZV9pZBgEIAEoCRIgChhvZmZpY2VyX2NoYXJfdGVtcGxhdGVfaWQYBSABKAkS",
          "KQoHcmVwb3J0cxgGIAMoCzIYLlNldHRsZW1lbnQuUmVwb3J0c0VudHJ5EhEK",
          "CXVubG9ja190cxgHIAEoAxITCgthdXRvX3N1Ym1pdBgIIAEoCBIfChdsYXN0",
          "X21hbnVhbF9zdWJtaXRfdGltZRgJIAEoAxpECgxSZXBvcnRzRW50cnkSCwoD",
          "a2V5GAEgASgDEiMKBXZhbHVlGAIgASgLMhQuU2V0dGxlbWVudERheVJlcG9y",
          "dDoCOAEi/wEKE1NldHRsZW1lbnREYXlSZXBvcnQSMgoHY29uc3VtZRgBIAMo",
          "CzIhLlNldHRsZW1lbnREYXlSZXBvcnQuQ29uc3VtZUVudHJ5EjAKBm91dHB1",
          "dBgCIAMoCzIgLlNldHRsZW1lbnREYXlSZXBvcnQuT3V0cHV0RW50cnkSCwoD",
          "ZXhwGAMgASgDEhYKDmxldmVsX3VwX2NvdW50GAQgASgFGi4KDENvbnN1bWVF",
          "bnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAM6AjgBGi0KC091dHB1",
          "dEVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoAzoCOAEiTwoTU2NT",
          "ZXR0bGVtZW50U3luY0FsbBIgCgtzZXR0bGVtZW50cxgBIAMoCzILLlNldHRs",
          "ZW1lbnQSFgoObGFzdF90aWNrX3RpbWUYAiABKAMiWQoWU2NTZXR0bGVtZW50",
          "U3luY01vZGlmeRInChJzZXR0bGVtZW50c19tb2RpZnkYASADKAsyCy5TZXR0",
          "bGVtZW50EhYKDmxhc3RfdGlja190aW1lGAIgASgDIkwKFkNzU2V0dGxlbWVu",
          "dFNldE9mZmljZXISFQoNc2V0dGxlbWVudF9pZBgBIAEoCRIbChNvZmZpY2Vy",
          "X3RlbXBsYXRlX2lkGAIgASgJIkwKFlNjU2V0dGxlbWVudFNldE9mZmljZXIS",
          "FQoNc2V0dGxlbWVudF9pZBgBIAEoCRIbChNvZmZpY2VyX3RlbXBsYXRlX2lk",
          "GAIgASgJIjYKGlNjU2V0dGxlbWVudEZpbmlzaFJlcXVpcmVzEhgKEG5leHRf",
          "ZmluaXNoX3RpbWUYASABKAMiRwoZQ3NTZXR0bGVtZW50U2V0U3VibWl0TW9k",
          "ZRIVCg1zZXR0bGVtZW50X2lkGAEgASgJEhMKC2F1dG9fc3VibWl0GAIgASgI",
          "IkcKGVNjU2V0dGxlbWVudFNldFN1Ym1pdE1vZGUSFQoNc2V0dGxlbWVudF9p",
          "ZBgBIAEoCRITCgthdXRvX3N1Ym1pdBgCIAEoCCIyChlDc1NldHRsZW1lbnRT",
          "dWJtaXRSZXF1aXJlEhUKDXNldHRsZW1lbnRfaWQYASABKAkiPQoJQ3NTaG9w",
          "QnV5Eg8KB3Nob3BfaWQYASABKAkSEAoIZ29vZHNfaWQYAiABKAkSDQoFY291",
          "bnQYAyABKAUiYgoPQ3NTaG9wU3dhcE1vbmV5EhcKD3NvdXJjZV9tb25leV9p",
          "ZBgBIAEoCRIXCg90YXJnZXRfbW9uZXlfaWQYAiABKAkSHQoVc3dhcF9zb3Vy",
          "Y2VfbW9uZXlfbnVtGAMgASgDIkIKE1NjZFNob3BEeW5hbWljR29vZHMSEAoI",
          "Z29vZHNfaWQYASABKAkSGQoRZ29vZHNfdGVtcGxhdGVfaWQYAiABKAkiQwoU",
          "U2NkU2hvcFJhbmRvbVJlZnJlc2gSKwoNZHluYW1pY19nb29kcxgBIAMoCzIU",
          "LlNjZFNob3BEeW5hbWljR29vZHMiNQoPU2NkU2hvcERpc2NvdW50EhAKCGdv",
          "b2RzX2lkGAEgASgJEhAKCGRpc2NvdW50GAIgASgCIsoCChdTY2RTaG9wVW5s",
          "b2NrQ29uZGl0aW9ucxIKCgJpZBgBIAEoCRJUChd1bmxvY2tfY29uZGl0aW9u",
          "X3ZhbHVlcxgCIAMoCzIzLlNjZFNob3BVbmxvY2tDb25kaXRpb25zLlVubG9j",
          "a0NvbmRpdGlvblZhbHVlc0VudHJ5ElIKFnVubG9ja19jb25kaXRpb25fZmxh",
          "Z3MYAyADKAsyMi5TY2RTaG9wVW5sb2NrQ29uZGl0aW9ucy5VbmxvY2tDb25k",
          "aXRpb25GbGFnc0VudHJ5GjwKGlVubG9ja0NvbmRpdGlvblZhbHVlc0VudHJ5",
          "EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoBToCOAEaOwoZVW5sb2NrQ29u",
          "ZGl0aW9uRmxhZ3NFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAg6",
          "AjgBIpEECgdTY2RTaG9wEg8KB3Nob3BfaWQYASABKAkSGQoRc2hvcF9yZWZy",
          "ZXNoX3R5cGUYAiABKAUSRAoXdW5sb2NrX2NvbmRpdGlvbl92YWx1ZXMYAyAD",
          "KAsyIy5TY2RTaG9wLlVubG9ja0NvbmRpdGlvblZhbHVlc0VudHJ5EkIKFnVu",
          "bG9ja19jb25kaXRpb25fZmxhZ3MYBCADKAsyIi5TY2RTaG9wLlVubG9ja0Nv",
          "bmRpdGlvbkZsYWdzRW50cnkSIwoJZGlzY291bnRzGAUgAygLMhAuU2NkU2hv",
          "cERpc2NvdW50EjkKF2dvb2RzX3VubG9ja19jb25kaXRpb25zGAYgAygLMhgu",
          "U2NkU2hvcFVubG9ja0NvbmRpdGlvbnMSFwoPaXNfZHluYW1pY19nb29kGAcg",
          "ASgIEhsKE2lzX2R5bmFtaWNfZGlzY291bnQYCCABKAgSLwoOcmFuZG9tX3Jl",
          "ZnJlc2gYFSABKAsyFS5TY2RTaG9wUmFuZG9tUmVmcmVzaEgAGjwKGlVubG9j",
          "a0NvbmRpdGlvblZhbHVlc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgC",
          "IAEoBToCOAEaOwoZVW5sb2NrQ29uZGl0aW9uRmxhZ3NFbnRyeRILCgNrZXkY",
          "ASABKAkSDQoFdmFsdWUYAiABKAg6AjgBQg4KDHJlZnJlc2hfZGF0YSJCChVT",
          "Y2RTaG9wRnJlcXVlbmN5TGltaXQSGgoSZnJlcXVlbmN5X2xpbWl0X2lkGAEg",
          "ASgJEg0KBWNvdW50GAIgASgFIpABCgpTY1Nob3BTeW5jEjcKFXNob3BfZ3Jv",
          "dXBfY29uZGl0aW9ucxgBIAMoCzIYLlNjZFNob3BVbmxvY2tDb25kaXRpb25z",
          "EhcKBXNob3BzGAIgAygLMgguU2NkU2hvcBIwChBmcmVxdWVuY3lfbGltaXRz",
          "GAMgAygLMhYuU2NkU2hvcEZyZXF1ZW5jeUxpbWl0IlcKHFNjU2hvcFN5bmNT",
          "aG9wR3JvdXBDb25kaXRpb24SNwoVc2hvcF9ncm91cF9jb25kaXRpb25zGAEg",
          "ASgLMhguU2NkU2hvcFVubG9ja0NvbmRpdGlvbnMiKwoQU2NTaG9wTW9kaWZ5",
          "U2hvcBIXCgVzaG9wcxgBIAMoCzIILlNjZFNob3AiTAoXU2NTaG9wU3luY1No",
          "b3BDb25kaXRpb24SMQoPc2hvcF9jb25kaXRpb25zGAEgASgLMhguU2NkU2hv",
          "cFVubG9ja0NvbmRpdGlvbnMiTgoYU2NTaG9wU3luY0dvb2RzQ29uZGl0aW9u",
          "EjIKEGdvb2RzX2NvbmRpdGlvbnMYASABKAsyGC5TY2RTaG9wVW5sb2NrQ29u",
          "ZGl0aW9ucyJOChpTY1Nob3BNb2RpZnlGcmVxdWVuY3lMaW1pdBIwChBmcmVx",
          "dWVuY3lfbGltaXRzGAEgAygLMhYuU2NkU2hvcEZyZXF1ZW5jeUxpbWl0IjYK",
          "GlNjU2hvcERlbGV0ZUZyZXF1ZW5jeUxpbWl0EhgKEGZyZXF1ZW5jeV9saW1p",
          "dHMYASADKAkiQQoNU2NTaG9wQnV5UmVzcBIPCgdzaG9wX2lkGAEgASgJEhAK",
          "CGdvb2RzX2lkGAIgASgJEg0KBWNvdW50GAMgASgFIoABCg9TY1Nob3BTd2Fw",
          "TW9uZXkSFwoPc291cmNlX21vbmV5X2lkGAEgASgJEhcKD3RhcmdldF9tb25l",
          "eV9pZBgCIAEoCRIdChVjb3N0X3NvdXJjZV9tb25leV9udW0YAyABKAMSHAoU",
          "Z2V0X3RhcmdldF9tb25leV9udW0YBCABKAMi5QEKC0NzQ2FzdFNraWxsEhgK",
          "EHNraWxsX3NlcmFpYWxfaWQYASABKAQSFwoPYXR0YWNrZXJfb2JqX2lkGAIg",
          "ASgEEhAKCHNraWxsX2lkGAMgASgJEiIKEWF0dGFja2VyX3Bvc2l0aW9uGAQg",
          "ASgLMgcuVmVjdG9yEiIKEWF0dGFja2VyX3JvdGF0aW9uGAUgASgLMgcuVmVj",
          "dG9yEhIKCnRpbWVfc3RhbXAYBiABKAMSGQoRc2NhbGVkX3RpbWVfc3RhbXAY",
          "ByABKAMSGgoSdGFyZ2V0X29ial9pZF9saXN0GAggAygEIkMKDkNzQ2FzdFNr",
          "aWxsRW5kEhgKEHNraWxsX3NlcmFpYWxfaWQYASABKAQSFwoPYXR0YWNrZXJf",
          "b2JqX2lkGAIgASgEIo4BChFDc0Nhc3RTa2lsbEVmZmVjdBIYChBza2lsbF9z",
          "ZXJhaWFsX2lkGAEgASgEEhcKD3NraWxsX3N0YWdlX2lkeBgCIAEoBBIXCg9h",
          "dHRhY2tlcl9vYmpfaWQYAyABKAQSEgoKdGltZV9zdGFtcBgEIAEoAxIZChFz",
          "Y2FsZWRfdGltZV9zdGFtcBgFIAEoAyJvCgtTY0Nhc3RTa2lsbBIYChBza2ls",
          "bF9zZXJhaWFsX2lkGAEgASgEEhcKD2F0dGFja2VyX29ial9pZBgCIAEoBBIS",
          "Cgp0aW1lX3N0YW1wGAYgASgDEhkKEXNjYWxlZF90aW1lX3N0YW1wGAcgASgD",
          "IiYKCFNjU3luY0hwEg4KBm9ial9pZBgBIAEoBBIKCgJocBgCIAEoBSIsCgtT",
          "Y1N5bmNQb2lzZRIOCgZvYmpfaWQYASABKAQSDQoFcG9pc2UYAiABKAUiRwoX",
          "U2NTeW5jVWx0aW1hdGVTcENlbGxDbnQSDgoGb2JqX2lkGAEgASgEEhwKFHVs",
          "dGltYXRlX3NwX2NlbGxfY250GAIgASgFIl0KCVNuc01vbWVudBIRCgltb21l",
          "bnRfaWQYASABKAkSEQoJdGltZXN0YW1wGAIgASgDEgwKBHJlYWQYAyABKAgS",
          "DgoGb3B0aW9uGAQgAygFEgwKBGxpa2UYBSABKAgijwEKC1Nuc0NoYXRJbmZv",
          "Eg8KB2NoYXRfaWQYASABKAkSEQoJY2hhdF90eXBlGAIgASgFEhEKCXRpbWVz",
          "dGFtcBgDIAEoAxISCgptZW1iZXJfbnVtGAQgASgFEh8KB2RpYWxvZ3MYBSAD",
          "KAsyDi5TbnNEaWFsb2dJbmZvEhQKDHNpZ25hdHVyZV9pZBgGIAEoCSKlAQoN",
          "U25zRGlhbG9nSW5mbxIRCglkaWFsb2dfaWQYASABKAkSEQoJdGltZXN0YW1w",
          "GAIgASgDEhYKDmN1cl9jb250ZW50X2lkGAMgASgJEg8KB2NoYXRfaWQYBSAB",
          "KAkSDwoHb3B0aW9ucxgEIAMoBRITCgtkaWFsb2dfdHlwZRgGIAEoBRIOCgZp",
          "c19lbmQYByABKAgSDwoHaXNfcmVhZBgIIAEoCCItCgxDc1Nuc0dldExpc3QS",
          "HQoIc25zX3R5cGUYASABKA4yCy5TbnNHZXRUeXBlIjUKElNjU25zR2V0TW9t",
          "ZW50TGlzdBIfCgttb21lbnRfbGlzdBgBIAMoCzIKLlNuc01vbWVudCIzChBT",
          "Y1Nuc0dldENoYXRMaXN0Eh8KCWNoYXRfbGlzdBgBIAMoCzIMLlNuc0NoYXRJ",
          "bmZvImMKE1NjU3luY1Nuc0NoYXRNb2RpZnkSDwoHY2hhdF9pZBgBIAEoCRIR",
          "CgljaGF0X3R5cGUYAiABKAUSEgoKbWVtYmVyX251bRgDIAEoBRIUCgxzaWdu",
          "YXR1cmVfaWQYBCABKAkiJAoPQ3NTbnNNb21lbnRSZWFkEhEKCW1vbWVudF9p",
          "ZBgBIAMoCSIkCg9TY1Nuc01vbWVudFJlYWQSEQoJbW9tZW50X2lkGAEgAygJ",
          "IpoBChJTY1N5bmNTbnNBZGREaWFsb2cSDwoHY2hhdF9pZBgBIAEoCRIRCglj",
          "aGF0X3R5cGUYAiABKAUSEQoJdGltZXN0YW1wGAMgASgDEiMKC2RpYWxvZ19p",
          "bmZvGAQgASgLMg4uU25zRGlhbG9nSW5mbxISCgptZW1iZXJfbnVtGAUgASgF",
          "EhQKDHNpZ25hdHVyZV9pZBgGIAEoCSI1ChJTY1N5bmNTbnNBZGRNb21lbnQS",
          "HwoLbW9tZW50X2luZm8YASABKAsyCi5TbnNNb21lbnQiawoRQ3NTbnNNb21l",
          "bnRPcHRpb24SEQoJbW9tZW50X2lkGAEgASgJEg4KBm9wdGlvbhgCIAMoBRIM",
          "CgRsaWtlGAMgASgIEiUKC29wdGlvbl90eXBlGAQgASgOMhAuU25zTW9tZW50",
          "T3B0aW9uImsKEVNjU25zTW9tZW50T3B0aW9uEhEKCW1vbWVudF9pZBgBIAEo",
          "CRIOCgZvcHRpb24YAiADKAUSDAoEbGlrZRgDIAEoCBIlCgtvcHRpb25fdHlw",
          "ZRgEIAEoDjIQLlNuc01vbWVudE9wdGlvbiJ8ChVDc1Nuc0NoYXREaWFsb2dP",
          "cHRpb24SDwoHY2hhdF9pZBgBIAEoCRIRCglkaWFsb2dfaWQYAiABKAkSFgoO",
          "Y3VyX2NvbnRlbnRfaWQYAyABKAkSFwoPanVtcF9jb250ZW50X2lkGAQgASgJ",
          "Eg4KBm9wdGlvbhgFIAEoBSJhChVTY1N5bmNTbnNEaWFsb2dNb2RpZnkSDwoH",
          "Y2hhdF9pZBgBIAEoCRIjCgtkaWFsb2dfaW5mbxgCIAEoCzIOLlNuc0RpYWxv",
          "Z0luZm8SEgoKc2V0X29wdGlvbhgDIAEoCCI3ChFDc1Nuc0ZpbmlzaERpYWxv",
          "ZxIPCgdjaGF0X2lkGAEgASgJEhEKCWRpYWxvZ19pZBgCIAEoCSI1Cg9Dc1Nu",
          "c1JlYWREaWFsb2cSDwoHY2hhdF9pZBgBIAEoCRIRCglkaWFsb2dfaWQYAiAB",
          "KAkiNQoPU2NTbnNSZWFkRGlhbG9nEg8KB2NoYXRfaWQYASABKAkSEQoJZGlh",
          "bG9nX2lkGAIgASgJIpoBChlTY2RTcGFjZXNoaXBDb250cm9sQ2VudGVyEjgK",
          "B3JlcG9ydHMYASADKAsyJy5TY2RTcGFjZXNoaXBDb250cm9sQ2VudGVyLlJl",
          "cG9ydHNFbnRyeRpDCgxSZXBvcnRzRW50cnkSCwoDa2V5GAEgASgDEiIKBXZh",
          "bHVlGAIgASgLMhMuU2NkU3BhY2VzaGlwUmVwb3J0OgI4ASKOAQoSU2NkU3Bh",
          "Y2VzaGlwUmVwb3J0EhgKEGNoYXJfd29ya19yZWNvcmQYASADKAUSLwoGb3V0",
          "cHV0GAIgAygLMh8uU2NkU3BhY2VzaGlwUmVwb3J0Lk91dHB1dEVudHJ5Gi0K",
          "C091dHB1dEVudHJ5EgsKA2tleRgBIAEoBRINCgV2YWx1ZRgCIAEoBToCOAEi",
          "3wIKIFNjZFNwYWNlc2hpcE1hbnVmYWN0dXJpbmdTdGF0aW9uEjoKFHJlbWFp",
          "bl9wcm9kdWNlX29yZGVyGAEgASgLMhwuU3BhY2VzaGlwTWFudWZhY3R1cmlu",
          "Z09yZGVyEkYKC3Byb2R1Y3RfbWFwGAIgAygLMjEuU2NkU3BhY2VzaGlwTWFu",
          "dWZhY3R1cmluZ1N0YXRpb24uUHJvZHVjdE1hcEVudHJ5Ej8KB3JlcG9ydHMY",
          "AyADKAsyLi5TY2RTcGFjZXNoaXBNYW51ZmFjdHVyaW5nU3RhdGlvbi5SZXBv",
          "cnRzRW50cnkaMQoPUHJvZHVjdE1hcEVudHJ5EgsKA2tleRgBIAEoCRINCgV2",
          "YWx1ZRgCIAEoBToCOAEaQwoMUmVwb3J0c0VudHJ5EgsKA2tleRgBIAEoAxIi",
          "CgV2YWx1ZRgCIAEoCzITLlNjZFNwYWNlc2hpcFJlcG9ydDoCOAEiaQobU3Bh",
          "Y2VzaGlwTWFudWZhY3R1cmluZ09yZGVyEhIKCmZvcm11bGFfaWQYASABKAkS",
          "HAoUcmVtYWluX3Byb2R1Y2VfY291bnQYAiABKAUSGAoQY3VycmVudF9wcm9n",
          "cmVzcxgDIAEoBSJjChpTY2RTcGFjZXNoaXBSb29tQXR0clNvdXJjZRIPCgdj",
          "aGFyX2lkGAEgASgJEg0KBWluZGV4GAIgASgFEhAKCHNraWxsX2lkGAMgASgJ",
          "EhMKC3NvdXJjZV90eXBlGAQgASgFInwKGFNjZFNwYWNlc2hpcFJvb21BdHRy",
          "VW5pdBIMCgR0eXBlGAEgASgFEg0KBXZhbHVlGAIgASgCEhYKDmlzX25vdF93",
          "b3JraW5nGAMgASgIEisKBnNvdXJjZRgEIAEoCzIbLlNjZFNwYWNlc2hpcFJv",
          "b21BdHRyU291cmNlItgBChRTY2RTcGFjZXNoaXBSb29tQXR0chINCgV2YWx1",
          "ZRgBIAEoAhIZChF0aGVvcmV0aWNhbF92YWx1ZRgCIAEoAhItCgpiYXNlX2F0",
          "dHJzGAMgAygLMhkuU2NkU3BhY2VzaGlwUm9vbUF0dHJVbml0EjAKDXBlcmNl",
          "bnRfYXR0cnMYBCADKAsyGS5TY2RTcGFjZXNoaXBSb29tQXR0clVuaXQSNQoS",
          "YWJzX2FkZGl0aW9uX2F0dHJzGAUgAygLMhkuU2NkU3BhY2VzaGlwUm9vbUF0",
          "dHJVbml0Ir8FChBTY2RTcGFjZXNoaXBSb29tEgoKAmlkGAEgASgJEgwKBHR5",
          "cGUYAiABKAUSDQoFbGV2ZWwYAyABKAUSTgoYbGV2ZWxfdXBfY29uZGl0b25f",
          "dmFsdWVzGAQgAygLMiwuU2NkU3BhY2VzaGlwUm9vbS5MZXZlbFVwQ29uZGl0",
          "b25WYWx1ZXNFbnRyeRJOChhsZXZlbF91cF9jb25kaXRpb25fZmxhZ3MYBSAD",
          "KAsyLC5TY2RTcGFjZXNoaXBSb29tLkxldmVsVXBDb25kaXRpb25GbGFnc0Vu",
          "dHJ5EhsKE3N0YXRpb25lZF9jaGFyX2xpc3QYBiADKAkSMgoJYXR0cnNfbWFw",
          "GAcgAygLMh8uU2NkU3BhY2VzaGlwUm9vbS5BdHRyc01hcEVudHJ5EhgKEGhh",
          "c19jaGFyX3dvcmtpbmcYCCABKAgSNAoOY29udHJvbF9jZW50ZXIYFSABKAsy",
          "Gi5TY2RTcGFjZXNoaXBDb250cm9sQ2VudGVySAASQgoVbWFudWZhY3R1cmlu",
          "Z19zdGF0aW9uGBYgASgLMiEuU2NkU3BhY2VzaGlwTWFudWZhY3R1cmluZ1N0",
          "YXRpb25IABIsCgpncm93X2NhYmluGBcgASgLMhYuU2NkU3BhY2VzaGlwR3Jv",
          "d0NhYmluSAAaPAoaTGV2ZWxVcENvbmRpdG9uVmFsdWVzRW50cnkSCwoDa2V5",
          "GAEgASgJEg0KBXZhbHVlGAIgASgFOgI4ARo8ChpMZXZlbFVwQ29uZGl0aW9u",
          "RmxhZ3NFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAg6AjgBGkYK",
          "DUF0dHJzTWFwRW50cnkSCwoDa2V5GAEgASgFEiQKBXZhbHVlGAIgASgLMhUu",
          "U2NkU3BhY2VzaGlwUm9vbUF0dHI6AjgBQgsKCXJvb21fZGF0YSK3AQoVU2Nk",
          "U3BhY2VzaGlwR3Jvd0NhYmluEiMKBWJveGVzGAEgAygLMhQuU2NkU3BhY2Vz",
          "aGlwR3Jvd0JveBI0CgdyZXBvcnRzGAIgAygLMiMuU2NkU3BhY2VzaGlwR3Jv",
          "d0NhYmluLlJlcG9ydHNFbnRyeRpDCgxSZXBvcnRzRW50cnkSCwoDa2V5GAEg",
          "ASgDEiIKBXZhbHVlGAIgASgLMhMuU2NkU3BhY2VzaGlwUmVwb3J0OgI4ASJ3",
          "ChNTY2RTcGFjZXNoaXBHcm93Qm94Eg4KBmJveF9pZBgBIAEoBRIRCglyZWNp",
          "cGVfaWQYAiABKAkSGQoRcHJldmlld19yZWNpcGVfaWQYAyABKAkSEAoIcHJv",
          "Z3Jlc3MYBCABKAISEAoIaXNfcmVhZHkYBSABKAgi7AIKF1NjZFNwYWNlc2hp",
          "cFJvb21MZXZlbFVwEgoKAmlkGAEgASgJEgwKBHR5cGUYAiABKAUSDQoFbGV2",
          "ZWwYAyABKAUSVQoYbGV2ZWxfdXBfY29uZGl0b25fdmFsdWVzGAQgAygLMjMu",
          "U2NkU3BhY2VzaGlwUm9vbUxldmVsVXAuTGV2ZWxVcENvbmRpdG9uVmFsdWVz",
          "RW50cnkSVQoYbGV2ZWxfdXBfY29uZGl0aW9uX2ZsYWdzGAUgAygLMjMuU2Nk",
          "U3BhY2VzaGlwUm9vbUxldmVsVXAuTGV2ZWxVcENvbmRpdGlvbkZsYWdzRW50",
          "cnkaPAoaTGV2ZWxVcENvbmRpdG9uVmFsdWVzRW50cnkSCwoDa2V5GAEgASgJ",
          "Eg0KBXZhbHVlGAIgASgFOgI4ARo8ChpMZXZlbFVwQ29uZGl0aW9uRmxhZ3NF",
          "bnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAg6AjgBIqkDChdTY2RT",
          "cGFjZXNoaXBSb29tU3RhdGlvbhIKCgJpZBgBIAEoCRIMCgR0eXBlGAIgASgF",
          "EhsKE3N0YXRpb25lZF9jaGFyX2xpc3QYAyADKAkSOQoJYXR0cnNfbWFwGAQg",
          "AygLMiYuU2NkU3BhY2VzaGlwUm9vbVN0YXRpb24uQXR0cnNNYXBFbnRyeRIY",
          "ChBoYXNfY2hhcl93b3JraW5nGAUgASgIEl4KJG1hbnVmYWN0dXJpbmdfc3Rh",
          "dGlvbl9wcm9kdWNlX3N0YXR1cxgVIAEoCzIuLlNjZFNwYWNlc2hpcE1hbnVm",
          "YWN0dXJpbmdTdGF0aW9uUHJvZHVjZVN0YXR1c0gAEkgKGWdyb3dfY2FiaW5f",
          "cHJvZHVjZV9zdGF0dXMYFiABKAsyIy5TY2RTcGFjZXNoaXBHcm93Q2FiaW5Q",
          "cm9kdWNlU3RhdHVzSAAaRgoNQXR0cnNNYXBFbnRyeRILCgNrZXkYASABKAUS",
          "JAoFdmFsdWUYAiABKAsyFS5TY2RTcGFjZXNoaXBSb29tQXR0cjoCOAFCEAoO",
          "cHJvZHVjZV9zdGF0dXMiawotU2NkU3BhY2VzaGlwTWFudWZhY3R1cmluZ1N0",
          "YXRpb25Qcm9kdWNlU3RhdHVzEjoKFHJlbWFpbl9wcm9kdWNlX29yZGVyGAEg",
          "ASgLMhwuU3BhY2VzaGlwTWFudWZhY3R1cmluZ09yZGVyIkkKIlNjZFNwYWNl",
          "c2hpcEdyb3dDYWJpblByb2R1Y2VTdGF0dXMSIwoFYm94ZXMYASADKAsyFC5T",
          "Y2RTcGFjZXNoaXBHcm93Qm94IjgKFVNjZFNwYWNlc2hpcENoYXJTa2lsbBIN",
          "CgVpbmRleBgBIAEoBRIQCghza2lsbF9pZBgCIAEoCSLwAQoQU2NkU3BhY2Vz",
          "aGlwQ2hhchIPCgdjaGFyX2lkGAEgASgJEhkKEXBoeXNpY2FsX3N0cmVuZ3Ro",
          "GAIgASgCEhQKDGZhdm9yYWJpbGl0eRgDIAEoBRIZChFzdGF0aW9uZWRfcm9v",
          "bV9pZBgEIAEoCRISCgppc193b3JraW5nGAUgASgIEiYKBnNraWxscxgGIAMo",
          "CzIWLlNjZFNwYWNlc2hpcENoYXJTa2lsbBIUCgxpc19wcmVzZW50ZWQYByAB",
          "KAgSFQoNcmVjdl9naWZ0X2NudBgIIAEoBRIWCg50ZW1wX3Jld2FyZF9pZBgJ",
          "IAEoCSJUChlTY2RTcGFjZXNoaXBDaGFyU2tpbGxMaXN0Eg8KB2NoYXJfaWQY",
          "ASABKAkSJgoGc2tpbGxzGAIgAygLMhYuU2NkU3BhY2VzaGlwQ2hhclNraWxs",
          "InQKF1NjZFNwYWNlc2hpcENoYXJTdGF0aW9uEg8KB2NoYXJfaWQYASABKAkS",
          "GQoRc3RhdGlvbmVkX3Jvb21faWQYAiABKAkSEgoKaXNfd29ya2luZxgDIAEo",
          "CBIZChFwaHlzaWNhbF9zdHJlbmd0aBgEIAEoAiJVCg9TY1NwYWNlc2hpcFN5",
          "bmMSIAoFcm9vbXMYASADKAsyES5TY2RTcGFjZXNoaXBSb29tEiAKBWNoYXJz",
          "GAIgAygLMhEuU2NkU3BhY2VzaGlwQ2hhciI5ChVTY1NwYWNlc2hpcE1vZGlm",
          "eVJvb20SIAoFcm9vbXMYASADKAsyES5TY2RTcGFjZXNoaXBSb29tIlMKGlNj",
          "U3BhY2VzaGlwU3luY1Jvb21MZXZlbFVwEjUKE3Jvb21fbGV2ZWxfdXBfaW5m",
          "b3MYASADKAsyGC5TY2RTcGFjZXNoaXBSb29tTGV2ZWxVcCI5ChVTY1NwYWNl",
          "c2hpcE1vZGlmeUNoYXISIAoFY2hhcnMYASADKAsyES5TY2RTcGFjZXNoaXBD",
          "aGFyIksKGFNjU3BhY2VzaGlwU3luY0NoYXJTa2lsbBIvCgtjaGFyX3NraWxs",
          "cxgBIAMoCzIaLlNjZFNwYWNlc2hpcENoYXJTa2lsbExpc3QibgoaU2NTcGFj",
          "ZXNoaXBTeW5jUm9vbVN0YXRpb24SJwoFcm9vbXMYASADKAsyGC5TY2RTcGFj",
          "ZXNoaXBSb29tU3RhdGlvbhInCgVjaGFycxgCIAMoCzIYLlNjZFNwYWNlc2hp",
          "cENoYXJTdGF0aW9uIjkKE0NoYXJQcmVzZW50R2lmdEluZm8SDwoHY2hhcl9p",
          "ZBgBIAEoCRIRCglyZXdhcmRfaWQYAiABKAkiRgoaU2NTcGFjZXNoaXBQcmVz",
          "ZW50Q2hhckluZm8SKAoKZ2lmdF9pbmZvcxgBIAMoCzIULkNoYXJQcmVzZW50",
          "R2lmdEluZm8iRwojU3BhY2VzaGlwQ2hhckZhdm9yYWJpbGl0eUNoYW5nZUlu",
          "Zm8SDwoHY2hhcl9pZBgBIAEoCRIPCgdjdXJfZmF2GAIgASgFIl8KIVNjU3Bh",
          "Y2VzaGlwQ2hhckZhdm9yYWJpbGl0eUNoYW5nZRI6CgxjaGFuZ2VfaW5mb3MY",
          "ASADKAsyJC5TcGFjZXNoaXBDaGFyRmF2b3JhYmlsaXR5Q2hhbmdlSW5mbyIu",
          "ChtTY1NwYWNlc2hpcFJlY3ZHaWZ0RnJvbUNoYXISDwoHY2hhcl9pZBgBIAEo",
          "CSJXChxTY1NwYWNlc2hpcFByZXNlbnRHaWZ0VG9DaGFyEg8KB2NoYXJfaWQY",
          "ASABKAkSDwoHY3VyX2ZhdhgCIAEoBRIVCg1yZWN2X2dpZnRfY250GAMgASgF",
          "IvABCiNTY1NwYWNlc2hpcE1hbnVmYWN0dXJpbmdTdGF0aW9uU3luYxIPCgdy",
          "b29tX2lkGAEgASgJEjoKFHJlbWFpbl9wcm9kdWNlX29yZGVyGAIgASgLMhwu",
          "U3BhY2VzaGlwTWFudWZhY3R1cmluZ09yZGVyEkkKC3Byb2R1Y3RfbWFwGAMg",
          "AygLMjQuU2NTcGFjZXNoaXBNYW51ZmFjdHVyaW5nU3RhdGlvblN5bmMuUHJv",
          "ZHVjdE1hcEVudHJ5GjEKD1Byb2R1Y3RNYXBFbnRyeRILCgNrZXkYASABKAkS",
          "DQoFdmFsdWUYAiABKAU6AjgBIjgKJVNjU3BhY2VzaGlwTWFudWZhY3R1cmlu",
          "Z1N0YXRpb25DYW5jZWwSDwoHcm9vbV9pZBgBIAEoCSI5CiZTY1NwYWNlc2hp",
          "cE1hbnVmYWN0dXJpbmdTdGF0aW9uQ29sbGVjdBIPCgdyb29tX2lkGAEgASgJ",
          "Ik0KGlNjU3BhY2VzaGlwTW9kaWZ5R3Jvd0NhYmluEgoKAmlkGAEgASgJEiMK",
          "BWJveGVzGAIgAygLMhQuU2NkU3BhY2VzaGlwR3Jvd0JveCI3ChlTY1NwYWNl",
          "c2hpcEdyb3dDYWJpbkJyZWVkEhoKBWl0ZW1zGAEgAygLMgsuSXRlbUJ1bmRs",
          "ZSIZChdTY1NwYWNlc2hpcEdyb3dDYWJpblNvdyI5ChtTY1NwYWNlc2hpcEdy",
          "b3dDYWJpbkhhcnZlc3QSGgoFaXRlbXMYASADKAsyCy5JdGVtQnVuZGxlIhwK",
          "GlNjU3BhY2VzaGlwR3Jvd0NhYmluQ2FuY2VsImcKH1NjU3BhY2VzaGlwUmVw",
          "b3J0Q2hhcldvcmtNb2RpZnkSRAoVcm9vbV9jaGFyX3dvcmtfcmVjb3JkGAEg",
          "AygLMiUuU2NkU3BhY2VzaGlwUm9vbVJlcG9ydENoYXJXb3JrTW9kaWZ5Il0K",
          "JFNjZFNwYWNlc2hpcFJvb21SZXBvcnRDaGFyV29ya01vZGlmeRIPCgdyb29t",
          "X2lkGAEgASgJEgoKAnRzGAIgASgDEhgKEGNoYXJfd29ya19yZWNvcmQYAyAD",
          "KAUizQEKHVNjU3BhY2VzaGlwUmVwb3J0T3V0cHV0TW9kaWZ5Eg8KB3Jvb21f",
          "aWQYASABKAkSRwoNb3V0cHV0X3JlcG9ydBgCIAMoCzIwLlNjU3BhY2VzaGlw",
          "UmVwb3J0T3V0cHV0TW9kaWZ5Lk91dHB1dFJlcG9ydEVudHJ5GlIKEU91dHB1",
          "dFJlcG9ydEVudHJ5EgsKA2tleRgBIAEoAxIsCgV2YWx1ZRgCIAEoCzIdLlNj",
          "ZFNwYWNlc2hpcFJvb21SZXBvcnRPdXRwdXQ6AjgBIogBChxTY2RTcGFjZXNo",
          "aXBSb29tUmVwb3J0T3V0cHV0EjkKBm91dHB1dBgBIAMoCzIpLlNjZFNwYWNl",
          "c2hpcFJvb21SZXBvcnRPdXRwdXQuT3V0cHV0RW50cnkaLQoLT3V0cHV0RW50",
          "cnkSCwoDa2V5GAEgASgFEg0KBXZhbHVlGAIgASgFOgI4ASJzCiRTY1NwYWNl",
          "c2hpcE1hbnVmYWN0dXJpbmdTdGF0aW9uU3RhcnQSDwoHcm9vbV9pZBgBIAEo",
          "CRI6ChRyZW1haW5fcHJvZHVjZV9vcmRlchgCIAEoCzIcLlNwYWNlc2hpcE1h",
          "bnVmYWN0dXJpbmdPcmRlciInChRDc1NwYWNlc2hpcEJ1aWxkUm9vbRIPCgdy",
          "b29tX2lkGAEgASgJIikKFkNzU3BhY2VzaGlwTGV2ZWxVcFJvb20SDwoHcm9v",
          "bV9pZBgBIAEoCSJGChZDc1NwYWNlc2hpcFN0YXRpb25DaGFyEg8KB3Jvb21f",
          "aWQYASABKAkSGwoTc3RhdGlvbmVkX2NoYXJfbGlzdBgCIAMoCSJMCiVDc1Nw",
          "YWNlc2hpcFN0YXRpb25DaGFyQ2hhbmdlV29ya1N0YXRlEg8KB2NoYXJfaWQY",
          "ASABKAkSEgoKZ29fdG9fd29yaxgCIAEoCCJLChxDc1NwYWNlc2hpcFByZXNl",
          "bnRHaWZ0VG9DaGFyEg8KB2NoYXJfaWQYASABKAkSGgoFZ2lmdHMYAiADKAsy",
          "Cy5JdGVtQnVuZGxlIi4KG0NzU3BhY2VzaGlwUmVjdkdpZnRGcm9tQ2hhchIP",
          "CgdjaGFyX2lkGAEgASgJIjkKJkNzU3BhY2VzaGlwTWFudWZhY3R1cmluZ1N0",
          "YXRpb25Db2xsZWN0Eg8KB3Jvb21faWQYASABKAkiWgokQ3NTcGFjZXNoaXBN",
          "YW51ZmFjdHVyaW5nU3RhdGlvblN0YXJ0Eg8KB3Jvb21faWQYASABKAkSEgoK",
          "Zm9ybXVsYV9pZBgCIAEoCRINCgVjb3VudBgDIAEoBSI4CiVDc1NwYWNlc2hp",
          "cE1hbnVmYWN0dXJpbmdTdGF0aW9uQ2FuY2VsEg8KB3Jvb21faWQYASABKAki",
          "YAoqQ3NTcGFjZXNoaXBNYW51ZmFjdHVyaW5nU3RhdGlvbkNoYW5nZU9yZGVy",
          "Eg8KB3Jvb21faWQYASABKAkSEgoKZm9ybXVsYV9pZBgCIAEoCRINCgVjb3Vu",
          "dBgDIAEoBSJOChlDc1NwYWNlc2hpcEdyb3dDYWJpbkJyZWVkEg8KB3Jvb21f",
          "aWQYASABKAkSEQoJcmVjaXBlX2lkGAMgASgJEg0KBW11bHRpGAQgASgFIlQK",
          "F0NzU3BhY2VzaGlwR3Jvd0NhYmluU293Eg8KB3Jvb21faWQYASABKAkSKAoF",
          "Ym94ZXMYAiADKAsyGS5Dc2RTcGFjZXNoaXBHcm93Q2FiaW5Tb3ciPQoYQ3Nk",
          "U3BhY2VzaGlwR3Jvd0NhYmluU293EhEKCXJlY2lwZV9pZBgBIAEoCRIOCgZi",
          "b3hfaWQYAiABKAUiSQomQ3NTcGFjZXNoaXBHcm93Q2FiaW5DbGVhclByZXZp",
          "ZXdSZWNpcGUSDwoHcm9vbV9pZBgBIAEoCRIOCgZib3hfaWQYAiABKAUiUAob",
          "Q3NTcGFjZXNoaXBHcm93Q2FiaW5IYXJ2ZXN0Eg8KB3Jvb21faWQYASABKAkS",
          "EwoLYm94X2lkX2xpc3QYAiADKAUSCwoDYWxsGAMgASgIIj0KGkNzU3BhY2Vz",
          "aGlwR3Jvd0NhYmluQ2FuY2VsEg8KB3Jvb21faWQYASABKAkSDgoGYm94X2lk",
          "GAIgASgFIp8CChxDc1NjZW5lSW50ZXJhY3RTcEludGVyYWN0aXZlEg4KBm9i",
          "al9pZBgBIAEoBBIlCgdvcF90eXBlGAIgASgOMhQuU3BJbnRlcmFjdGl2ZU9w",
          "VHlwZRI/ChJkb29kYWRfY29tbW9uX3BpY2sYCiABKAsyIS5Dc2RTcEludGVy",
          "YWN0aXZlRG9vZGFkQ29tbW9uUGlja0gAEkEKE2Rvb2RhZF9jb21tb25fYnJl",
          "YWsYCyABKAsyIi5Dc2RTcEludGVyYWN0aXZlRG9vZGFkQ29tbW9uQnJlYWtI",
          "ABI2Cg1jb21tb25fYWN0aXZlGAwgASgLMh0uQ3NkU3BJbnRlcmFjdGl2ZUNv",
          "bW1vbkFjdGl2ZUgAQgwKCm9wX3BheWxvYWQiIgogQ3NkU3BJbnRlcmFjdGl2",
          "ZURvb2RhZENvbW1vblBpY2siOQohQ3NkU3BJbnRlcmFjdGl2ZURvb2RhZENv",
          "bW1vbkJyZWFrEhQKDG5ld19ocF9yYXRpbxgBIAEoAyIeChxDc2RTcEludGVy",
          "YWN0aXZlQ29tbW9uQWN0aXZlIi4KHFNjU2NlbmVJbnRlcmFjdFNwSW50ZXJh",
          "Y3RpdmUSDgoGb2JqX2lkGAEgASgEIjYKCFN0YXRJbmZvEgwKBHR5cGUYASAB",
          "KAUSDQoFdmFsdWUYAiABKA0SDQoFcGFyYW0YAyABKAUiLgoNU2NTeW5jQWxs",
          "U3RhdBIdCgpzdGF0c19pbmZvGAEgAygLMgkuU3RhdEluZm8iKgoKU2NTeW5j",
          "U3RhdBIcCglzdGF0X2luZm8YASABKAsyCS5TdGF0SW5mbyIsChhTdWJtaXRT",
          "b3VyY2VQYXJhbU1pc3Npb24SEAoIcXVlc3RfaWQYASABKAkiLgocU3VibWl0",
          "U291cmNlUGFyYW1JbnRlcmFjdGl2ZRIOCgZvYmpfaWQYAiABKAQiMwoKU3Vi",
          "bWl0VGVybRIlChBzdWJtaXRfaXRlbV9saXN0GAEgAygLMgsuU3VibWl0SXRl",
          "bSL1AQoRQ3NTY2VuZVN1Ym1pdEl0ZW0SEQoJc3VibWl0X2lkGAEgASgJEioK",
          "FXN1Ym1pdF9pdGVtX3Rlcm1fbGlzdBgGIAMoCzILLlN1Ym1pdFRlcm0SJgoL",
          "c291cmNlX3R5cGUYAyABKA4yES5TdWJtaXRTb3VyY2VUeXBlEiwKB21pc3Np",
          "b24YBCABKAsyGS5TdWJtaXRTb3VyY2VQYXJhbU1pc3Npb25IABI0CgtpbnRl",
          "cmFjdGl2ZRgFIAEoCzIdLlN1Ym1pdFNvdXJjZVBhcmFtSW50ZXJhY3RpdmVI",
          "AEIVChNzdWJtaXRfc291cmNlX3BhcmFtIjMKEVNjU2NlbmVTdWJtaXRJdGVt",
          "EhEKCXN1Ym1pdF9pZBgBIAEoCRILCgNyZXQYAiABKAgiPQoUQ3NTY2VuZVN1",
          "Ym1pdFJlY3ljbGUSJQoQc3VibWl0X2l0ZW1fbGlzdBgBIAMoCzILLlN1Ym1p",
          "dEl0ZW0iIwoUU2NTY2VuZVN1Ym1pdFJlY3ljbGUSCwoDcmV0GAEgASgIIsEB",
          "ChJTY1N5bmNUZFNldHRsZW1lbnQSDQoFdGRfaWQYASABKAkSKgoPc2V0dGxl",
          "bWVudF90eXBlGAIgASgOMhEuVGRTZXR0bGVtZW50VHlwZRIRCglyZXdhcmRf",
          "aWQYAyABKAkSFwoPZXh0cmFfYmFuZHdpZHRoGAQgASgFEiMKG2V4dHJhX2Jh",
          "dHRsZV9idWlsZGluZ19saW1pdBgFIAEoBRIfChdleHRyYV90cmF2ZWxfcG9s",
          "ZV9saW1pdBgGIAEoBSImCg1Dc1RkR2V0VGRMaXN0EhUKDXN0cm9uZ2hvbGRf",
          "aWQYASABKAkicQoNU2NUZEdldFRkTGlzdBIVCg1zdHJvbmdob2xkX2lkGAEg",
          "ASgJEhYKDnVubG9ja190ZF9saXN0GAIgAygJEhkKEWNvbXBsZXRlZF90ZF9s",
          "aXN0GAMgAygJEhYKDmNsb3NlZF90ZF9saXN0GAQgAygJIjcKElNjU3luY1Rk",
          "RnVsbFN0YXR1cxIhCglmdWxsX2RhdGEYASADKAsyDi5TY1RkR2V0VGRMaXN0",
          "Ii4KCUNzVGRTdGFydBINCgV0ZF9pZBgBIAEoCRISCgppc19yZXN0YXJ0GAIg",
          "ASgIIkgKCVNjVGRTdGFydBINCgV0ZF9pZBgBIAEoCRISCgppc19yZXN0YXJ0",
          "GAIgASgIEhgKEG1heF9idWlsZGluZ19udW0YAyABKAUiGgoJQ3NUZExlYXZl",
          "Eg0KBXRkX2lkGAEgASgJIhoKCVNjVGRMZWF2ZRINCgV0ZF9pZBgBIAEoCSJC",
          "Cg9Dc1RkQnV5QnVpbGRpbmcSDQoFdGRfaWQYASABKAkSEwoLYnVpbGRpbmdf",
          "aWQYAiABKAkSCwoDbnVtGAMgASgFIkIKD1NjVGRCdXlCdWlsZGluZxINCgV0",
          "ZF9pZBgBIAEoCRITCgtidWlsZGluZ19pZBgCIAEoCRILCgNudW0YAyABKAUi",
          "bgoQU2NTeW5jVGREcm9wSXRlbRIPCgdkcm9wX2lkGAEgASgNEg8KB2l0ZW1f",
          "aWQYAiABKAkSCwoDbnVtGAMgASgNEhkKCHBvc2l0aW9uGAQgASgLMgcuVmVj",
          "dG9yEhAKCGR1cmF0aW9uGAUgASgNIigKEENzVGRQaWNrRHJvcEl0ZW0SFAoM",
          "ZHJvcF9pZF9saXN0GAEgAygNIigKEFNjVGRQaWNrRHJvcEl0ZW0SFAoMZHJv",
          "cF9pZF9saXN0GAEgAygNIicKD0NzVGREcm9wRXhwaXJlZBIUCgxkcm9wX2lk",
          "X2xpc3QYASADKA0iKgoYQ3NHYW1lVGltZUZyZWV6ZVN0YXJ0UmVxEg4KBnJl",
          "YXNvbhgBIAEoBSIoChZDc0dhbWVUaW1lRnJlZXplRW5kUmVxEg4KBnJlYXNv",
          "bhgBIAEoBSJCChhTY0dhbWVUaW1lRnJlZXplU3RhcnRSc3ASDgoGcmVhc29u",
          "GAEgASgFEhYKDmluX3RpbWVfZnJlZXplGAIgASgIIkAKFlNjR2FtZVRpbWVG",
          "cmVlemVFbmRSc3ASDgoGcmVhc29uGAEgASgFEhYKDmluX3RpbWVfZnJlZXpl",
          "GAIgASgIIikKD1NjU3luY0FsbFVubG9jaxIWCg51bmxvY2tfc3lzdGVtcxgB",
          "IAMoBSIsCg5TY1VubG9ja1N5c3RlbRIaChJ1bmxvY2tfc3lzdGVtX3R5cGUY",
          "ASABKAUiJwoJTW9uZXlJbmZvEgoKAmlkGAEgASgJEg4KBmFtb3VudBgCIAEo",
          "BCJVCg1Dc01vbmV5Q2hhbmdlEhUKDW1vbmV5X2Zyb21faWQYASABKAkSEwoL",
          "bW9uZXlfdG9faWQYAiABKAkSGAoQbW9uZXlfZnJvbV9jb3VudBgDIAEoBCIu",
          "CgxTY1N5bmNXYWxsZXQSHgoKbW9uZXlfbGlzdBgBIAMoCzIKLk1vbmV5SW5m",
          "byJCChFTY1dhbGxldFN5bmNNb25leRIKCgJpZBgBIAEoCRIOCgZhbW91bnQY",
          "AiABKAQSEQoJb3BfYW1vdW50GAMgASgDIkoKFlNjUmV3YXJkRHJvcE1vbmV5",
          "VG9hc3QSCgoCaWQYASABKAkSDgoGYW1vdW50GAIgASgDEhQKA3BvcxgDIAEo",
          "CzIHLlZlY3RvciIxCg1Dc1dlYXBvblB1dG9uEg4KBmNoYXJpZBgBIAEoBBIQ",
          "Cgh3ZWFwb25pZBgCIAEoBCJeCg1TY1dlYXBvblB1dG9uEg4KBmNoYXJpZBgB",
          "IAEoBBIQCgh3ZWFwb25pZBgCIAEoBBITCgtvZmZ3ZWFwb25pZBgDIAEoBBIW",
          "Cg5wdXRfb2ZmX2NoYXJpZBgEIAEoBCIoChRDc1dlYXBvbkJyZWFrdGhyb3Vn",
          "aBIQCgh3ZWFwb25pZBgBIAEoBCJBChRTY1dlYXBvbkJyZWFrdGhyb3VnaBIQ",
          "Cgh3ZWFwb25pZBgBIAEoBBIXCg9icmVha3Rocm91Z2hfbHYYAiABKAQiXQoV",
          "Q3NXZWFwb25SZWZpbmVVcGdyYWRlEhAKCHdlYXBvbmlkGAEgASgEEhkKEXVw",
          "Z3JhZGVfcmVmaW5lX2x2GAIgASgEEhcKD2Nvc3Rfd2VhcG9uX2lkcxgDIAMo",
          "BCI8ChVTY1dlYXBvblJlZmluZVVwZ3JhZGUSEAoId2VhcG9uaWQYASABKAQS",
          "EQoJcmVmaW5lX2x2GAIgASgEIrgBCg5Dc1dlYXBvbkFkZEV4cBIQCgh3ZWFw",
          "b25pZBgBIAEoBBJCChNjb3N0X2l0ZW1faWQyX2NvdW50GAIgAygLMiUuQ3NX",
          "ZWFwb25BZGRFeHAuQ29zdEl0ZW1JZDJDb3VudEVudHJ5EhcKD2Nvc3Rfd2Vh",
          "cG9uX2lkcxgDIAMoBBo3ChVDb3N0SXRlbUlkMkNvdW50RW50cnkSCwoDa2V5",
          "GAEgASgJEg0KBXZhbHVlGAIgASgEOgI4ASJGCg5TY1dlYXBvbkFkZEV4cBIQ",
          "Cgh3ZWFwb25pZBgBIAEoBBIPCgduZXdfZXhwGAIgASgEEhEKCXdlYXBvbl9s",
          "dhgDIAEoBCI0ChFDc1dlYXBvbkF0dGFjaEdlbRIQCgh3ZWFwb25pZBgBIAEo",
          "BBINCgVnZW1pZBgCIAEoBCJnChFTY1dlYXBvbkF0dGFjaEdlbRIQCgh3ZWFw",
          "b25pZBgBIAEoBBINCgVnZW1pZBgCIAEoBBIUCgxkZXRhY2hfZ2VtaWQYAyAB",
          "KAQSGwoTZGV0YWNoX2dlbV93ZWFwb25pZBgEIAEoBCIlChFDc1dlYXBvbkRl",
          "dGFjaEdlbRIQCgh3ZWFwb25pZBgBIAEoBCI7ChFTY1dlYXBvbkRldGFjaEdl",
          "bRIQCgh3ZWFwb25pZBgBIAEoBBIUCgxkZXRhY2hfZ2VtaWQYAiABKAQiJgoN",
          "U2NTeW5jQWxsV2lraRIVCg1sYXRlc3RfdW5sb2NrGAEgAygNIh8KDENzVW5s",
          "b2NrV2lraRIPCgd3aWtpX2lkGAEgASgNIiIKDkNzTWFya1dpa2lSZWFkEhAK",
          "CHdpa2lfaWRzGAEgAygNIhYKBE9wdHMSDgoGdW5pcXVlGAEgASgIKhkKB1Zl",
          "cnNpb24SBgoCVjAQABIGCgJWMRABKl0KC01lc3NhZ2VUeXBlEhAKDEFVVEhf",
          "UkVRVUVTVBAAEhEKDUFVVEhfUkVTUE9OU0UQARIPCgtMT0dfTUVTU0FHRRAC",
          "EhgKFExPR19NRVNTQUdFX1JFU1BPTlNFEAMqmwIKDlJlc3BvbnNlU3RhdHVz",
          "EgYKAk9LEAASFwoSUGFja2FnZUNoZWNrRmFpbGVkEJADEhQKD1Rvb01hbnlU",
          "ZW1wbGF0ZRCRAxIfChpUZW1wbGF0ZVBhcmFtQ291bnROb3RNYXRjaBCSAxIP",
          "CgpBdXRoRmFpbGVkEJMDEhUKEFRlbXBsYXRlTm90Rm91bmQQlAMSEQoMSW52",
          "YWxpZEFwcElkEJUDEhEKDEludmFsaWRUb2tlbhCWAxIbChZJbnZhbGlkUHJv",
          "dG9jb2xWZXJzaW9uEJcDEhsKFlVuc3VwcG9ydGVkTWVzc2FnZVR5cGUQmAMS",
          "FAoPVW5leHBlY3RlZFNlcUlkEJkDEhMKDkNoZWNrc3VtRmFpbGVkEJoDKhcK",
          "C0VuY3J5cHRUeXBlEggKBE5vbmUQACo/CghMb2dMZXZlbBIJCgVERUJVRxAA",
          "EggKBElORk8QARIICgRXQVJOEAISCQoFRVJST1IQAxIJCgVGQVRBTBAEKm0K",
          "CURpcmVjdGlvbhIQCgxEaXJlY3Rpb25fVXAQABITCg9EaXJlY3Rpb25fUmln",
          "aHQQARISCg5EaXJlY3Rpb25fRG93bhACEhIKDkRpcmVjdGlvbl9MZWZ0EAMS",
          "EQoNRGlyZWN0aW9uX01heBAEKl0KCVNoYXBlVHlwZRIVChFTaGFwZVR5cGVf",
          "SW52YWxpZBAAEhIKDlNoYXBlVHlwZV9SZWN0EAESEgoOU2hhcGVUeXBlX0xp",
          "bmUQAhIRCg1TaGFwZVR5cGVfTWF4EAMqgQIKCE5vZGVUeXBlEhQKEE5vZGVU",
          "eXBlX0ludmFsaWQQABIWChJOb2RlVHlwZV9JbnZlbnRvcnkQARIQCgxOb2Rl",
          "VHlwZV9CdXMQAhIQCgxOb2RlVHlwZV9IdWIQAxIWChJOb2RlVHlwZV9Db2xs",
          "ZWN0b3IQBBIVChFOb2RlVHlwZV9Qcm9kdWNlchAFEhgKFE5vZGVUeXBlX0Jv",
          "eENvbnZleW9yEAYSFgoSTm9kZVR5cGVfQm94Um91dGVyEAcSGAoUTm9kZVR5",
          "cGVfQnVzVW5sb2FkZXIQCBIWChJOb2RlVHlwZV9CdXNMb2FkZXIQCRIQCgxO",
          "b2RlVHlwZV9NYXgQCiqtAwoNQ29tcG9uZW50VHlwZRIZChVDb21wb25lbnRU",
          "eXBlX0ludmFsaWQQABIVChFDb21wb25lbnRUeXBlX01hcBABEhsKF0NvbXBv",
          "bmVudFR5cGVfVHJhbnNmb3JtEAISFQoRQ29tcG9uZW50VHlwZV9CdXMQAxIb",
          "ChdDb21wb25lbnRUeXBlX0ludmVudG9yeRAEEhcKE0NvbXBvbmVudFR5cGVf",
          "Q2FjaGUQBRIaChZDb21wb25lbnRUeXBlX1NlbGVjdG9yEAYSGwoXQ29tcG9u",
          "ZW50VHlwZV9Db2xsZWN0b3IQBxIaChZDb21wb25lbnRUeXBlX1Byb2R1Y2Vy",
          "EAgSHAoYQ29tcG9uZW50VHlwZV9Gb3JtdWxhTWFuEAkSHQoZQ29tcG9uZW50",
          "VHlwZV9Cb3hDb252ZXlvchAKEhsKF0NvbXBvbmVudFR5cGVfQm94Um91dGVy",
          "EAsSHQoZQ29tcG9uZW50VHlwZV9CdXNVbmxvYWRlchAMEhsKF0NvbXBvbmVu",
          "dFR5cGVfQnVzTG9hZGVyEA0SFQoRQ29tcG9uZW50VHlwZV9NYXgQDiqdAQoJ",
          "RXZlbnRUeXBlEhUKEUV2ZW50VHlwZV9JbnZhbGlkEAASFgoSRXZlbnRUeXBl",
          "X1ByZXBhcmVkEAESFwoTRXZlbnRUeXBlX0xheW91dENoZxACEhoKFkV2ZW50",
          "VHlwZV9Db21wb25lbnRDaGcQAxIZChVFdmVudFR5cGVfUmVsYXRpb25DaGcQ",
          "BBIRCg1FdmVudFR5cGVfTWF4EAUqwgIKC09wZXJhdGVUeXBlEhcKE09wZXJh",
          "dGVUeXBlX0ludmFsaWQQABIVChFPcGVyYXRlVHlwZV9QbGFjZRABEh0KGU9w",
          "ZXJhdGVUeXBlX1BsYWNlQ29udmV5b3IQAhIZChVPcGVyYXRlVHlwZV9EaXNt",
          "YW50bGUQAxIgChxPcGVyYXRlVHlwZV9TZXRDb2xsZWN0VGFyZ2V0EAQSIQod",
          "T3BlcmF0ZVR5cGVfU2V0VW5sb2FkZXJTZWxlY3QQBRIhCh1PcGVyYXRlVHlw",
          "ZV9QdXRJbkl0ZW1zVG9DYWNoZRAGEiUKIU9wZXJhdGVUeXBlX1Rha2VPdXRJ",
          "dGVtc0Zyb21DYWNoZRAHEhoKFk9wZXJhdGVUeXBlX0FkZE5ld0FyZWEQCBIe",
          "ChpPcGVyYXRlVHlwZV9TZXRFdmVudEVuYWJsZRAJKsYBCg5PcGVyYXRlUmV0",
          "Q29kZRIVChFPcGVyYXRlUmV0Q29kZV9PSxAAEhoKFk9wZXJhdGVSZXRDb2Rl",
          "X1Vua25vd24QARIXChNPcGVyYXRlUmV0Q29kZV9GYWlsEAISIwofT3BlcmF0",
          "ZVJldENvZGVfSW52YWxpZFBhcmFtZXRlchADEiIKHk9wZXJhdGVSZXRDb2Rl",
          "X1Vua25vd25UZW1wbGF0ZRAEEh8KG09wZXJhdGVSZXRDb2RlX01lc2hDb25m",
          "bGljdBAFKqoDChdCYXR0bGVBY3Rpb25PcGVyYXRlVHlwZRISCg5CQVRUTEVf",
          "T1BfTk9ORRAAEhYKEkJBVFRMRV9PUF9BRERfQlVGRhABEhkKFUJBVFRMRV9P",
          "UF9GSU5JU0hfQlVGRhACEhoKFkJBVFRMRV9PUF9TS0lMTF9BVFRBQ0gQAxIa",
          "ChZCQVRUTEVfT1BfU0tJTExfREVUQUNIEAQSHgoaQkFUVExFX09QX1NLSUxM",
          "X1NUQVJUX0NBU1QQBRIcChhCQVRUTEVfT1BfU0tJTExfRU5EX0NBU1QQBhIZ",
          "ChVCQVRUTEVfT1BfU1dJVENIX01PREUQBxIcChhCQVRUTEVfT1BfVFJJR0dF",
          "Ul9BQ1RJT04QCBIYChRCQVRUTEVfT1BfVVBEQVRFX0hVQhAJEhgKFEJBVFRM",
          "RV9PUF9FTlRJVFlfRElFEAoSIQodQkFUVExFX09QX0VOVElUWV9WQUxVRV9N",
          "T0RJRlkQCxIfChtCQVRUTEVfT1BfUkVTRVRfQkFUVExFX0RBVEEQDBIhCh1C",
          "QVRUTEVfT1BfVVBEQVRFX0RBVEFfVkVSU0lPThANKqADChFCYXR0bGVTa2ls",
          "bFNvdXJjZRIfChtCQVRUTEVfU0tJTExfU09VUkNFX0RFRkFVTFQQABIcChhC",
          "QVRUTEVfU0tJTExfU09VUkNFX01PREUQARIeChpCQVRUTEVfU0tJTExfU09V",
          "UkNFX1dFQVBPThACEiIKHkJBVFRMRV9TS0lMTF9TT1VSQ0VfRVFVSVBfU1VJ",
          "VBADEh0KGUJBVFRMRV9TS0lMTF9TT1VSQ0VfT1RIRVIQBBIjCh9CQVRUTEVf",
          "U0tJTExfU09VUkNFX0lOVEVSQUNUSVZFEAUSHgoaQkFUVExFX1NLSUxMX1NP",
          "VVJDRV9TVU1NT04QBhInCiNCQVRUTEVfU0tJTExfU09VUkNFX1BMVU5HSU5H",
          "X0FUVEFDSxAHEiQKIEJBVFRMRV9TS0lMTF9TT1VSQ0VfUE9XRVJfQVRUQUNL",
          "EAgSKQolQkFUVExFX1NLSUxMX1NPVVJDRV9UQUxFTlRfTk9ERV9TS0lMTBAJ",
          "EioKJkJBVFRMRV9TS0lMTF9TT1VSQ0VfUE9URU5USUFMX0xWX1NLSUxMEAoq",
          "pwkKFlNlcnZlckJhdHRsZUFjdGlvblR5cGUSFgoSQkFUVExFX0FDVElPTl9O",
          "T05FEAASGAoUQkFUVExFX0FDVElPTl9EQU1BR0UQARIdChlCQVRUTEVfQUNU",
          "SU9OX0NSRUFURV9CVUZGEAISHQoZQkFUVExFX0FDVElPTl9GSU5JU0hfQlVG",
          "RhADEhsKF0JBVFRMRV9BQ1RJT05fR0FJTl9DT1NUEAQSFgoSQkFUVExFX0FD",
          "VElPTl9IRUFMEAUSHQoZQkFUVExFX0FDVElPTl9TV0lUQ0hfTU9ERRAGEisK",
          "J0JBVFRMRV9BQ1RJT05fTU9ESUZZX0RZTkFNSUNfQkxBQ0tCT0FSRBAHEh0K",
          "GUJBVFRMRV9BQ1RJT05fU1BBV05fRU5FTVkQCBIjCh9CQVRUTEVfQUNUSU9O",
          "X0NIRUNLX0RBTUFHRV9UWVBFEAkSLAooQkFUVExFX0FDVElPTl9DSEVDS19E",
          "QU1BR0VfREVDT1JBVEVfTUFTSxAKEioKJkJBVFRMRV9BQ1RJT05fQ0hFQ0tf",
          "RElTVEFOQ0VfQ09ORElUSU9OEAsSIgoeQkFUVExFX0FDVElPTl9DSEVDS19F",
          "TlRJVFlfTlVNEAwSGgoWQkFUVExFX0FDVElPTl9DSEVDS19IUBANEioKJkJB",
          "VFRMRV9BQ1RJT05fQ0hFQ0tfSVNfQ1JJVElDQUxfREFNQUdFEA4SJgoiQkFU",
          "VExFX0FDVElPTl9DSEVDS19NQUlOX0NIQVJBQ1RFUhAPEikKJUJBVFRMRV9B",
          "Q1RJT05fQ0hFQ0tfT0JKRUNUX1RZUEVfTUFUQ0gQEBIiCh5CQVRUTEVfQUNU",
          "SU9OX0NIRUNLX1NLSUxMX1RZUEUQERImCiJCQVRUTEVfQUNUSU9OX0NIRUNL",
          "X1NRVUFEX0lOX0ZJR0hUEBISIQodQkFUVExFX0FDVElPTl9DSEVDS19UQUdf",
          "TUFUQ0gQExIkCiBCQVRUTEVfQUNUSU9OX0NIRUNLX1RBUkdFVF9BTkdMRRAU",
          "Eh8KG0JBVFRMRV9BQ1RJT05fQ09NUEFSRV9GTE9BVBAVEh0KGUJBVFRMRV9B",
          "Q1RJT05fUFJPQkFCSUxJVFkQFhIjCh9CQVRUTEVfQUNUSU9OX0xBVU5DSF9Q",
          "Uk9KRUNUSUxFEBcSJgoiQkFUVExFX0FDVElPTl9TUEFXTl9BQklMSVRZX0VO",
          "VElUWRAYEhkKFUJBVFRMRV9BQ1RJT05fSUZfRUxTRRAZEhoKFkJBVFRMRV9B",
          "Q1RJT05fRk9SX0VBQ0gQGhIWChJCQVRUTEVfQUNUSU9OX0FVUkEQGxIlCiFC",
          "QVRUTEVfQUNUSU9OX1NQQVdOX0NVU1RPTV9TVU1NT04QHBIcChhCQVRUTEVf",
          "QUNUSU9OX0NIQU5ORUxJTkcQHRInCiNCQVRUTEVfQUNUSU9OX1NUT1JFX0FU",
          "VFJJQlVURV9WQUxVRRAeEjIKLkJBVFRMRV9BQ1RJT05fUkVGUkVTSF9CVUZG",
          "X0FUVFJfTU9ESUZJRVJfVkFMVUUQHxIsCihCQVRUTEVfQUNUSU9OX1NFVF9C",
          "TEFDS0JPQVJEX0ZST01fUFJFU0VUECAqbwoRQmF0dGxlVHJpZ2dlclR5cGUS",
          "HwobQkFUVExFX1RSSUdHRVJfVFlQRV9FWEVDVVRFEAASHAoYQkFUVExFX1RS",
          "SUdHRVJfVFlQRV9USUNLEAESGwoXQkFUVExFX1RSSUdHRVJfVFlQRV9FTkQQ",
          "AiqBAQoVQmF0dGxlQWN0aW9uT3duZXJUeXBlEiEKHUJBVFRMRV9BQ1RJT05f",
          "T1dORVJfVFlQRV9OT05FEAASIQodQkFUVExFX0FDVElPTl9PV05FUl9UWVBF",
          "X0JVRkYQARIiCh5CQVRUTEVfQUNUSU9OX09XTkVSX1RZUEVfU0tJTEwQAiqP",
          "AQoQQmF0dGxlSHViS2V5VHlwZRIcChhCQVRUTEVfSFVCX0tFWV9UWVBFX05P",
          "TkUQABIPCgtEQU1BR0VfVFlQRRABEhgKFERBTUFHRV9ERUNPUkFURV9NQVNL",
          "EAISEgoOREFNQUdFX0lTX0NSSVQQAxIOCgpFTlRJVFlfTlVNEAQSDgoKU0tJ",
          "TExfVFlQRRAFKn0KEkF0a0NhbGN1bGF0aW9uVHlwZRINCglBVEtfU0NBTEUQ",
          "ABISCg5ERUZJTklURV9WQUxVRRABEhYKEk1VTFRJUExZX0FUVFJJQlVURRAC",
          "EhUKEUJSRUFLSU5HX0FUS19DQUxDEAMSFQoRUFJJTUFSWV9BVFRSX0NBTEMQ",
          "BCrKAQoTRGFtYWdlUHJvY2Vzc29yVHlwZRIWChJBVFRBQ0tFUl9DUklUX1JB",
          "VEUQABIQCgxBVFRBQ0tFUl9BVEsQARIYChRBVFRBQ0tFUl9DUklUX0RBTUFH",
          "RRACEhAKDEFUVEFDS0VSX1BFThADEhAKDERBTUFHRV9TQ0FMRRAEEhAKDERF",
          "RkVOREVSX0RFRhAFEhsKF01PRElGWV9DQUxDVUxBVEVfUkVTVUxUEAYSHAoY",
          "SU5TVEFOVF9NT0RJRllfQVRUUklCVVRFEAcqOgoNU2tpbGxDb3N0VHlwZRIV",
          "ChFTS0lMTF9DT1NUX1VMVF9TUBAAEhIKDlNLSUxMX0NPU1RfQVRCEAEqbQoR",
          "SGVhbFByb2Nlc3NvclR5cGUSHQoZSEVBTF9QUk9DRVNTT1JfRU1QVFlfVFlQ",
          "RRAAEhYKEkhFQUxfTU9ESUZZX1JFU1VMVBABEiEKHUhFQUxfSU5TVEFOVF9N",
          "T0RJRllfQVRUUklCVVRFEAIqMAoOVGVhbUNoYXJJZFR5cGUSCgoGb2JqX2lk",
          "EAASEgoOcHJlc2V0X2NoYXJfaWQQASpECgxBY3Rpdml0eVR5cGUSGQoVQUNU",
          "SVZJVFlfVFlQRV9ERUZBVUxUEAASGQoVQUNUSVZJVFlfVFlQRV9DSEVDS0lO",
          "EAEqLAoIQ2hhclR5cGUSEAoMZGVmYXVsdF90eXBlEAASDgoKdHJpYWxfdHlw",
          "ZRABKksKD0NoYXJCYWdUZWFtVHlwZRIbChdDSEFSX0JBR19URUFNX1RZUEVf",
          "TUFJThAAEhsKF0NIQVJfQkFHX1RFQU1fVFlQRV9URU1QEAEq5gEKG0ZhY3Rv",
          "cnlGb3JtdWxhVmlzaWJsZVJlYXNvbhIfChtWSVNJQkxFX1JFQVNPTl9HRVRf",
          "TkVXX0lURU0QABIZChVWSVNJQkxFX1JFQVNPTl9VTkxPQ0sQARIfChtWSVNJ",
          "QkxFX1JFQVNPTl9JVEVNX1ZJU0lCTEUQAhIfChtWSVNJQkxFX1JFQVNPTl9O",
          "RVdfQlVJTERJTkcQAxIkCiBWSVNJQkxFX1JFQVNPTl9ORVdfQlVJTERJTkdf",
          "TU9ERRAEEiMKH1ZJU0lCTEVfUkVBU09OX05FV19GT1JNVUxBX0RPTkUQBSr+",
          "BAobU0NEX0ZBQ1RPUllfSFNfQ0VfRXZlbnRUeXBlEhoKFlNDRF9GQUNUT1JZ",
          "X0hTX0NFX05vbmUQABIfChtTQ0RfRkFDVE9SWV9IU19DRV9JblBvd2VyVXAQ",
          "ARIhCh1TQ0RfRkFDVE9SWV9IU19DRV9JblBvd2VyRG93bhACEicKI1NDRF9G",
          "QUNUT1JZX0hTX0NFX0ZsdWlkSGVpZ2h0Q2hhbmdlEAMSKAokU0NEX0ZBQ1RP",
          "UllfSFNfQ0VfRmx1aWRDb250ZW50Q2hhbmdlEAQSKwonU0NEX0ZBQ1RPUllf",
          "SFNfQ0VfUHJvZHVjZXJDaGFuZ2VGb3JtdWxhEAUSLgoqU0NEX0ZBQ1RPUllf",
          "SFNfQ0VfQnVzTG9hZGVyQ2hhbmdlTGFzdFB1dEluEAYSKAokU0NEX0ZBQ1RP",
          "UllfSFNfQ0VfQmF0dGxlRW5lcmd5Q2hhbmdlEAcSIQodU0NEX0ZBQ1RPUllf",
          "SFNfQ0VfSm9pbldvcmtpbmcQCBIiCh5TQ0RfRkFDVE9SWV9IU19DRV9MZWF2",
          "ZVdvcmtpbmcQCRIhCh1TQ0RfRkFDVE9SWV9IU19DRV9SZWdpb25Qb3dlchAK",
          "EiQKIFNDRF9GQUNUT1JZX0hTX0NFX0Jsb2NrQ29tcG9uZW50EAsSJgoiU0NE",
          "X0ZBQ1RPUllfSFNfQ0VfVW5CbG9ja0NvbXBvbmVudBAMEiIKHlNDRF9GQUNU",
          "T1JZX0hTX0NFX1N1YlBvcnRCbG9jaxAVEiQKIFNDRF9GQUNUT1JZX0hTX0NF",
          "X1N1YlBvcnRVbkJsb2NrEBYSIwofU0NEX0ZBQ1RPUllfSFNfQ0VfQ2hhbmdl",
          "UHJvZHVjdBAfKtgHCg1GYWN0b3J5T3BUeXBlEggKBE5PTkUQABIJCgVQTEFD",
          "RRABEhIKDlBMQUNFX0NPTlZFWU9SEAISDQoJRElTTUFOVExFEAMSFQoRU0VU",
          "X1NFTEVDVF9UQVJHRVQQBRIPCgtFTkFCTEVfTk9ERRAGEg0KCU1PVkVfTk9E",
          "RRAHEhoKFkRJU01BTlRMRV9CT1hfQ09OVkVZT1IQCBIPCgtSRVBBSVJfTk9E",
          "RRAJEhwKGE1PVkVfSVRFTV9DQUNIRV9UT19DQUNIRRAKEhoKFk1PVkVfSVRF",
          "TV9CQUdfVE9fQ0FDSEUQCxIaChZNT1ZFX0lURU1fQ0FDSEVfVE9fQkFHEAwS",
          "HAoYTU9WRV9JVEVNX0RFUE9UX1RPX0NBQ0hFEA0SHAoYTU9WRV9JVEVNX0NB",
          "Q0hFX1RPX0RFUE9UEA4SHQoZTU9WRV9JVEVNX0NPTlZFWU9SX1RPX0JBRxAP",
          "EhwKGENBQ0hFX1RSQU5TUE9SVF9UUkFOU0ZFUhAQEhoKFkNBQ0hFX1RSQU5T",
          "UE9SVF9FTkFCTEUQERIgChxTRVRfVFJBVkVMX1BPTEVfREVGQVVMVF9ORVhU",
          "EBISGAoUVVNFX0hFQUxfVE9XRVJfUE9JTlQQExIRCg1CQVRUTEVfUkVQQUlS",
          "EBQSEgoOQUREX0NPTk5FQ1RJT04QFRISCg5ERUxfQ09OTkVDVElPThAWEhcK",
          "E0dSSURfQk9YX0lOTkVSX01PVkUQHxIYChRHUklEX0JPWF9JTk5FUl9TUExJ",
          "VBAgEh0KGU1PVkVfSVRFTV9CQUdfVE9fR1JJRF9CT1gQIRIdChlNT1ZFX0lU",
          "RU1fR1JJRF9CT1hfVE9fQkFHECISHwobTU9WRV9JVEVNX0RFUE9UX1RPX0dS",
          "SURfQk9YECMSHwobTU9WRV9JVEVNX0dSSURfQk9YX1RPX0RFUE9UECQSIgoe",
          "TU9WRV9BTExfQ0FDSEVfT1VUX0lURU1fVE9fQkFHECUSFQoRUVVJQ0tfUFVU",
          "X0JBVFRFUlkQJhIYChRDSEFOR0VfUFJPRFVDRVJfTU9ERRApEiQKIFJFVkVS",
          "U0VfRkxVSURfQ09OVkVZT1JfRElSRUNUSU9OECoSEwoPRElTTUFOVExFX0JB",
          "VENIECsSIwofVEFLRV9PVVRfRkxVSURfRlJPTV9MSVFVSURfQk9EWRAzEh8K",
          "G1BVVF9JTl9GTFVJRF9UT19MSVFVSURfQk9EWRA0Eh4KGkZJTExJTkdfRkxV",
          "SURfQ09NX1dJVEhfQkFHEDUSIAocRklMTElOR19GTFVJRF9DT01fV0lUSF9E",
          "RVBPVBA2KoUBChBGYWN0b3J5T3BSZXRDb2RlEhcKE0ZhY3RvcnlPcFJldENv",
          "ZGVfT0sQABIICgRGQUlMEAESEwoPVU5LTk9XTl9PUF9UWVBFEAISEQoNTUVT",
          "SF9DT05GTElDVBADEhAKDE1VU1RfSU5fTUFJThAEEhQKEE5PX0JVSUxESU5H",
          "X0lURU0QBSrBAQoWUmV0Rmx1aWRXaXRoTGlxdWlkQm9keRIhCh1SRVRfRkxV",
          "SURfV0lUSF9MSVFVSURfQk9EWV9PSxAAEiMKH1JFVF9GTFVJRF9XSVRIX0xJ",
          "UVVJRF9CT0RZX05vbmUQARIrCidSRVRfRkxVSURfV0lUSF9MSVFVSURfQk9E",
          "WV9QYXJ0aWFsQnlCYWcQAhIyCi5SRVRfRkxVSURfV0lUSF9MSVFVSURfQk9E",
          "WV9QYXJ0aWFsQnlMaXF1aWRCb2R5EAMqcQoOSXRlbUJhZ1VzZVR5cGUSHQoZ",
          "aXRlbV9iYWdfdXNlX3R5cGVfZGVmYXVsdBAAEiQKIGl0ZW1fYmFnX3VzZV90",
          "eXBlX2VxdWlwX21lZGljaW5lEAESGgoWaXRlbV9iYWdfdXNlX3R5cGVfYm9t",
          "YhACKnIKDkVVc2VJdGVtUmVzdWx0EhgKFEVfVVNFX0lURU1fUkVTVUxUX09L",
          "EAASIQodRV9VU0VfSVRFTV9SRVNVTFRfVW5rbm93bkZhaWwQARIjCh9FX1VT",
          "RV9JVEVNX1JFU1VMVF9Db25kaWl0b25GYWlsEAIqVQoSQ2xpZW50UGxhdGZv",
          "cm1UeXBlEgsKB0RFRkFVTFQQABILCgdBTkRSSU9EEAESBwoDSU9TEAISCwoH",
          "V0lORE9XUxADEg8KC1BMQVlTVEFUSU9OEAQqTQoIQXJlYVR5cGUSCwoHRGVm",
          "YXVsdBAAEgkKBUNoaW5hEAESCwoHT3ZlcnNlYRACEgwKCENoaW5hUHJlEAoS",
          "DgoKT3ZlcnNlYVByZRALKigKB0VudlR5cGUSBwoDREVWEAASCgoGU1RBQkxF",
          "EAESCAoEUFJPRBACKkYKBkdlbmRlchIPCgtHRU5fSU5WQUxJRBAAEgwKCEdF",
          "Tl9NQUxFEAESDgoKR0VOX0ZFTUFMRRACEg0KCUdFTl9UT1RBTBADKoQBChdS",
          "YWNpbmdBY2hpZXZlbWVudFN0YXR1cxIWChJSYWNpbmdfU3RhdHVzX05vbmUQ",
          "ABIYChRSYWNpbmdfU3RhdHVzX0FjdGl2ZRABEhsKF1JhY2luZ19TdGF0dXNf",
          "Q29tcGxldGVkEAISGgoWUmFjaW5nX1N0YXR1c19SZWNlaXZlZBADKpUBCgtN",
          "b3Rpb25TdGF0ZRIPCgtNT1RJT05fTk9ORRAAEhIKDk1PVElPTl9TVEFOREJZ",
          "EAESFwoTTU9USU9OX1NUQU5EQllfTU9WRRACEg8KC01PVElPTl9XQUxLEAMS",
          "DgoKTU9USU9OX1JVThAEEhAKDE1PVElPTl9DTElNQhAFEhUKEU1PVElPTl9D",
          "TElNQl9KVU1QEAYqPgoMRW50aXR5T3BUeXBlEhcKE0VOVElUWV9PUF9UWVBF",
          "X05PTkUQABIVChFFTlRJVFlfT1BfVFlQRV9JRBACKisKClNuc0dldFR5cGUS",
          "BwoDQWxsEAASCgoGTW9tZW50EAESCAoEQ2hhdBACKjMKD1Nuc01vbWVudE9w",
          "dGlvbhILCgdJbnZhbGlkEAASCAoETGlrZRABEgkKBVJlcGx5EAIqmgEKE1Nw",
          "SW50ZXJhY3RpdmVPcFR5cGUSHwobU1BfSU5URVJBQ1RJVkVfT1BfVFlQRV9O",
          "T05FEAASFgoSRE9PREFEX0NPTU1PTl9QSUNLEAESFwoTRE9PREFEX0NPTU1P",
          "Tl9CUkVBSxACEhEKDUNPTU1PTl9BQ1RJVkUQAxIeChpTUF9JTlRFUkFDVElW",
          "RV9PUF9UWVBFX01BWBAEKnMKEFN1Ym1pdFNvdXJjZVR5cGUSGwoXU1VCTUlU",
          "X1NPVVJDRV9UWVBFX05PTkUQABIeChpTVUJNSVRfU09VUkNFX1RZUEVfTUlT",
          "U0lPThABEiIKHlNVQk1JVF9TT1VSQ0VfVFlQRV9JTlRFUkFDVElWRRACKncK",
          "EFRkU2V0dGxlbWVudFR5cGUSFgoSVERfU2V0dGxlbWVudF9Ob25lEAASGAoU",
          "VERfU2V0dGxlbWVudF9QYXNzZWQQARIXChNURF9TZXR0bGVtZW50X0xlYXZl",
          "EAISGAoUVERfU2V0dGxlbWVudF9EZWZlYXQQA2IGcHJvdG8z"));
    descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
        new pbr::FileDescriptor[] { },
        new pbr::GeneratedClrTypeInfo(new[] {typeof(global::Version), typeof(global::MessageType), typeof(global::ResponseStatus), typeof(global::EncryptType), typeof(global::LogLevel), typeof(global::Direction), typeof(global::ShapeType), typeof(global::NodeType), typeof(global::ComponentType), typeof(global::EventType), typeof(global::OperateType), typeof(global::OperateRetCode), typeof(global::BattleActionOperateType), typeof(global::BattleSkillSource), typeof(global::ServerBattleActionType), typeof(global::BattleTriggerType), typeof(global::BattleActionOwnerType), typeof(global::BattleHubKeyType), typeof(global::AtkCalculationType), typeof(global::DamageProcessorType), typeof(global::SkillCostType), typeof(global::HealProcessorType), typeof(global::TeamCharIdType), typeof(global::ActivityType), typeof(global::CharType), typeof(global::CharBagTeamType), typeof(global::FactoryFormulaVisibleReason), typeof(global::SCD_FACTORY_HS_CE_EventType), typeof(global::FactoryOpType), typeof(global::FactoryOpRetCode), typeof(global::RetFluidWithLiquidBody), typeof(global::ItemBagUseType), typeof(global::EUseItemResult), typeof(global::ClientPlatformType), typeof(global::AreaType), typeof(global::EnvType), typeof(global::Gender), typeof(global::RacingAchievementStatus), typeof(global::MotionState), typeof(global::EntityOpType), typeof(global::SnsGetType), typeof(global::SnsMomentOption), typeof(global::SpInteractiveOpType), typeof(global::SubmitSourceType), typeof(global::TdSettlementType), }, new pbr::GeneratedClrTypeInfo[] {
          new pbr::GeneratedClrTypeInfo(typeof(global::Header), global::Header.Parser, new[]{ "Version", "MessageType", "SeqId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::AuthRequest), global::AuthRequest.Parser, new[]{ "Token", "Uid", "Did", "AppId", "Os", "OsVersion", "AppVersion", "LogSdkVersion", "DeviceModel", "NetworkType", "DeviceName", "ServerName", "ServerChannel", "GameLaunchTime" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::AuthResponse), global::AuthResponse.Parser, new[]{ "Status", "Message", "EncryptType", "Key" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::LogIntParam), global::LogIntParam.Parser, new[]{ "Val", "Index" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::LogFloatParam), global::LogFloatParam.Parser, new[]{ "Val", "Index" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::LogDoubleParam), global::LogDoubleParam.Parser, new[]{ "Val", "Index" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::LogBoolParam), global::LogBoolParam.Parser, new[]{ "Val", "Index" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::LogStringParam), global::LogStringParam.Parser, new[]{ "Val", "Index" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::LogMessage), global::LogMessage.Parser, new[]{ "LogTemplate", "TemplateHash", "LogLevel", "Channel", "Time", "RoleId", "ParamsIntList", "ParamsFloatList", "ParamsDoubleList", "ParamsBoolList", "ParamsStringList" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::LogMessageResponse), global::LogMessageResponse.Parser, new[]{ "Status", "Message", "TemplateHash" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::Vector2), global::Vector2.Parser, new[]{ "X", "Y" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::SubPort), global::SubPort.Parser, new[]{ "Pos", "Direction" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ItemUnit), global::ItemUnit.Parser, new[]{ "Id", "Count" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ItemBox), global::ItemBox.Parser, new[]{ "Id", "Count", "Index", "Offset" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::Formula), global::Formula.Parser, new[]{ "Id", "ProgressPerRound", "From", "To" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::SDShape), global::SDShape.Parser, new[]{ "Type", "Points" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::SDTemplate), global::SDTemplate.Parser, new[]{ "Id", "Type", "Shape", "Bus", "BusUnloader", "BusLoader", "Collector", "Producer", "BoxConveyor", "BoxRouter" }, new[]{ "SDNode" }, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::SDNodeBus), global::SDNodeBus.Parser, new[]{ "Bus" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::SDComponentBus), global::SDComponentBus.Parser, new[]{ "Ports" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::SDNodeBusUnloader), global::SDNodeBusUnloader.Parser, new[]{ "BusUnloader", "Selector" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::SDComponentBusUnloader), global::SDComponentBusUnloader.Parser, new[]{ "Ports" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::SDComponentSelector), global::SDComponentSelector.Parser, new[]{ "Ports" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::SDNodeBusLoader), global::SDNodeBusLoader.Parser, new[]{ "BusLoader" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::SDComponentBusLoader), global::SDComponentBusLoader.Parser, new[]{ "PortsIn", "PortsOut" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::SDNodeCollector), global::SDNodeCollector.Parser, new[]{ "Collector", "Caches" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::SDComponentCollector), global::SDComponentCollector.Parser, new[]{ "ProgressPerRound" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::SDComponentCache), global::SDComponentCache.Parser, new[]{ "Size", "Ports" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::SDNodeProducer), global::SDNodeProducer.Parser, new[]{ "Producer", "FormulaMan", "CachesIn", "CachesOut" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::SDComponentProducer), global::SDComponentProducer.Parser, new[]{ "ProduceScale" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::SDComponentFormulaMan), global::SDComponentFormulaMan.Parser, new[]{ "FormulaIds" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::SDNodeBoxConveyor), global::SDNodeBoxConveyor.Parser, new[]{ "BoxConveyor" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::SDComponentBoxConveyor), global::SDComponentBoxConveyor.Parser, new[]{ "MSPerStep" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::SDNodeBoxRouter), global::SDNodeBoxRouter.Parser, new[]{ "BoxRouter" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::SDComponentBoxRouter), global::SDComponentBoxRouter.Parser, new[]{ "MSHold", "Ports" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::LayoutShape), global::LayoutShape.Parser, new[]{ "Type", "Points", "DynamicDirIn", "DynamicDirOut" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::Node), global::Node.Parser, new[]{ "NodeId", "Type", "TemplateId", "Shape", "Component" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::Component), global::Component.Parser, new[]{ "ComponentId", "Type", "Cache", "Inventory", "Collector", "Producer", "Selector", "BoxConveyor", "BoxRouter", "Map", "Transform" }, new[]{ "Content" }, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ComponentCache), global::ComponentCache.Parser, new[]{ "Cache" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ComponentInventory), global::ComponentInventory.Parser, new[]{ "Store" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ComponentCollector), global::ComponentCollector.Parser, new[]{ "CurrentProgress", "ProgressPerRound", "ItemsPerRound" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ComponentProducer), global::ComponentProducer.Parser, new[]{ "CurrentProgress", "CurrentFormulaId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ComponentSelector), global::ComponentSelector.Parser, new[]{ "SelectedItemId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ComponentBoxConveyor), global::ComponentBoxConveyor.Parser, new[]{ "PortIn", "PortOut", "List" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ComponentBoxRouter), global::ComponentBoxRouter.Parser, new[]{ "Content" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ComponentMap), global::ComponentMap.Parser, new[]{ "ComAsKind" }, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
          new pbr::GeneratedClrTypeInfo(typeof(global::ComponentTransform), global::ComponentTransform.Parser, new[]{ "Position", "Direction" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ContextBrief), global::ContextBrief.Parser, new[]{ "CD", "Now", "IsActive" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ContextBlackboard), global::ContextBlackboard.Parser, new[]{ "ElectricCurrent", "ElectricMax" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ContextStatus), global::ContextStatus.Parser, new[]{ "Brief", "Blackboard", "NodeIds" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::Event), global::Event.Parser, new[]{ "TimestampMS", "Sequence", "Type", "Prepared", "LayoutChg", "ComponentChg", "RelationChg" }, new[]{ "Payload" }, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::EventPrepared), global::EventPrepared.Parser, null, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::EventLayoutChg), global::EventLayoutChg.Parser, new[]{ "NodeIds" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::EventComponentChg), global::EventComponentChg.Parser, new[]{ "ComponentIds" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::EventRelationChg), global::EventRelationChg.Parser, new[]{ "IsGot", "ComId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::Operate), global::Operate.Parser, new[]{ "Type", "Place", "PlaceConveyor", "Dismantle", "SetCollectTarget", "SetUnloaderSelect", "PutInItemsToCache", "TakeOutItemsFromCache", "AddNewArea", "SetEventEnable" }, new[]{ "Payload" }, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::OperatePayloadPlace), global::OperatePayloadPlace.Parser, new[]{ "TemplateId", "Pos", "Direction" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::OperatePayloadPlaceConveyor), global::OperatePayloadPlaceConveyor.Parser, new[]{ "TemplateId", "DirectionIn", "DirectionOut", "Points" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::OperatePayloadDismantle), global::OperatePayloadDismantle.Parser, new[]{ "NodeId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::OperatePayloadSetCollectTarget), global::OperatePayloadSetCollectTarget.Parser, new[]{ "NodeId", "ItemsPerRound" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::OperatePayloadSetUnloaderSelect), global::OperatePayloadSetUnloaderSelect.Parser, new[]{ "NodeId", "ItemId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::OperatePayloadPutInItemsToCache), global::OperatePayloadPutInItemsToCache.Parser, new[]{ "ComId", "Items" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::OperatePayloadTakeOutItemsFromCache), global::OperatePayloadTakeOutItemsFromCache.Parser, new[]{ "ComId", "Items" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::OperatePayloadAddNewArea), global::OperatePayloadAddNewArea.Parser, new[]{ "Area" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::OperatePayloadSetEventEnable), global::OperatePayloadSetEventEnable.Parser, new[]{ "Enable", "EventTypeList" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::OperateReturn), global::OperateReturn.Parser, new[]{ "RetCode", "TimestampMS", "Sequence", "Place", "PlaceConveyor", "PutInItemsToCache", "TakeOutItemsFromCache" }, new[]{ "Payload" }, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::OperateReturnPlace), global::OperateReturnPlace.Parser, new[]{ "NodeId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::OperateReturnPlaceConveyor), global::OperateReturnPlaceConveyor.Parser, new[]{ "NodeId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::OperateReturnPutInItemsToCache), global::OperateReturnPutInItemsToCache.Parser, new[]{ "LeastItems" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::OperateReturnTakeOutItemsFromCache), global::OperateReturnTakeOutItemsFromCache.Parser, new[]{ "GotItems" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::MeshArea), global::MeshArea.Parser, new[]{ "Range" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::MeshAreaBitmap), global::MeshAreaBitmap.Parser, new[]{ "Area", "Bitmaps" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ContextArchive), global::ContextArchive.Parser, new[]{ "Brief", "Blackboard", "Areas", "Nodes" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleClientData), global::BattleClientData.Parser, new[]{ "OpList" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleClientOpData), global::BattleClientOpData.Parser, new[]{ "OwnerId", "OpType", "Generation", "ChapterMapId", "AddBuffOpData", "FinishBuffOpData", "SkillAttachOpData", "SkillDetachOpData", "SkillStartCastOpData", "SkillEndCastOpData", "SkillSwitchModeOpData", "TriggerActionOpData", "UpdateHubOpData", "EntityDieOpData", "EntityValueModifyData", "ResetBattleOpData", "UpdateDataVersionOpData" }, new[]{ "OpDataImpl" }, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleAddBuffOpData), global::BattleAddBuffOpData.Parser, new[]{ "SrcInstId", "TargetInstId", "BuffId", "BuffInstId", "ClientAddTs", "AssignedItems", "BuffSrcType", "BuffSrcArgs" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleBlackboard), global::BattleBlackboard.Parser, new[]{ "Blackboard" }, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleBlackboardData), global::BattleBlackboardData.Parser, new[]{ "StrValue", "FloatValue", "IsDynamic" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleFinishBuffOpData), global::BattleFinishBuffOpData.Parser, new[]{ "BuffInstId", "ReduceLayer", "Force" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleSkillAttachOpData), global::BattleSkillAttachOpData.Parser, new[]{ "SrcInstId", "SkillId", "SkillLv", "SkillSource", "SkillInstId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleSkillDetachOpData), global::BattleSkillDetachOpData.Parser, new[]{ "SkillInstId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleSkillStartCastOpData), global::BattleSkillStartCastOpData.Parser, new[]{ "InstId", "Target" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleTargetHandle), global::BattleTargetHandle.Parser, new[]{ "Targets" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleTargetWrapper), global::BattleTargetWrapper.Parser, new[]{ "TargetId", "TargetPos" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::Vector), global::Vector.Parser, new[]{ "X", "Y", "Z" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleSkillEndCastOpData), global::BattleSkillEndCastOpData.Parser, new[]{ "InstId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleSwitchModeOpData), global::BattleSwitchModeOpData.Parser, new[]{ "ModeInstId", "ModeId", "ModeChangeType", "IsEnable" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleTriggerActionOpData), global::BattleTriggerActionOpData.Parser, new[]{ "OwnerId", "InstId", "TemplateId", "InputTargets", "Action", "TriggerType", "OwnerType" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleActionInst), global::BattleActionInst.Parser, new[]{ "ActionId", "ActionType", "DamageAction", "CreateBuffAction", "FinishBuffAction", "GainCostAction", "HealAction", "SwitchModeAction", "ModifyDynamicBlackboardAction", "SpawnEnemyAction", "CheckDamageTypeAction", "CheckDamageDecorateMaskAction", "CheckDistanceConditionAction", "CheckEntityNumAction", "CheckHpAction", "CheckIsCriticalDamageAction", "CheckMainCharacterAction", "CheckObjectTypeMatchAction", "CheckSkillTypeAction", "CheckSquadInFightAction", "CheckTagMatchAction", "CheckTargetAngleAction", "CompareFloatAction", "ProbabilityAction", "LaunchProjectileAction", "SpawnAbilityEntityAction", "SpawnCustomSummonAction", "RefreshBuffAttrModifierValueAction", "StoreAttributeValueAction", "SetBlackboardFromPresetAction", "EmptyAction" }, new[]{ "InstImpl" }, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleDamageActionRuntime), global::BattleDamageActionRuntime.Parser, new[]{ "AttackerId", "Details" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleDamageDetail), global::BattleDamageDetail.Parser, new[]{ "TargetId", "DamageUnitIndex", "IsCrit", "Value", "ModifierArgs", "CurHp" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleDamageModifierArgs), global::BattleDamageModifierArgs.Parser, new[]{ "AttackerId", "DefenderId", "AttackerModifiers", "DefenderModifiers" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleModifierHandle), global::BattleModifierHandle.Parser, new[]{ "BuffInstId", "Index" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleCreateBuffActionRuntime), global::BattleCreateBuffActionRuntime.Parser, new[]{ "Details" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleCreateBuffActionDetail), global::BattleCreateBuffActionDetail.Parser, new[]{ "SourceId", "TargetId", "BuffInstId", "BuffInputIndex", "AssignedItems" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleBlackboardAssignItem), global::BattleBlackboardAssignItem.Parser, new[]{ "TargetKey", "InputValueKey", "UseDirectValue", "NumericValue", "StringValue" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleFinishBuffActionRuntime), global::BattleFinishBuffActionRuntime.Parser, new[]{ "FinishBuffs" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleFinishBuffActionDetail), global::BattleFinishBuffActionDetail.Parser, new[]{ "TargetId", "BuffInstId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleGainCostActionRuntime), global::BattleGainCostActionRuntime.Parser, new[]{ "SourceId", "TargetId", "FinalValue" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleHealActionRuntime), global::BattleHealActionRuntime.Parser, new[]{ "Details" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleHealActionDetail), global::BattleHealActionDetail.Parser, new[]{ "SourceId", "TargetId", "Value", "ModifierArgs", "CurHp" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleHealModifierArgs), global::BattleHealModifierArgs.Parser, new[]{ "HealerId", "HealReceiveId", "HealerModifiers", "HealReceiveModifiers" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleSwitchModeActionRuntime), global::BattleSwitchModeActionRuntime.Parser, new[]{ "SourceId", "ModeId", "ModeInstId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleModifyDynamicBlackboardActionRuntime), global::BattleModifyDynamicBlackboardActionRuntime.Parser, new[]{ "ClientValue" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleSpawnEnemyActionRuntime), global::BattleSpawnEnemyActionRuntime.Parser, new[]{ "ClientKey", "Details" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleSpawnEnemyActionDetail), global::BattleSpawnEnemyActionDetail.Parser, new[]{ "SourceId", "EnemyLv", "Pos", "Rotation", "SceneNumId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleCheckDamageTypeActionRuntime), global::BattleCheckDamageTypeActionRuntime.Parser, new[]{ "Result" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleCheckDamageDecorateMaskActionRuntime), global::BattleCheckDamageDecorateMaskActionRuntime.Parser, new[]{ "Result" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleCheckDistanceConditionActionRuntime), global::BattleCheckDistanceConditionActionRuntime.Parser, new[]{ "PosA", "PosB", "Distance", "Result" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleCheckEntityNumActionRuntime), global::BattleCheckEntityNumActionRuntime.Parser, new[]{ "Result" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleCheckHpActionRuntime), global::BattleCheckHpActionRuntime.Parser, new[]{ "SourceId", "Result" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleCheckIsCriticalDamageActionRuntime), global::BattleCheckIsCriticalDamageActionRuntime.Parser, new[]{ "Result" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleCheckMainCharacterActionRuntime), global::BattleCheckMainCharacterActionRuntime.Parser, new[]{ "CheckTargetId", "Result" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleCheckObjectTypeMatchActionRuntime), global::BattleCheckObjectTypeMatchActionRuntime.Parser, new[]{ "Result" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleCheckSkillTypeActionRuntime), global::BattleCheckSkillTypeActionRuntime.Parser, new[]{ "Result" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleCheckSquadInFightActionRuntime), global::BattleCheckSquadInFightActionRuntime.Parser, new[]{ "Result" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleCheckTagMatchActionRuntime), global::BattleCheckTagMatchActionRuntime.Parser, new[]{ "TargetIds", "Result" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleCheckTargetAngleActionRuntime), global::BattleCheckTargetAngleActionRuntime.Parser, new[]{ "SourceVector", "TargetVector", "Result" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleCompareFloatActionRuntime), global::BattleCompareFloatActionRuntime.Parser, new[]{ "Result" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleProbabilityActionRuntime), global::BattleProbabilityActionRuntime.Parser, new[]{ "Result" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleLaunchProjectileActionRuntime), global::BattleLaunchProjectileActionRuntime.Parser, new[]{ "SourceId", "Details" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleProjectileDetail), global::BattleProjectileDetail.Parser, new[]{ "ClientProjectileId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleSpawnAbilityEntityActionRuntime), global::BattleSpawnAbilityEntityActionRuntime.Parser, new[]{ "Details" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleAbilityEntityDetail), global::BattleAbilityEntityDetail.Parser, new[]{ "ClientAbilityEntityId", "SourceId", "InitPos", "Rotation" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleSpawnCustomSummonActionRuntime), global::BattleSpawnCustomSummonActionRuntime.Parser, new[]{ "Details" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleSpawnCustomSummonDetail), global::BattleSpawnCustomSummonDetail.Parser, new[]{ "SummonId", "SummonSkillId", "ClientAbilityEntityId", "InitPos", "Rotation", "Blackboard", "SourceId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleRefreshBuffAttrModifierValueActionRuntime), global::BattleRefreshBuffAttrModifierValueActionRuntime.Parser, null, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleStoreAttributeValueActionRuntime), global::BattleStoreAttributeValueActionRuntime.Parser, new[]{ "Value" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleSetBlackboardFromPresetRuntime), global::BattleSetBlackboardFromPresetRuntime.Parser, new[]{ "ModifiedValue" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::EmptyBattleAction), global::EmptyBattleAction.Parser, null, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleUpdateHubOpData), global::BattleUpdateHubOpData.Parser, new[]{ "OwnerId", "InstId", "TemplateId", "HubData", "OwnerType" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleHubItem), global::BattleHubItem.Parser, new[]{ "KeyType", "NumericValues", "StringValues", "TargetHandles" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleEntityDieOpData), global::BattleEntityDieOpData.Parser, new[]{ "EntityInstId", "SceneNumId", "DisableAntiCheat" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleEntityValueModifyData), global::BattleEntityValueModifyData.Parser, new[]{ "EntityInstId", "SceneNumId", "Value", "Source" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleInfo), global::BattleInfo.Parser, new[]{ "Hp", "Ultimatesp" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleResetBattleDataOpData), global::BattleResetBattleDataOpData.Parser, null, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleUpdateDataVersionOpData), global::BattleUpdateDataVersionOpData.Parser, new[]{ "ClientDataVersion" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleActionJump), global::BattleActionJump.Parser, new[]{ "ActionType", "JumpToTag" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BuffRes), global::BuffRes.Parser, new[]{ "BuffId", "LifeType", "AttrModifiers", "DamageModifiers", "HealModifiers", "Blackboard", "ActionMap", "ApplyTags", "StackingSettings", "Duration", "RemoveOnRepatriate", "StackingId", "StackingType", "MaxStackCnt", "Priority" }, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleAttrModifier), global::BattleAttrModifier.Parser, new[]{ "ModifyAttrType", "AttrType", "FormulaItem", "Param" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleBlackboardFloat), global::BattleBlackboardFloat.Parser, new[]{ "UseBlackboardKey", "BlackboardKey", "DefaultValue" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BuffDamageModifierRes), global::BuffDamageModifierRes.Parser, new[]{ "EnableSide", "Index", "CondActions", "DamageProcessors" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleActionRes), global::BattleActionRes.Parser, new[]{ "ActionId", "ActionType", "DamageAction", "CreateBuffAction", "FinishBuffAction", "GainCostAction", "HealAction", "SwitchModeAction", "ModifyDynamicBlackboardAction", "SpawnEnemyAction", "CheckDamageTypeAction", "CheckDamageDecorateMaskAction", "CheckDistanceConditionAction", "CheckEntityNumAction", "CheckHpAction", "CheckIsCriticalDamageAction", "CheckMainCharacterAction", "CheckObjectTypeMatchAction", "CheckSkillTypeAction", "CheckSquadInFightAction", "CheckTagMatchAction", "CheckTargetAngleAction", "CompareFloatAction", "ProbabilityAction", "LaunchProjectileAction", "SpawnAbilityEntityAction", "SpawnCustomSummonAction", "RefreshBuffAttrModifierValueAction", "StoreAttributeValueAction", "SetBlackboardFromPresetAction", "EmptyRes" }, new[]{ "InstImpl" }, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleDamageActionData), global::BattleDamageActionData.Parser, new[]{ "Target", "AttackerType", "DamageUnit" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleActionTargetSetting), global::BattleActionTargetSetting.Parser, new[]{ "TargetSource", "TargetGroupKey" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleActionDamageUnit), global::BattleActionDamageUnit.Parser, new[]{ "DamageType", "DamageAttributeType", "DamageDecorateMask", "SimpleCalculation", "AtkScale", "AtkCalculation", "DamageProcessors", "GainCost", "CostData", "ReduceDamageForGuard", "ReduceDamageForGuardRatio" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleDamageAtkCalculation), global::BattleDamageAtkCalculation.Parser, new[]{ "Type", "AtkScaleCalculation", "DefiniteValueCalculation", "MultiplyAttributeCalculation", "BreakingAttackCalculation", "PrimaryAttrCalculation" }, new[]{ "CalculationImpl" }, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::AtkScaleCalculation), global::AtkScaleCalculation.Parser, new[]{ "Type", "AtkScale" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::DefiniteValueCalculation), global::DefiniteValueCalculation.Parser, new[]{ "Type", "DefiniteValue", "ApplyScale", "ValueScale" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::MultiplyAttributeCalculation), global::MultiplyAttributeCalculation.Parser, new[]{ "Type", "ValueSource", "AttrType", "Multiplier", "AddValue" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BreakingAttackCalculation), global::BreakingAttackCalculation.Parser, new[]{ "Type", "AtkScale", "Multiplier" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::PrimaryAttrCalculation), global::PrimaryAttrCalculation.Parser, new[]{ "ValueSource", "AttrType", "ApplyScale", "ValueScale" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleDamageProcessor), global::BattleDamageProcessor.Parser, new[]{ "Type", "AttackerCritRateProcessor", "AttackerAtkProcessor", "AttackerCritDamageProcessor", "AttackerPenProcessor", "DamageScaleProcessor", "DefenderDefProcessor", "ModifyCalulateResultProcessor", "InstantModifyAttributeProcessor" }, new[]{ "ProcessorImpl" }, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::AttackerCritRateProcessor), global::AttackerCritRateProcessor.Parser, new[]{ "Type", "Addition" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::AttackerAtkProcessor), global::AttackerAtkProcessor.Parser, new[]{ "Type", "Scale" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::AttackerCritDamageProcessor), global::AttackerCritDamageProcessor.Parser, new[]{ "Type", "Scale" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::AttackerPenProcessor), global::AttackerPenProcessor.Parser, new[]{ "Type", "Scale" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::DamageScaleProcessor), global::DamageScaleProcessor.Parser, new[]{ "Type", "DamageScaleSide", "ZoneName", "Addition" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::DefenderDefProcessor), global::DefenderDefProcessor.Parser, new[]{ "Type", "Multiplier" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ModifyCalculateResultProcessor), global::ModifyCalculateResultProcessor.Parser, new[]{ "Type", "CalType", "BaseMultiplier", "MultiplierCnt" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::InstantModifyAttributeProcessor), global::InstantModifyAttributeProcessor.Parser, new[]{ "Type", "TargetSide", "AttrModifier" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::SkillCostData), global::SkillCostData.Parser, new[]{ "CostType", "CostValue" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleCreateBuffActionData), global::BattleCreateBuffActionData.Parser, new[]{ "BuffInput", "Count", "Target", "BuffSourceType", "AutoFinishByAction" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BuffInput), global::BuffInput.Parser, new[]{ "BuffId", "AssignBlackboard", "AssignedItems", "ReadIdFromBlackboard" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleFinishBuffActionData), global::BattleFinishBuffActionData.Parser, new[]{ "BuffOwner", "BuffIds", "FinishAllBuff", "FinishLayerCnt" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleGainCostActionData), global::BattleGainCostActionData.Parser, new[]{ "CostData" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleHealActionData), global::BattleHealActionData.Parser, new[]{ "HealType", "HealCalculation" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleSwitchModeActionData), global::BattleSwitchModeActionData.Parser, new[]{ "ModeId", "ResetOnEnd" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleModifyDynamicBlackboardActionData), global::BattleModifyDynamicBlackboardActionData.Parser, new[]{ "Key", "Value", "ModifyType" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleSpawnEnemyActionData), global::BattleSpawnEnemyActionData.Parser, new[]{ "EnemyId", "HpRatio" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleCheckDamageTypeActionData), global::BattleCheckDamageTypeActionData.Parser, new[]{ "DamageType" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleCheckDamageDecorateMaskActionData), global::BattleCheckDamageDecorateMaskActionData.Parser, new[]{ "DamageDecorateMask" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleCheckDistanceConditionActionData), global::BattleCheckDistanceConditionActionData.Parser, new[]{ "Distance", "LessThan" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleCheckEntityNumActionData), global::BattleCheckEntityNumActionData.Parser, new[]{ "ZeroAlwaysReturnTrue", "MinNum", "CompareType" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleCheckHpActionData), global::BattleCheckHpActionData.Parser, new[]{ "CompareType", "IsRatio", "Value" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleCheckIsCriticalDamageActionData), global::BattleCheckIsCriticalDamageActionData.Parser, new[]{ "IsInverse" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleCheckMainCharacterActionData), global::BattleCheckMainCharacterActionData.Parser, null, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleCheckObjectTypeMatchActionData), global::BattleCheckObjectTypeMatchActionData.Parser, new[]{ "ObjectTypeMask" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleCheckSkillTypeActionData), global::BattleCheckSkillTypeActionData.Parser, new[]{ "SkillType" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleCheckSquadInFightActionData), global::BattleCheckSquadInFightActionData.Parser, new[]{ "IsInverse" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleCheckTagMatchActionData), global::BattleCheckTagMatchActionData.Parser, new[]{ "Query" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::GameplayTagQuery), global::GameplayTagQuery.Parser, new[]{ "QueryType", "TagIds" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleCheckTargetAngleActionData), global::BattleCheckTargetAngleActionData.Parser, new[]{ "Angle" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleCompareFloatActionData), global::BattleCompareFloatActionData.Parser, new[]{ "CompareType", "ValueA", "ValueB" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleProbabilityActionData), global::BattleProbabilityActionData.Parser, new[]{ "Probability" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleLaunchProjectileActionData), global::BattleLaunchProjectileActionData.Parser, new[]{ "ProjectileId", "AssignBlackboard" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleSpawnAbilityEntityActionData), global::BattleSpawnAbilityEntityActionData.Parser, new[]{ "AbilityEntityId", "AssignBlackboard", "SetSpawnerAsSource" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleSpawnCustomSummonActionData), global::BattleSpawnCustomSummonActionData.Parser, null, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleRefreshBuffAttrModifierValueActionData), global::BattleRefreshBuffAttrModifierValueActionData.Parser, null, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleStoreAttributeValueActionData), global::BattleStoreAttributeValueActionData.Parser, new[]{ "Key" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleSetBlackboardFromPresetData), global::BattleSetBlackboardFromPresetData.Parser, new[]{ "ValidValues", "Key" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleActionEmptyRes), global::BattleActionEmptyRes.Parser, null, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BuffHealModifierRes), global::BuffHealModifierRes.Parser, new[]{ "EnableSide", "Index", "CondActions", "HealProcessors" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleHealProcessor), global::BattleHealProcessor.Parser, new[]{ "Type", "HealProcessorEmpty", "HealModifyCalcResult", "InstantModifyAttributeForHealProcessor" }, new[]{ "ProcessorImpl" }, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::HealProcessorEmpty), global::HealProcessorEmpty.Parser, null, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleModifyHealCalcResult), global::BattleModifyHealCalcResult.Parser, new[]{ "ModifyType", "Multiplier", "MultiplierCnt" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::InstantModifyAttributeForHealProcessor), global::InstantModifyAttributeForHealProcessor.Parser, new[]{ "Type", "TargetSide", "AttrModifier" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BuffStackingSettings), global::BuffStackingSettings.Parser, new[]{ "IdentifierType", "StackingType", "StackingKey", "PriorityKey", "Priority", "MaxStackCnt" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::SkillRes), global::SkillRes.Parser, new[]{ "SkillId", "CostType", "SkillLv", "CostValue", "TagDuringAttach", "Blackboard", "ActionMap", "IsPassive", "AttrModifiers" }, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleBlackboardString), global::BattleBlackboardString.Parser, new[]{ "UseBlackboardKey", "BlackboardKey", "DefaultValue" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleSequenceRes), global::BattleSequenceRes.Parser, new[]{ "SequenceId", "Actions" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ServerBuff), global::ServerBuff.Parser, new[]{ "BuffId", "InstId", "Blackboard" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ServerSkill), global::ServerSkill.Parser, new[]{ "SkillId", "InstId", "PotentialLv", "Level", "Blackboard", "Source", "TalentNodeIds" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BattleMgrInfo), global::BattleMgrInfo.Parser, new[]{ "BuffList", "SkillList", "MsgGeneration" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::DynamicParameter), global::DynamicParameter.Parser, new[]{ "ValueType", "RealType", "ValueBoolList", "ValueIntList", "ValueFloatList", "ValueStringList" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::EquipAttr), global::EquipAttr.Parser, new[]{ "AttrType", "ModifierType", "ModifierValue", "ModifyAttributeType" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::EquipData), global::EquipData.Parser, new[]{ "Equipid", "Templateid", "EquipCharId", "Attrs" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::GemData), global::GemData.Parser, new[]{ "GemId", "TemplateId", "TotalCost", "Terms", "WeaponId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::GemTerm), global::GemTerm.Parser, new[]{ "TermNumId", "Cost" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ItemBundle), global::ItemBundle.Parser, new[]{ "Id", "Count" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::WeaponData), global::WeaponData.Parser, new[]{ "InstId", "TemplateId", "Exp", "WeaponLv", "RefineLv", "BreakthroughLv", "EquipCharId", "AttachGemId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ItemInst), global::ItemInst.Parser, new[]{ "InstId", "IsLock", "IsNew", "Equip", "Gem", "Weapon", "Empty" }, new[]{ "InstImpl" }, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ItemInstEmpty), global::ItemInstEmpty.Parser, null, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdItemGrid), global::ScdItemGrid.Parser, new[]{ "GridIndex", "Id", "Count", "Inst" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdItemGridV2), global::ScdItemGridV2.Parser, new[]{ "GridIndex", "Id", "Count", "Inst" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::SubmitItem), global::SubmitItem.Parser, new[]{ "ItemId", "Count", "IsInst", "InstId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::SendMailDef), global::SendMailDef.Parser, new[]{ "MailContent", "ItemList", "SendTime", "ExpireTime", "MailType", "MailSubType", "IsGlobal", "IsStar" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::MailContent), global::MailContent.Parser, new[]{ "TemplateId", "Title", "Content", "SenderName", "SenderIcon", "Params" }, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
          new pbr::GeneratedClrTypeInfo(typeof(global::RewardItem), global::RewardItem.Parser, new[]{ "Id", "Count", "Inst" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::GameCondition), global::GameCondition.Parser, new[]{ "ConditionId", "ConditionType", "Params", "CompareOperator", "ProgressToCompare", "SubConditionIdLogics", "SubConditions", "ScopeMask", "UseCurrentScope" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::SendQuestionnaireMailDef), global::SendQuestionnaireMailDef.Parser, new[]{ "MailId", "Condition", "CompletedItemList", "ExpireTime", "IsStar", "UniqueId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CostItemListDef), global::CostItemListDef.Parser, new[]{ "ItemList" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::SkillLevelInfo), global::SkillLevelInfo.Parser, new[]{ "SkillId", "SkillLevel", "SkillMaxLevel", "SkillEnhancedLevel" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::Talent), global::Talent.Parser, new[]{ "LatestBreakNode", "AttrNodes", "LatestPassiveSkillNodes", "LatestFactorySkillNodes" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::RoleBaseInfo), global::RoleBaseInfo.Parser, new[]{ "LeaderCharId", "LeaderPosition", "LeaderRotation", "SceneName", "ServerTs" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::FriendStrangerUserInfo), global::FriendStrangerUserInfo.Parser, new[]{ "RoleId", "Uid", "Name", "ShortId", "LastLoginTime" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::FriendFriendUserInfo), global::FriendFriendUserInfo.Parser, new[]{ "RoleId", "Uid", "Name", "ShortId", "LastLoginTime" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::FriendFriendInfo), global::FriendFriendInfo.Parser, new[]{ "FriendUserInfo", "CreateTime" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::FriendRequestInfo), global::FriendRequestInfo.Parser, new[]{ "StrangerUserInfo", "CreateTime" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::FriendFriendSInfo), global::FriendFriendSInfo.Parser, new[]{ "RoleId", "CreateTime" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::FriendRequestSInfo), global::FriendRequestSInfo.Parser, new[]{ "RoleId", "CreateTime" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::TempTeamCharSaveData), global::TempTeamCharSaveData.Parser, new[]{ "TrialCharData", "Hp", "UltimateSp" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::TrialCharData), global::TrialCharData.Parser, new[]{ "EquipMedicineNum" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::TeamCharId), global::TeamCharId.Parser, new[]{ "IdType", "ObjId", "PresetCharId" }, new[]{ "CharId" }, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::PassThroughData), global::PassThroughData.Parser, new[]{ "StrArgs", "IntArgs" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::SceneTrackPoint), global::SceneTrackPoint.Parser, new[]{ "InstId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::SceneStaticMapMark), global::SceneStaticMapMark.Parser, new[]{ "Index" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsAchieveComplete), global::CsAchieveComplete.Parser, new[]{ "AchieveId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScAchieveComplete), global::ScAchieveComplete.Parser, new[]{ "AchieveId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsAchieveTakeReward), global::CsAchieveTakeReward.Parser, new[]{ "AchieveId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScActivitySync), global::ScActivitySync.Parser, new[]{ "Info" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ActivityInfo), global::ActivityInfo.Parser, new[]{ "Version", "IsEnable", "Id", "Name", "StartTime", "EndTime", "Typ", "Data" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ActivityInfoSpecified), global::ActivityInfoSpecified.Parser, new[]{ "Checkin" }, new[]{ "Data" }, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ActivityInfoSpecifiedCheckin), global::ActivityInfoSpecifiedCheckin.Parser, new[]{ "LoginDays", "RewardDays" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScActivityModify), global::ScActivityModify.Parser, new[]{ "Info" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsDailyCheckin), global::CsDailyCheckin.Parser, new[]{ "Id" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScDailyCheckin), global::ScDailyCheckin.Parser, new[]{ "Id" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsAdventureTakeRewardAll), global::CsAdventureTakeRewardAll.Parser, null, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScAdventureLevelModify), global::ScAdventureLevelModify.Parser, new[]{ "Level", "Exp" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScAdventureSyncAll), global::ScAdventureSyncAll.Parser, new[]{ "Level", "Exp" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::AdventureTask), global::AdventureTask.Parser, new[]{ "TaskId", "Progress", "State" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScAdventureBookSync), global::ScAdventureBookSync.Parser, new[]{ "AdventureBookStage", "Tasks", "DailyActivation" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScDailyActivationModify), global::ScDailyActivationModify.Parser, new[]{ "DailyActivation" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsTakeAdventureTaskReward), global::CsTakeAdventureTaskReward.Parser, new[]{ "TaskId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsTakeAllAdventureTaskReward), global::CsTakeAllAdventureTaskReward.Parser, new[]{ "TaskType" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScAdventureTaskModify), global::ScAdventureTaskModify.Parser, new[]{ "Tasks" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsTakeAdventureBookStageReward), global::CsTakeAdventureBookStageReward.Parser, new[]{ "AdventureBookStage" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScAdventureBookStageModify), global::ScAdventureBookStageModify.Parser, new[]{ "AdventureBookStage" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScResetDailyAdventureTask), global::ScResetDailyAdventureTask.Parser, null, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsDevClearBattleInfo), global::CsDevClearBattleInfo.Parser, null, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsBattleOp), global::CsBattleOp.Parser, new[]{ "ClientData" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSpawnEnemy), global::ScSpawnEnemy.Parser, new[]{ "ClientKey", "EnemyInstIds" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::SpawnServerSummonData), global::SpawnServerSummonData.Parser, new[]{ "OwnerInstId", "SummonInstId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScEntityPropertyChange), global::ScEntityPropertyChange.Parser, new[]{ "InstId", "Info" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScBattleDebugInfo), global::ScBattleDebugInfo.Parser, new[]{ "Msg" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScBattleGenerationChange), global::ScBattleGenerationChange.Parser, new[]{ "InstId", "Generation" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScAttachServerSkill), global::ScAttachServerSkill.Parser, new[]{ "InstId", "Skills", "Generation" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScDetachServerSkill), global::ScDetachServerSkill.Parser, new[]{ "InstId", "DelInstIds", "Generation" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScAddServerBuff), global::ScAddServerBuff.Parser, new[]{ "InstId", "Buffs", "Generation" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScRemoveServerBuff), global::ScRemoveServerBuff.Parser, new[]{ "InstId", "DelInstIds", "Generation" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSyncAllBitset), global::ScSyncAllBitset.Parser, new[]{ "Bitset" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BitsetData), global::BitsetData.Parser, new[]{ "Type", "Value" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsBitsetAdd), global::CsBitsetAdd.Parser, new[]{ "Type", "Value" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsBitsetRemoveAll), global::CsBitsetRemoveAll.Parser, new[]{ "Type" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsBitsetRemove), global::CsBitsetRemove.Parser, new[]{ "Type", "Value" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScBitsetAdd), global::ScBitsetAdd.Parser, new[]{ "Type", "Value", "Source" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScBitsetRemove), global::ScBitsetRemove.Parser, new[]{ "Type", "Value", "Source" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScBitsetRemoveAll), global::ScBitsetRemoveAll.Parser, new[]{ "Type", "Source" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::BlocInfo), global::BlocInfo.Parser, new[]{ "Blocid", "Level", "Exp" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSyncAllBloc), global::ScSyncAllBloc.Parser, new[]{ "Blocs", "Shops" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ShopInfo), global::ShopInfo.Parser, new[]{ "Shopid", "Type", "AlreadySellCount", "DiscountInfo" }, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
          new pbr::GeneratedClrTypeInfo(typeof(global::DiscountInfo), global::DiscountInfo.Parser, new[]{ "Posid", "Discount" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScBlocSyncLevel), global::ScBlocSyncLevel.Parser, new[]{ "Blocid", "Level", "Exp" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsBlocShopBuy), global::CsBlocShopBuy.Parser, new[]{ "Shopid", "Posid", "Count" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScBlocShopBuy), global::ScBlocShopBuy.Parser, new[]{ "Shopid", "Posid", "Count" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ItemInfo), global::ItemInfo.Parser, new[]{ "ResId", "ResCount" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsCharLevelUp), global::CsCharLevelUp.Parser, new[]{ "CharObjID", "Items" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScCharLevelUp), global::ScCharLevelUp.Parser, new[]{ "CharObjID" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScCharSyncLevelExp), global::ScCharSyncLevelExp.Parser, new[]{ "CharObjID", "Level", "Exp" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsCharSetNormalSkill), global::CsCharSetNormalSkill.Parser, new[]{ "CharObjID", "NormalSkillid" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScCharSetNormalSkill), global::ScCharSetNormalSkill.Parser, new[]{ "CharObjID", "NormalSkillid" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScCharSetTeamSkill), global::ScCharSetTeamSkill.Parser, new[]{ "Objid", "TeamIdx", "NormalSkillid" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScCharUnlockSkill), global::ScCharUnlockSkill.Parser, new[]{ "Objid", "LevelInfo" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScCharGainExpToast), global::ScCharGainExpToast.Parser, new[]{ "Exp", "ExpType" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScCharSyncStatus), global::ScCharSyncStatus.Parser, new[]{ "Objid", "IsDead", "BattleInfo" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsCharPotentialUnlock), global::CsCharPotentialUnlock.Parser, new[]{ "CharObjId", "Level", "ItemId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScCharPotentialUnlock), global::ScCharPotentialUnlock.Parser, new[]{ "CharObjId", "Level" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScCharSkillInfos), global::ScCharSkillInfos.Parser, new[]{ "CharObjId", "LevelInfos" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsCharSkillLevelUp), global::CsCharSkillLevelUp.Parser, new[]{ "CharObjId", "SkillId", "SkillType" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScCharSkillLevelUp), global::ScCharSkillLevelUp.Parser, new[]{ "CharObjId", "LevelInfo" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsCharUnlockTalentNode), global::CsCharUnlockTalentNode.Parser, new[]{ "CharObjId", "NodeId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScCharUnlockTalentNode), global::ScCharUnlockTalentNode.Parser, new[]{ "CharObjId", "NodeId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CharInfo), global::CharInfo.Parser, new[]{ "Objid", "Templateid", "Level", "Exp", "EquipCol", "NormalSkill", "IsDead", "BattleInfo", "SkillInfo", "EquipSuit", "WeaponId", "OwnTime", "EquipMedicineId", "PotentialLevel", "Talent", "BattleMgrInfo", "CharType", "TrialData" }, null, null, new pbr::GeneratedClrTypeInfo[] { null, null, }),
          new pbr::GeneratedClrTypeInfo(typeof(global::SkillInfo), global::SkillInfo.Parser, new[]{ "LevelInfo", "NormalSkill", "UltimateSkill", "ComboSkill", "DispNormalAttackSkill" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsCharBagSetTeam), global::CsCharBagSetTeam.Parser, new[]{ "TeamIndex", "CharTeam", "LeaderId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsCharBagSetCurrTeamIndex), global::CsCharBagSetCurrTeamIndex.Parser, new[]{ "TeamIndex", "LeaderId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsCharBagSetTeamName), global::CsCharBagSetTeamName.Parser, new[]{ "TeamIndex", "TeamName" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsCharBagTeamChangeFinish), global::CsCharBagTeamChangeFinish.Parser, new[]{ "TeamChangeToken" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsCharBagSetTeamLeader), global::CsCharBagSetTeamLeader.Parser, new[]{ "TeamType", "TeamIndex", "Leaderid" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScCharBagRemoveTrialCharacter), global::ScCharBagRemoveTrialCharacter.Parser, new[]{ "ScopeName" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScCharBagSetTeam), global::ScCharBagSetTeam.Parser, new[]{ "TeamType", "TeamIndex", "LeaderId", "CharTeam", "ScopeName" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CharTeamMemberInfo), global::CharTeamMemberInfo.Parser, new[]{ "NormalSkillid" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CharTeamInfo), global::CharTeamInfo.Parser, new[]{ "TeamName", "CharTeam", "Leaderid" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSyncCharBagInfo), global::ScSyncCharBagInfo.Parser, new[]{ "CharInfo", "TeamInfo", "CurrTeamIndex", "MaxCharTeamMemberCount", "TempTeamInfo", "ScopeName", "IsScopeDelete" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScCharBagAddChar), global::ScCharBagAddChar.Parser, new[]{ "Char", "ScopeName" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScCharBagSetTeamName), global::ScCharBagSetTeamName.Parser, new[]{ "TeamIndex", "TeamName", "ScopeName" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScCharBagSetTeamLeader), global::ScCharBagSetTeamLeader.Parser, new[]{ "TeamType", "TeamIndex", "Leaderid", "ScopeName" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScCharBagSetMaxTeamMemberCount), global::ScCharBagSetMaxTeamMemberCount.Parser, new[]{ "MaxCharTeamMemberCount", "ScopeName" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScCharBagTeamLeaderNotMatchNtf), global::ScCharBagTeamLeaderNotMatchNtf.Parser, new[]{ "TeamType", "TeamIndex", "Leaderid", "ScopeName" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScCharBagDelChar), global::ScCharBagDelChar.Parser, new[]{ "CharInstId", "ScopeName" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScCharBagAddCharWithConversionNotify), global::ScCharBagAddCharWithConversionNotify.Parser, new[]{ "CharTemplateId", "ScopeName", "IsConverted", "ConvertedItemId", "ConvertedRewardId", "SourceReason" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::SceneCollection), global::SceneCollection.Parser, new[]{ "SceneName", "PrefabId", "Count" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSceneCollectionSync), global::ScSceneCollectionSync.Parser, new[]{ "CollectionList" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSceneCollectionModify), global::ScSceneCollectionModify.Parser, new[]{ "SceneName", "PrefabId", "Count" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::Dialog), global::Dialog.Parser, new[]{ "DialogId", "OptionIds", "FinishNums" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsFinishDialog), global::CsFinishDialog.Parser, new[]{ "DialogId", "OptionIds", "FinishNums" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScFinishDialog), global::ScFinishDialog.Parser, new[]{ "DialogId", "OptionIds", "FinishNums" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSyncAllDialog), global::ScSyncAllDialog.Parser, new[]{ "DialogList" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsEnterDungeon), global::CsEnterDungeon.Parser, new[]{ "CharTeam", "DungeonId", "RacingParam" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::EnterRacingDungeonParam), global::EnterRacingDungeonParam.Parser, new[]{ "Level", "TacticsId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsEnterTrainDungeon), global::CsEnterTrainDungeon.Parser, new[]{ "CharTeam", "DungeonId", "RacingParam" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsRestartDungeon), global::CsRestartDungeon.Parser, new[]{ "DungeonId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsLeaveDungeon), global::CsLeaveDungeon.Parser, new[]{ "DungeonId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsDungeonRecoverAp), global::CsDungeonRecoverAp.Parser, new[]{ "Items", "UseMoney" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsDungeonTouchEntrance), global::CsDungeonTouchEntrance.Parser, new[]{ "DungeonSeriesId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScEnterDungeon), global::ScEnterDungeon.Parser, new[]{ "DungeonId", "SceneId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScRestartDungeon), global::ScRestartDungeon.Parser, new[]{ "DungeonId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScLeaveDungeon), global::ScLeaveDungeon.Parser, new[]{ "DungeonId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSyncStamina), global::ScSyncStamina.Parser, new[]{ "CurStamina", "MaxStamina", "NextRecoverTime", "Delta" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSyncFullDungeonStatus), global::ScSyncFullDungeonStatus.Parser, new[]{ "CurStamina", "MaxStamina", "NextRecoverTime" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsEquipPuton), global::CsEquipPuton.Parser, new[]{ "Charid", "Slotid", "Equipid" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScEquipPuton), global::ScEquipPuton.Parser, new[]{ "Charid", "Slotid", "Equipid", "Suitinfo", "PutOffCharid", "OldOwnerSuitinfo" }, null, null, new pbr::GeneratedClrTypeInfo[] { null, null, }),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsEquipPutoff), global::CsEquipPutoff.Parser, new[]{ "Charid", "Slotid" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScEquipPutoff), global::ScEquipPutoff.Parser, new[]{ "Charid", "Slotid", "Suitinfo" }, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsEquipMedicineModify), global::CsEquipMedicineModify.Parser, new[]{ "CharId", "EquipMedicineId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScEquipMedicineModify), global::ScEquipMedicineModify.Parser, new[]{ "CharId", "EquipMedicineId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsEquipRecycle), global::CsEquipRecycle.Parser, new[]{ "EquipInstidList", "ScopeName" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScEquipRecycle), global::ScEquipRecycle.Parser, new[]{ "EquipInstidList", "ItemId", "ItemCount", "ScopeName" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsEquipEnhance), global::CsEquipEnhance.Parser, new[]{ "EquipInstId", "IngredientInstId", "AttrIndex" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScEquipEnhance), global::ScEquipEnhance.Parser, new[]{ "EquipInstId", "Enhance", "EnhanceAttrs", "BaseAttr" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsEquipProduce), global::CsEquipProduce.Parser, new[]{ "FormulaId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScEquipProduce), global::ScEquipProduce.Parser, new[]{ "FormulaId", "EquipInstid" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactorySttNode), global::ScdFactorySttNode.Parser, new[]{ "Id", "State", "Values", "Flags" }, null, null, new pbr::GeneratedClrTypeInfo[] { null, null, }),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactorySttPackage), global::ScdFactorySttPackage.Parser, new[]{ "Id", "State", "Values", "Flags", "Hidden" }, null, null, new pbr::GeneratedClrTypeInfo[] { null, null, }),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactorySttLayer), global::ScdFactorySttLayer.Parser, new[]{ "Id", "State" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactorySyncStt), global::ScdFactorySyncStt.Parser, new[]{ "Nodes", "Packages", "Layers" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactorySyncFormulaMan), global::ScdFactorySyncFormulaMan.Parser, new[]{ "Unlocked", "Visible", "Modes", "LevelUp", "ProductManual" }, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactorySyncFormulaMode), global::ScdFactorySyncFormulaMode.Parser, new[]{ "BuildingIds" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactorySyncQuickbar), global::ScdFactorySyncQuickbar.Parser, new[]{ "Type", "List" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScFactorySync), global::ScFactorySync.Parser, new[]{ "FormulaMan", "Stt" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScFactoryModifyFormulaMan), global::ScFactoryModifyFormulaMan.Parser, new[]{ "NewUnlocked", "NewProductManual", "NewLevelUp" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScFactoryModifyStt), global::ScFactoryModifyStt.Parser, new[]{ "Nodes", "Packages", "Layers" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::FactoryFormulaVisiable), global::FactoryFormulaVisiable.Parser, new[]{ "FormulaList", "OutputList", "Source", "Reason" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScFactoryModifyVisibleFormula), global::ScFactoryModifyVisibleFormula.Parser, new[]{ "NewVisible" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScFactoryModifyFormulaMode), global::ScFactoryModifyFormulaMode.Parser, new[]{ "Mode", "NewBuildingIds" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScFactorySyncScope), global::ScFactorySyncScope.Parser, new[]{ "ScopeName", "CurrentChapterId", "Quickbars", "TransportRoute", "BookMark" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactorySyncHubTransportRouteManager), global::ScdFactorySyncHubTransportRouteManager.Parser, new[]{ "UpdateTs", "Routes" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactoryHubTransportRoute), global::ScdFactoryHubTransportRoute.Parser, new[]{ "ChapterId", "Index", "TargetChapterId", "ItemId", "ItemNum", "ItemNumMax", "Status", "Progress" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactoryStatisticBookmark), global::ScdFactoryStatisticBookmark.Parser, new[]{ "BookmarkItemIds" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsFactoryStatisticSetBookmarkItemIds), global::CsFactoryStatisticSetBookmarkItemIds.Parser, new[]{ "ItemIds", "IsRemove", "ScopeName" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScFactoryModifyStatisticBookmark), global::ScFactoryModifyStatisticBookmark.Parser, new[]{ "BookMark", "ScopeName" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsFactoryHubTransportRouteSet), global::CsFactoryHubTransportRouteSet.Parser, new[]{ "ScopeName", "ChapterId", "Index", "TargetChapterId", "ItemId", "ItemNumMax" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsFactoryHubTransportRouteReset), global::CsFactoryHubTransportRouteReset.Parser, new[]{ "ScopeName", "ChapterId", "Index" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsFactoryHubTransportRouteRestart), global::CsFactoryHubTransportRouteRestart.Parser, new[]{ "ScopeName", "ChapterId", "Index" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScFactoryHubTransportRouteModify), global::ScFactoryHubTransportRouteModify.Parser, new[]{ "TransportRouteModified" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScFactoryReleaseScope), global::ScFactoryReleaseScope.Parser, new[]{ "ScopeName", "DeleteChapterIdList" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScFactoryModifyScope), global::ScFactoryModifyScope.Parser, new[]{ "ScopeName", "CurrentChapterId", "DeleteChapterIdList" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScFactoryModifyQuickbar), global::ScFactoryModifyQuickbar.Parser, new[]{ "ScopeName", "Quickbars" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScFactorySoilReclaim), global::ScFactorySoilReclaim.Parser, new[]{ "ScopeName", "ChapterId", "NodeId", "Result" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScFactorySoilWater), global::ScFactorySoilWater.Parser, new[]{ "ScopeName", "ChapterId", "NodeId", "Result" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScFactorySoilHarvest), global::ScFactorySoilHarvest.Parser, new[]{ "ScopeName", "ChapterId", "NodeId", "Result" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScFactorySoilCancel), global::ScFactorySoilCancel.Parser, new[]{ "ScopeName", "ChapterId", "NodeId", "Result" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsFactorySttUnlockLayer), global::CsFactorySttUnlockLayer.Parser, new[]{ "LayerId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsFactorySttUnlockNode), global::CsFactorySttUnlockNode.Parser, new[]{ "NodeId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsFactoryQuickbarSetOne), global::CsFactoryQuickbarSetOne.Parser, new[]{ "ScopeName", "Type", "Index", "ItemId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsFactoryQuickbarMoveOne), global::CsFactoryQuickbarMoveOne.Parser, new[]{ "ScopeName", "Type", "FromIndex", "ToIndex" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsFactorySoilReclaim), global::CsFactorySoilReclaim.Parser, new[]{ "ScopeName", "ChapterId", "NodeId", "CharObjectId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsFactorySoilWater), global::CsFactorySoilWater.Parser, new[]{ "ScopeName", "ChapterId", "NodeId", "CharObjectId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsFactorySoilHarvest), global::CsFactorySoilHarvest.Parser, new[]{ "ScopeName", "ChapterId", "NodeId", "CharObjectId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsFactorySoilCancel), global::CsFactorySoilCancel.Parser, new[]{ "ScopeName", "ChapterId", "NodeId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsFactorySoilFarmlandLevelUp), global::CsFactorySoilFarmlandLevelUp.Parser, new[]{ "ScopeName", "ChapterId", "SceneName", "Index", "ToLevel" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScFactorySyncOfflineInfo), global::ScFactorySyncOfflineInfo.Parser, new[]{ "MaxOfflineCalcSec", "EndOfflineCalcTs", "OfflineSec", "MissOfflineSec" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsFactoryHubWorkshopMake), global::CsFactoryHubWorkshopMake.Parser, new[]{ "ScopeName", "NodeId", "FormulaId", "Multi" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScFactoryHubWorkshopMake), global::ScFactoryHubWorkshopMake.Parser, new[]{ "Success" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsFactoryProductManualUnlock), global::CsFactoryProductManualUnlock.Parser, new[]{ "ScopeName", "IdList" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScFactoryProductManualUnlock), global::ScFactoryProductManualUnlock.Parser, new[]{ "ScopeName", "IdList" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsFactoryManuallyWorkExec), global::CsFactoryManuallyWorkExec.Parser, new[]{ "ScopeName", "FormulaId", "Count" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScFactoryManuallyWorkExec), global::ScFactoryManuallyWorkExec.Parser, new[]{ "ScopeName", "FormulaId", "Count" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdVec3Int), global::ScdVec3Int.Parser, new[]{ "X", "Y", "Z" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdRectInt), global::ScdRectInt.Parser, new[]{ "X", "Y", "Z", "L", "W", "H" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFacSubPort), global::ScdFacSubPort.Parser, new[]{ "Position", "Direction" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactorySyncItem), global::ScdFactorySyncItem.Parser, new[]{ "Id", "Count", "Tms" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFacFluidReactionFormula), global::ScdFacFluidReactionFormula.Parser, new[]{ "FormulaId", "CurrentProgress", "InBlock" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactoryHsCt), global::ScdFactoryHsCt.Parser, new[]{ "ComponentId", "ItemIn", "ItemOut", "IndexIn", "IndexOut" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactoryHsFb), global::ScdFactoryHsFb.Parser, new[]{ "ComponentId", "Cache", "Producer", "Collector", "BurnPower", "CacheTransport", "GridBox", "BoxRouterM1", "BoxBridge", "FluidBridge", "FluidRouterM1", "FluidContainer", "FluidPumpIn", "Battle", "BatteryBurn", "FluidSpray", "FluidPumpOut", "FluidConsume", "FluidReaction", "WaterCollector" }, new[]{ "ComponentPayload" }, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactoryHsFbCache), global::ScdFactoryHsFbCache.Parser, new[]{ "Items" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactoryHsFbProducer), global::ScdFactoryHsFbProducer.Parser, new[]{ "ProgressIncrPerMs", "FormulaId", "CurrentProgress" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactoryHsFbCollector), global::ScdFactoryHsFbCollector.Parser, new[]{ "ProgressIncrPerMs", "CurrentProgress" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactoryHsFbBurnPower), global::ScdFactoryHsFbBurnPower.Parser, new[]{ "ProgressDecrPerMs", "CurrentLeastProgress" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactoryHsFbCacheTransport), global::ScdFactoryHsFbCacheTransport.Parser, new[]{ "ProgressIncrPerMs", "CurrentProgress" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactoryHsFbGridBox), global::ScdFactoryHsFbGridBox.Parser, new[]{ "Items" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactoryHsFbBoxRouterM1), global::ScdFactoryHsFbBoxRouterM1.Parser, new[]{ "Items" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactoryHsFbBoxBridge), global::ScdFactoryHsFbBoxBridge.Parser, new[]{ "Items" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactoryHsFbFluidBridge), global::ScdFactoryHsFbFluidBridge.Parser, new[]{ "Items" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactoryHsFbFluidRouterM1), global::ScdFactoryHsFbFluidRouterM1.Parser, new[]{ "Items" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactoryHsFbFluidContainer), global::ScdFactoryHsFbFluidContainer.Parser, new[]{ "Items", "Infinite" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactoryHsFbFluidPumpIn), global::ScdFactoryHsFbFluidPumpIn.Parser, new[]{ "ProgressIncrPerMs", "CurrentProgress" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactoryHsFbBattle), global::ScdFactoryHsFbBattle.Parser, new[]{ "EnergyCurrent", "EnergyMax", "InOverloading" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactoryHsFbBatteryBurn), global::ScdFactoryHsFbBatteryBurn.Parser, new[]{ "EnergyLoaded", "EnergyCurrent" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactoryHsFbFluidSpray), global::ScdFactoryHsFbFluidSpray.Parser, new[]{ "ProgressIncrPerMs", "CurrentProgress", "LastRoundSprayCount" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactoryHsFbFluidPumpOut), global::ScdFactoryHsFbFluidPumpOut.Parser, new[]{ "ProgressIncrPerMs", "CurrentProgress", "LastRoundPumpCount" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactoryHsFbFluidConsume), global::ScdFactoryHsFbFluidConsume.Parser, new[]{ "ProgressIncrPerMs", "CurrentProgress" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactoryHsFbFluidReaction), global::ScdFactoryHsFbFluidReaction.Parser, new[]{ "Formulas", "ProgressIncrPerMs" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactoryHsFbWaterCollector), global::ScdFactoryHsFbWaterCollector.Parser, new[]{ "ProgressIncrPerMs", "CurrentProgress" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactoryHsCe), global::ScdFactoryHsCe.Parser, new[]{ "EventType", "EventParam" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactoryHsBb), global::ScdFactoryHsBb.Parser, new[]{ "Power" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactoryHsBbPower), global::ScdFactoryHsBbPower.Parser, new[]{ "IsStopByPower", "PowerCostSum", "PowerSaveMax", "PowerSaveCurrent", "PowerGenLastSec" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFacCom), global::ScdFacCom.Parser, new[]{ "ComponentId", "ComponentType", "PortManager", "Inventory", "Cache", "Selector", "Collector", "Producer", "BoxConveyor", "BoxRouterM1", "BurnPower", "CacheTransport", "StablePower", "PowerPole", "PowerSave", "BusLoader", "TravelPole", "GridBox", "BoxBridge", "Battle", "FluidConveyor", "FluidBridge", "FluidRouterM1", "FormulaMan", "FluidContainer", "FluidPumpIn", "BatteryBurn", "SubHub", "WaterCollector", "Soil", "FluidSpray", "FluidPumpOut", "FluidConsume", "FluidReaction" }, new[]{ "ComponentPayload" }, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFacComPortManager), global::ScdFacComPortManager.Parser, new[]{ "Ports" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFacComSubPort), global::ScdFacComSubPort.Parser, new[]{ "Index", "OwnerComId", "TouchComId", "InBlock" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFacComInventory), global::ScdFacComInventory.Parser, new[]{ "Items" }, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFacComCache), global::ScdFacComCache.Parser, new[]{ "Items", "Size" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFacComSelector), global::ScdFacComSelector.Parser, new[]{ "SelectedItemId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFacComCollector), global::ScdFacComCollector.Parser, new[]{ "ItemsRound", "CurrentProgress", "InBlock" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFacComProducer), global::ScdFacComProducer.Parser, new[]{ "FormulaId", "CurrentProgress", "InBlock", "InProduce", "LastFormulaId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFacComBoxConveyor), global::ScdFacComBoxConveyor.Parser, new[]{ "LastPopTms", "Items" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFacComBoxRouterM1), global::ScdFacComBoxRouterM1.Parser, new[]{ "HoldItem", "MIn" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFacComBurnPower), global::ScdFacComBurnPower.Parser, new[]{ "CurrentLeastProgress", "CurrentBurnItemId", "PowerGenPerSec" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFacComCacheTransport), global::ScdFacComCacheTransport.Parser, new[]{ "CurrentProgress", "TotalProgress", "AutoTransport", "InUse" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFacComStablePower), global::ScdFacComStablePower.Parser, new[]{ "PowerGenPerSec" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFacComPowerPole), global::ScdFacComPowerPole.Parser, null, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFacComPowerSave), global::ScdFacComPowerSave.Parser, new[]{ "PowerSave" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFacComBusLoader), global::ScdFacComBusLoader.Parser, new[]{ "LastPutinItemId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFacComTravelPole), global::ScdFacComTravelPole.Parser, new[]{ "DefaultNext" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFacComGridBox), global::ScdFacComGridBox.Parser, new[]{ "Items" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFacComBoxBridge), global::ScdFacComBoxBridge.Parser, new[]{ "HoldItem" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFacComBattle), global::ScdFacComBattle.Parser, new[]{ "EnergyCurrent", "EnergyMax", "InOverloading" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFacComFluidConveyor), global::ScdFacComFluidConveyor.Parser, new[]{ "ItemId", "FluidHeight", "BoxTmsList" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFacComFluidBridge), global::ScdFacComFluidBridge.Parser, new[]{ "HoldItem" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFacComFluidRouterM1), global::ScdFacComFluidRouterM1.Parser, new[]{ "HoldItem", "MIn" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFacComFormulaMan), global::ScdFacComFormulaMan.Parser, new[]{ "FormulaIds", "LockedFormulaId", "CurrentMode", "CurrentGroup" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFacComFluidContainer), global::ScdFacComFluidContainer.Parser, new[]{ "HoldItem", "Infinite" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFacComFluidPumpIn), global::ScdFacComFluidPumpIn.Parser, new[]{ "ItemRound", "CurrentProgress", "SourceInstKey", "InBlock", "InProduce" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFacComBatteryBurn), global::ScdFacComBatteryBurn.Parser, new[]{ "EnergyLoaded", "EnergyCurrent" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFacComSubHub), global::ScdFacComSubHub.Parser, new[]{ "Level" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFacComWaterCollector), global::ScdFacComWaterCollector.Parser, new[]{ "ItemsRound", "CurrentProgress", "InBlock", "InProduce" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFacComSoil), global::ScdFacComSoil.Parser, new[]{ "StepCursor", "WaterGot", "InGrowTms" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFacComFluidSpray), global::ScdFacComFluidSpray.Parser, new[]{ "CurrentProgress", "InProduce", "LastRoundSprayCount", "InBlock" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFacComFluidPumpOut), global::ScdFacComFluidPumpOut.Parser, new[]{ "RoundCount", "CurrentProgress", "TargetInstKey", "InBlock", "InProduce" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFacComFluidConsume), global::ScdFacComFluidConsume.Parser, new[]{ "RoundCount", "CurrentProgress", "InBlock", "InProduce", "LatestItemId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFacComFluidReaction), global::ScdFacComFluidReaction.Parser, new[]{ "Formulas", "InBlock", "InProduce" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFacNode), global::ScdFacNode.Parser, new[]{ "NodeId", "NodeType", "TemplateId", "Transform", "IsDeactive", "InteractiveObject", "DynamicProperty", "Power", "InstKey", "Flag", "ComponentPos", "Components", "StableId" }, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFacTransform), global::ScdFacTransform.Parser, new[]{ "Position", "Direction", "Mesh", "MapId", "WorldPosition", "WorldRotation", "BcPortIn", "BcPortOut" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFacMesh), global::ScdFacMesh.Parser, new[]{ "MeshType", "Points" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFacInteractiveObject), global::ScdFacInteractiveObject.Parser, new[]{ "ObjectId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFacDynamicProperty), global::ScdFacDynamicProperty.Parser, new[]{ "Values" }, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFacDynamicPropertyValue), global::ScdFacDynamicPropertyValue.Parser, new[]{ "BoolValue", "IntValue", "UintValue", "DoubleValue", "StringValue" }, new[]{ "Value" }, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFacNodePower), global::ScdFacNodePower.Parser, new[]{ "InPower", "PowerCost", "NeedInPower", "PowerCostShow" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactorySyncScene), global::ScdFactorySyncScene.Parser, new[]{ "SceneId", "Bandwidth", "Panels", "SoilPanels", "Settlements" }, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactorySyncSceneBandwidth), global::ScdFactorySyncSceneBandwidth.Parser, new[]{ "Current", "Max", "TravelPoleCurrent", "TravelPoleMax", "BattleCurrent", "BattleMax", "SpCurrent", "SpMax" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactorySyncScenePanel), global::ScdFactorySyncScenePanel.Parser, new[]{ "Index", "Level", "MainMesh" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactorySyncMap), global::ScdFactorySyncMap.Parser, new[]{ "MapId", "Wires" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactorySyncMapWire), global::ScdFactorySyncMapWire.Parser, new[]{ "Index", "FromComId", "ToComId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactorySyncBlackboard), global::ScdFactorySyncBlackboard.Parser, new[]{ "InventoryNodeId", "Power" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactorySyncBlackboardPower), global::ScdFactorySyncBlackboardPower.Parser, new[]{ "PowerCost", "PowerGen", "PowerSaveMax", "PowerSaveCurrent", "IsStopByPower" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactoryStatisticLastday), global::ScdFactoryStatisticLastday.Parser, new[]{ "Days" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactoryStatisticLastdayDay), global::ScdFactoryStatisticLastdayDay.Parser, new[]{ "DayTs", "FromProductivity" }, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactoryStatisticOther), global::ScdFactoryStatisticOther.Parser, new[]{ "PowerNetLengthSum", "InPowerBuilding", "PowerNetCoverage" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactoryStatisticRecord), global::ScdFactoryStatisticRecord.Parser, new[]{ "Rank", "PointsGen", "PointsCost" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactorySyncPinBoard), global::ScdFactorySyncPinBoard.Parser, new[]{ "Cards" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactoryPinCard), global::ScdFactoryPinCard.Parser, new[]{ "Pos", "StrId", "NumId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScFactorySyncChapter), global::ScFactorySyncChapter.Parser, new[]{ "Tms", "ChapterId", "Nodes", "Scenes", "Blackboard", "PinBoard", "Maps", "Statistic" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactorySyncStatistic), global::ScdFactorySyncStatistic.Parser, new[]{ "Other", "LastDay" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScFactoryModifyChapterNodes), global::ScFactoryModifyChapterNodes.Parser, new[]{ "Tms", "ChapterId", "Nodes", "RemoveNodes" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScFactoryModifyChapterComponents), global::ScFactoryModifyChapterComponents.Parser, new[]{ "Tms", "ChapterId", "Components" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScFactoryModifyChapterMap), global::ScFactoryModifyChapterMap.Parser, new[]{ "Tms", "ChapterId", "MapId", "Wires", "RemoveWires" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScFactoryModifyChapterScene), global::ScFactoryModifyChapterScene.Parser, new[]{ "Tms", "ChapterId", "SceneId", "Bandwidth", "Panels", "SoilPanels", "Settlements" }, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScFactoryModifyChapterBlackboard), global::ScFactoryModifyChapterBlackboard.Parser, new[]{ "Tms", "ChapterId", "Blackboard" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScFactoryModifyChapterPinBoard), global::ScFactoryModifyChapterPinBoard.Parser, new[]{ "Tms", "ChapterId", "Modified", "ReleasePos" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScFactoryHs), global::ScFactoryHs.Parser, new[]{ "Tms", "CtList", "FbList", "CeList", "Blackboard", "ChapterId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScFactoryHsSync), global::ScFactoryHsSync.Parser, new[]{ "Tms", "CcList", "FbList", "Blackboard", "ChapterId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScFactoryModifyStatistic), global::ScFactoryModifyStatistic.Parser, new[]{ "ChapterId", "Other", "LastDay" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScFactoryStatisticRequire), global::ScFactoryStatisticRequire.Parser, new[]{ "Chapter", "Power", "Productivity" }, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsFactoryHsFb), global::CsFactoryHsFb.Parser, new[]{ "ChapterId", "NodeIdList", "Undo" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsFactoryStatisticRequire), global::CsFactoryStatisticRequire.Parser, new[]{ "RankPower", "RankProductivity", "ProductivityItemIds", "AllProductivity", "ChapterId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsFactoryPinSet), global::CsFactoryPinSet.Parser, new[]{ "ScopeName", "Pos", "StrId", "NumId", "Release" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsFactoryObserverOp), global::CsFactoryObserverOp.Parser, new[]{ "Index", "ChapterId", "MapId", "NodeId", "NodeStableId", "ComponentId", "OpType", "CheckoutRelationBoard", "CheckoutPowerConnectionMap", "CheckoutOutsideResource" }, new[]{ "OpPayload" }, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsdFactoryObserverPayloadOpCheckoutRelationBoard), global::CsdFactoryObserverPayloadOpCheckoutRelationBoard.Parser, null, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsdFactoryObserverPayloadOpCheckoutPowerConnectionMap), global::CsdFactoryObserverPayloadOpCheckoutPowerConnectionMap.Parser, null, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsdFactoryObserverPayloadOpCheckoutOutsideResource), global::CsdFactoryObserverPayloadOpCheckoutOutsideResource.Parser, null, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScFactoryObserverRet), global::ScFactoryObserverRet.Parser, new[]{ "OpIndex", "Success", "ErrMessage", "ChapterId", "RetType", "CheckoutRelationBoard", "CheckoutPowerConnectionMap", "CheckoutOutsideResource" }, new[]{ "RetPayload" }, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactoryObserverPayloadRetCheckoutRelationBoard), global::ScdFactoryObserverPayloadRetCheckoutRelationBoard.Parser, new[]{ "ConveyorElems" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactoryObserverPayloadRetCheckoutRelationBoardConveyorElem), global::ScdFactoryObserverPayloadRetCheckoutRelationBoardConveyorElem.Parser, new[]{ "ConveyorComId", "ConveyorNodeId", "FromComId", "FromNodeId", "FromNodeStableId", "FromNodeTemplateId", "ToComId", "ToNodeId", "ToNodeStableId", "ToNodeTemplateId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactoryObserverPayloadRetCheckoutPowerConnectionMap), global::ScdFactoryObserverPayloadRetCheckoutPowerConnectionMap.Parser, new[]{ "Connections", "NodeElems" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactoryObserverPayloadRetCheckoutPowerConnectionMapConnection), global::ScdFactoryObserverPayloadRetCheckoutPowerConnectionMapConnection.Parser, new[]{ "Index", "FromComId", "FromNodeId", "FromNodeStableId", "FromNodeTemplateId", "ToComId", "ToNodeId", "ToNodeStableId", "ToNodeTemplateId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactoryObserverPayloadRetCheckoutPowerConnectionMapNodeElem), global::ScdFactoryObserverPayloadRetCheckoutPowerConnectionMapNodeElem.Parser, new[]{ "NodeId", "NodeStableId", "NodeTemplateId", "ComId", "LogicId", "Distance", "Neighbors" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactoryObserverPayloadRetCheckoutOutsideResource), global::ScdFactoryObserverPayloadRetCheckoutOutsideResource.Parser, new[]{ "PlaceBandwidth", "PlaceBandwidthUse", "PlaceBandwidthNodeUses", "PlaceBandwidthSp", "PlaceBandwidthSpUse", "PlaceBandwidthSpNodeUses" }, null, null, new pbr::GeneratedClrTypeInfo[] { null, null, null, null, }),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactoryObserverPayloadRetCheckoutOutsideResourceNodeUse), global::ScdFactoryObserverPayloadRetCheckoutOutsideResourceNodeUse.Parser, new[]{ "NodeId", "SceneName", "Use" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsFactoryOp), global::CsFactoryOp.Parser, new[]{ "Index", "OpType", "ChapterId", "Place", "PlaceConveyor", "Dismantle", "SetSelectTarget", "EnableNode", "MoveNode", "DismantleBoxConveyor", "RepairNode", "MoveItemCacheToCache", "MoveItemBagToCache", "MoveItemCacheToBag", "MoveItemDepotToCache", "MoveItemCacheToDepot", "MoveItemConveyorToBag", "CacheTransportTransfer", "CacheTransportEnable", "SetTravelPoleDefaultNext", "UseHealTowerPoint", "BattleRepair", "AddConnection", "DelConnection", "GridBoxInnerMove", "GridBoxInnerSplit", "MoveItemBagToGridBox", "MoveItemGridBoxToBag", "MoveItemDepotToGridBox", "MoveItemGridBoxToDepot", "MoveAllCacheOutItemToBag", "QuickPutBattery", "ChangeProducerMode", "ReverseFluidConveyorDirection", "DismantleBatch", "TakeOutFluidFromLiquidBody", "PutInFluidToLiquidBody", "FillingFluidComWithBag", "FillingFluidComWithDepot" }, new[]{ "OpPayload" }, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsdFactoryOpPlace), global::CsdFactoryOpPlace.Parser, new[]{ "TemplateId", "Position", "Direction", "MapId", "InteractiveParam" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsdFactoryInteractiveParam), global::CsdFactoryInteractiveParam.Parser, new[]{ "Position", "Rotation", "Properties" }, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsdFactoryOpPlaceConveyor), global::CsdFactoryOpPlaceConveyor.Parser, new[]{ "TemplateId", "DirectionIn", "DirectionOut", "Points", "MapId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsdFactoryOpDismantle), global::CsdFactoryOpDismantle.Parser, new[]{ "NodeId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsdFactoryOpSetSelectTarget), global::CsdFactoryOpSetSelectTarget.Parser, new[]{ "ComponentId", "ItemId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsdFactoryOpEnableNode), global::CsdFactoryOpEnableNode.Parser, new[]{ "NodeId", "Enable" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsdFactoryOpMoveNode), global::CsdFactoryOpMoveNode.Parser, new[]{ "NodeId", "Position", "Direction", "InteractiveParam" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsdFactoryOpDismantleBoxConveyor), global::CsdFactoryOpDismantleBoxConveyor.Parser, new[]{ "NodeId", "IndexList" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsdFactoryOpRepairNode), global::CsdFactoryOpRepairNode.Parser, new[]{ "NodeId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsdFactoryOpMoveItemCacheToCache), global::CsdFactoryOpMoveItemCacheToCache.Parser, new[]{ "FromComponentId", "ToComponentId", "ItemId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsdFactoryOpMoveItemBagToCache), global::CsdFactoryOpMoveItemBagToCache.Parser, new[]{ "GridIndex", "ComponentId", "CacheGridIndex" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsdFactoryOpMoveItemCacheToBag), global::CsdFactoryOpMoveItemCacheToBag.Parser, new[]{ "ComponentId", "ItemId", "All", "CacheGridIndex", "GridIndex" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsdFactoryOpMoveItemDepotToCache), global::CsdFactoryOpMoveItemDepotToCache.Parser, new[]{ "ItemId", "ComponentId", "CacheGridIndex" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsdFactoryOpMoveItemCacheToDepot), global::CsdFactoryOpMoveItemCacheToDepot.Parser, new[]{ "ComponentId", "ItemId", "All", "CacheGridIndex" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsdFactoryOpMoveItemConveyorToBag), global::CsdFactoryOpMoveItemConveyorToBag.Parser, new[]{ "ComponentId", "Index", "All" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsdFactoryOpCacheTransportTransfer), global::CsdFactoryOpCacheTransportTransfer.Parser, new[]{ "ComponentId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsdFactoryOpCacheTransportEnable), global::CsdFactoryOpCacheTransportEnable.Parser, new[]{ "ComponentId", "Enable" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsdFactoryOpSetTravelPoleDefaultNext), global::CsdFactoryOpSetTravelPoleDefaultNext.Parser, new[]{ "ComponentId", "DefaultNext" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsdFactoryOpUseHealTowerPoint), global::CsdFactoryOpUseHealTowerPoint.Parser, new[]{ "ComponentId", "UseCount" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsdFactoryOpBattleRepair), global::CsdFactoryOpBattleRepair.Parser, new[]{ "NodeId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsdFactoryOpAddConnection), global::CsdFactoryOpAddConnection.Parser, new[]{ "MapId", "FromComId", "ToComId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsdFactoryOpDelConnection), global::CsdFactoryOpDelConnection.Parser, new[]{ "MapId", "Index" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsdFactoryOpGridBoxInnerMove), global::CsdFactoryOpGridBoxInnerMove.Parser, new[]{ "ComponentId", "FromIndex", "ToIndex" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsdFactoryOpGridBoxInnerSplit), global::CsdFactoryOpGridBoxInnerSplit.Parser, new[]{ "ComponentId", "FromIndex", "ToIndex", "Count" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsdFactoryOpMoveItemBagToGridBox), global::CsdFactoryOpMoveItemBagToGridBox.Parser, new[]{ "BagGridIndex", "ComponentId", "GridBoxIndex" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsdFactoryOpMoveItemGridBoxToBag), global::CsdFactoryOpMoveItemGridBoxToBag.Parser, new[]{ "ComponentId", "GridBoxIndex", "BagGridIndex" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsdFactoryOpMoveItemDepotToGridBox), global::CsdFactoryOpMoveItemDepotToGridBox.Parser, new[]{ "ItemId", "ComponentId", "GridBoxIndex" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsdFactoryOpMoveItemGridBoxToDepot), global::CsdFactoryOpMoveItemGridBoxToDepot.Parser, new[]{ "ComponentId", "GridBoxIndex" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsdFactoryOpMoveAllCacheOutItemToBag), global::CsdFactoryOpMoveAllCacheOutItemToBag.Parser, new[]{ "NodeId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsdFactoryOpQuickPutBattery), global::CsdFactoryOpQuickPutBattery.Parser, new[]{ "ComId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsdFactoryOpChangeProducerMode), global::CsdFactoryOpChangeProducerMode.Parser, new[]{ "NodeId", "ToMode" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsdFactoryOpReverseFluidConveyorDirection), global::CsdFactoryOpReverseFluidConveyorDirection.Parser, new[]{ "NodeId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsdFactoryOpDismantleBatch), global::CsdFactoryOpDismantleBatch.Parser, new[]{ "Dismantles", "DismantleConveyors" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsdFactoryOpTakeOutFluidFromLiquidBody), global::CsdFactoryOpTakeOutFluidFromLiquidBody.Parser, new[]{ "LiquidBodyInstKey", "BottleItems" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsdFactoryOpPutInFluidToLiquidBody), global::CsdFactoryOpPutInFluidToLiquidBody.Parser, new[]{ "LiquidBodyInstKey", "BottleWaterItems" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsdFactoryOpFillingFluidComWithBag), global::CsdFactoryOpFillingFluidComWithBag.Parser, new[]{ "ComponentId", "BagGridIndex" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsdFactoryOpFillingFluidComWithDepot), global::CsdFactoryOpFillingFluidComWithDepot.Parser, new[]{ "ComponentId", "ItemId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScFactoryOpRet), global::ScFactoryOpRet.Parser, new[]{ "Index", "RetCode", "OpType", "ErrMessage", "Place", "PlaceConveyor", "Dismantle", "SetSelectTarget", "EnableNode", "MoveNode", "DismantleBoxConveyor", "RepairNode", "MoveItemCacheToCache", "MoveItemBagToCache", "MoveItemCacheToBag", "MoveItemDepotToCache", "MoveItemCacheToDepot", "MoveItemConveyorToBag", "CacheTransportTransfer", "CacheTransportEnable", "SetTravelPoleDefaultNext", "UseHealTowerPoint", "BattleRepair", "AddConnection", "DelConnection", "GridBoxInnerMove", "GridBoxInnerSplit", "MoveItemBagToGridBox", "MoveItemGridBoxToBag", "MoveItemDepotToGridBox", "MoveItemGridBoxToDepot", "MoveAllCacheOutItemToBag", "QuickPutBattery", "ChangeProducerMode", "ReverseFluidConveyorDirection", "DismantleBatch", "TakeOutFluidFromLiquidBody", "PutInFluidToLiquidBody", "FillingFluidComWithBag", "FillingFluidComWithDepot" }, new[]{ "OpPayload" }, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactoryOpRetPlace), global::ScdFactoryOpRetPlace.Parser, new[]{ "NodeId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactoryOpRetPlaceConveyor), global::ScdFactoryOpRetPlaceConveyor.Parser, new[]{ "NodeId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactoryOpRetDismantle), global::ScdFactoryOpRetDismantle.Parser, null, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactoryOpRetSetSelectTarget), global::ScdFactoryOpRetSetSelectTarget.Parser, null, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactoryOpRetEnableNode), global::ScdFactoryOpRetEnableNode.Parser, null, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactoryOpRetMoveNode), global::ScdFactoryOpRetMoveNode.Parser, null, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactoryOpRetDismantleBoxConveyor), global::ScdFactoryOpRetDismantleBoxConveyor.Parser, new[]{ "NodeId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactoryOpRetRepairNode), global::ScdFactoryOpRetRepairNode.Parser, null, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactoryOpRetMoveItemCacheToCache), global::ScdFactoryOpRetMoveItemCacheToCache.Parser, null, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactoryOpRetMoveItemBagToCache), global::ScdFactoryOpRetMoveItemBagToCache.Parser, null, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactoryOpRetMoveItemCacheToBag), global::ScdFactoryOpRetMoveItemCacheToBag.Parser, null, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactoryOpRetMoveItemDepotToCache), global::ScdFactoryOpRetMoveItemDepotToCache.Parser, null, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactoryOpRetMoveItemCacheToDepot), global::ScdFactoryOpRetMoveItemCacheToDepot.Parser, null, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactoryOpRetMoveItemConveyorToBag), global::ScdFactoryOpRetMoveItemConveyorToBag.Parser, null, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactoryOpRetCacheTransportTransfer), global::ScdFactoryOpRetCacheTransportTransfer.Parser, new[]{ "Success" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactoryOpRetCacheTransportEnable), global::ScdFactoryOpRetCacheTransportEnable.Parser, null, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactoryOpRetSetTravelPoleDefaultNext), global::ScdFactoryOpRetSetTravelPoleDefaultNext.Parser, null, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactoryOpRetUseHealTowerPoint), global::ScdFactoryOpRetUseHealTowerPoint.Parser, new[]{ "UsedCount" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactoryOpRetBattleRepair), global::ScdFactoryOpRetBattleRepair.Parser, null, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactoryOpRetAddConnection), global::ScdFactoryOpRetAddConnection.Parser, new[]{ "Index" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactoryOpRetDelConnection), global::ScdFactoryOpRetDelConnection.Parser, null, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactoryOpRetGridBoxInnerMove), global::ScdFactoryOpRetGridBoxInnerMove.Parser, null, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactoryOpRetGridBoxInnerSplit), global::ScdFactoryOpRetGridBoxInnerSplit.Parser, null, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactoryOpRetMoveItemBagToGridBox), global::ScdFactoryOpRetMoveItemBagToGridBox.Parser, null, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactoryOpRetMoveItemGridBoxToBag), global::ScdFactoryOpRetMoveItemGridBoxToBag.Parser, null, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactoryOpRetMoveItemDepotToGridBox), global::ScdFactoryOpRetMoveItemDepotToGridBox.Parser, null, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactoryOpRetMoveItemGridBoxToDepot), global::ScdFactoryOpRetMoveItemGridBoxToDepot.Parser, new[]{ "NotAllSuccess" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactoryOpRetMoveAllCacheOutItemToBag), global::ScdFactoryOpRetMoveAllCacheOutItemToBag.Parser, null, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactoryOpRetQuickPutBattery), global::ScdFactoryOpRetQuickPutBattery.Parser, new[]{ "CostItems" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactoryOpRetChangeProducerMode), global::ScdFactoryOpRetChangeProducerMode.Parser, null, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactoryOpRetReverseFluidConveyorDirection), global::ScdFactoryOpRetReverseFluidConveyorDirection.Parser, null, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactoryOpRetDismantleBatch), global::ScdFactoryOpRetDismantleBatch.Parser, null, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactoryOpRetTakeOutFluidFromLiquidBody), global::ScdFactoryOpRetTakeOutFluidFromLiquidBody.Parser, new[]{ "CostBottleItems", "GainBottleWaterItems", "CostLiquid", "Ret" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactoryOpRetPutInFluidToLiquidBody), global::ScdFactoryOpRetPutInFluidToLiquidBody.Parser, new[]{ "CostBottleWaterItems", "GainBottleItems", "GainLiquid", "Ret" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactoryOpRetFillingFluidComWithBag), global::ScdFactoryOpRetFillingFluidComWithBag.Parser, null, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdFactoryOpRetFillingFluidComWithDepot), global::ScdFactoryOpRetFillingFluidComWithDepot.Parser, null, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsFriendListSync), global::CsFriendListSync.Parser, null, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsFriendRequestListSync), global::CsFriendRequestListSync.Parser, null, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsFriendSearchName), global::CsFriendSearchName.Parser, new[]{ "Name" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsFriendRequestAccept), global::CsFriendRequestAccept.Parser, new[]{ "RoleId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsFriendRequestReject), global::CsFriendRequestReject.Parser, new[]{ "RoleId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsFriendDelete), global::CsFriendDelete.Parser, new[]{ "RoleId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsFriendRequestSubmit), global::CsFriendRequestSubmit.Parser, new[]{ "RoleId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScFriendListSync), global::ScFriendListSync.Parser, new[]{ "FriendList" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScFriendRequestListSync), global::ScFriendRequestListSync.Parser, new[]{ "FriendRequestList" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScFriendSearchName), global::ScFriendSearchName.Parser, new[]{ "StrangerList" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScFriendRequestAccept), global::ScFriendRequestAccept.Parser, new[]{ "RoleId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScFriendRequestReject), global::ScFriendRequestReject.Parser, new[]{ "RoleId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScFriendDelete), global::ScFriendDelete.Parser, new[]{ "RoleId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScFriendRequestSubmit), global::ScFriendRequestSubmit.Parser, new[]{ "RoleId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScFriendRequestAddNotify), global::ScFriendRequestAddNotify.Parser, new[]{ "FriendRequestInfo" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScFriendAddNotify), global::ScFriendAddNotify.Parser, new[]{ "FriendInfo" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsGachaSinglePullReq), global::CsGachaSinglePullReq.Parser, new[]{ "GachaType", "GachaPoolId", "PullCosts" }, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsGachaTenPullReq), global::CsGachaTenPullReq.Parser, new[]{ "GachaType", "GachaPoolId", "PullCosts" }, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdGachaPoolInfo), global::ScdGachaPoolInfo.Parser, new[]{ "GachaPoolId", "OpenTime", "CloseTime", "IsClosed", "PublicCloseReason" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdGachaPoolRoleData), global::ScdGachaPoolRoleData.Parser, new[]{ "GachaPoolId", "IsClosed", "PersonalCloseReason", "TotalPullCount", "HardGuaranteeProgress", "SoftGuaranteeProgress", "Star5SoftGuaranteeProgress", "UpGotCount" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdGachaPoolCategoryRoleData), global::ScdGachaPoolCategoryRoleData.Parser, new[]{ "GachaPoolType", "TotalPullCount", "SoftGuaranteeProgress", "Star5SoftGuaranteeProgress" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdGachaPoolMgr), global::ScdGachaPoolMgr.Parser, new[]{ "GachaPoolInfos", "GachaPoolRoleDatas", "GachaPoolCategoryRoleDatas" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScGachaSync), global::ScGachaSync.Parser, new[]{ "CharGachaPool", "WeaponGachaPool" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScGachaModifyPoolInfo), global::ScGachaModifyPoolInfo.Parser, new[]{ "CharGachaPools", "WeaponGachaPools" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdGachaFinalResult), global::ScdGachaFinalResult.Parser, new[]{ "ItemId", "RewardItemId", "RewardIds", "IsNew" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScGachaSyncPullResult), global::ScGachaSyncPullResult.Parser, new[]{ "GachaType", "GachaPoolId", "OriResultIds", "FinalResults", "UpGotCount", "Star6GotCount", "Star5GotCount" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScGachaModifyPoolRoleData), global::ScGachaModifyPoolRoleData.Parser, new[]{ "GachaType", "GachaPoolId", "GachaPoolRoleData", "GachaPoolCategoryRoleData" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsGameMechanicsReqActive), global::CsGameMechanicsReqActive.Parser, new[]{ "GameId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsGameMechanicsReqReward), global::CsGameMechanicsReqReward.Parser, new[]{ "GameId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsGameMechanicsNtfInstPrepareFinish), global::CsGameMechanicsNtfInstPrepareFinish.Parser, new[]{ "GameId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdGameMechanicsRecord), global::ScdGameMechanicsRecord.Parser, new[]{ "GameId", "LastEnterGameTS", "BestPassTime", "BestPassTS", "IsPass", "IsChallenged", "IsActive", "OnceRewardGot", "RewardedIdList" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdGameMechanicsUnlockConditions), global::ScdGameMechanicsUnlockConditions.Parser, new[]{ "Id", "UnlockState", "UnlockConditionValues", "UnlockConditionFlags" }, null, null, new pbr::GeneratedClrTypeInfo[] { null, null, }),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScGameMechanicsSync), global::ScGameMechanicsSync.Parser, new[]{ "GameUnlockConditions", "GameRecords" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScGameMechanicsSyncUnlockCondition), global::ScGameMechanicsSyncUnlockCondition.Parser, new[]{ "GameUnlockCondition" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScGameMechanicsModifyRecords), global::ScGameMechanicsModifyRecords.Parser, new[]{ "GameRecords" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScGameMechanicsSyncChallengeStart), global::ScGameMechanicsSyncChallengeStart.Parser, new[]{ "GameId", "ChallengeStartTs", "ChallengeExpireTs", "PrepareChallengeSeconds" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScGameMechanicsSyncChallengeComplete), global::ScGameMechanicsSyncChallengeComplete.Parser, new[]{ "GameId", "IsPass", "ForceLeaveTs", "PassTime" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScGameMechanicsSyncCompletionReward), global::ScGameMechanicsSyncCompletionReward.Parser, new[]{ "GameId", "IsPass", "ForceLeaveTs" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScGameMechanicsSyncEnterGameInst), global::ScGameMechanicsSyncEnterGameInst.Parser, new[]{ "GameId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScGameMechanicsSyncLeaveGameInst), global::ScGameMechanicsSyncLeaveGameInst.Parser, new[]{ "GameId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScGameMechanicsSyncRestartGameInst), global::ScGameMechanicsSyncRestartGameInst.Parser, new[]{ "GameId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdGameMechanicsInstTimeFreeze), global::ScdGameMechanicsInstTimeFreeze.Parser, new[]{ "TimeKey", "TotalFreezeTimeInMs" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScGameMechanicsModifyInstTimeFreeze), global::ScGameMechanicsModifyInstTimeFreeze.Parser, new[]{ "GameId", "TimeFreezeInfos" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSyncGameMode), global::ScSyncGameMode.Parser, new[]{ "ModeId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSyncAllGameVar), global::ScSyncAllGameVar.Parser, new[]{ "ServerVars", "ClientVars" }, null, null, new pbr::GeneratedClrTypeInfo[] { null, null, }),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsUpdateClientGameVar), global::CsUpdateClientGameVar.Parser, new[]{ "Key", "Value" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScUpdateGameVar), global::ScUpdateGameVar.Parser, new[]{ "Key", "Value", "Type" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsGemRecast), global::CsGemRecast.Parser, new[]{ "FormulaId", "Count", "CostGemInstIds" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScGemRecast), global::ScGemRecast.Parser, new[]{ "FormulaId", "Count", "GemInstIds" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::GuideGroupInfo), global::GuideGroupInfo.Parser, new[]{ "GuideGroupId", "GuideState" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsCompleteGuideGroupKeyStep), global::CsCompleteGuideGroupKeyStep.Parser, new[]{ "GuideGroupId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsCompleteGuideGroup), global::CsCompleteGuideGroup.Parser, new[]{ "GuideGroupId", "NotAutoAccept" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSyncAllGuide), global::ScSyncAllGuide.Parser, new[]{ "GuideGroupList", "CompletedRepeatAcceptGuideGroupList" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScAcceptGuideGroup), global::ScAcceptGuideGroup.Parser, new[]{ "GuideGroupId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScCompleteGuideGroupKeyStep), global::ScCompleteGuideGroupKeyStep.Parser, new[]{ "GuideGroupId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScCompleteGuideGroup), global::ScCompleteGuideGroup.Parser, new[]{ "GuideGroupId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdItemBag), global::ScdItemBag.Parser, new[]{ "GridLimit", "Grids" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdItemDepot), global::ScdItemDepot.Parser, new[]{ "StackableItems", "InstList" }, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdItemLostAndFound), global::ScdItemLostAndFound.Parser, new[]{ "StackableItems", "InstList" }, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdItemBagModify), global::ScdItemBagModify.Parser, new[]{ "GridLimit", "Grids", "DelList" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdItemDepotModify), global::ScdItemDepotModify.Parser, new[]{ "Items", "InstList", "DelInstList", "InfiniteItems" }, null, null, new pbr::GeneratedClrTypeInfo[] { null, null, }),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdItemLostAndFoundModify), global::ScdItemLostAndFoundModify.Parser, new[]{ "Items", "InstList", "DelInstList" }, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsItemBagTidyInBag), global::CsItemBagTidyInBag.Parser, new[]{ "ScopeName" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsItemBagMoveInBag), global::CsItemBagMoveInBag.Parser, new[]{ "FromGrid", "ToGrid", "ScopeName" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsItemBagSplitInBag), global::CsItemBagSplitInBag.Parser, new[]{ "FromGrid", "ToGrid", "MoveCount", "ScopeName" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsItemBagFactoryDepotToBag), global::CsItemBagFactoryDepotToBag.Parser, new[]{ "Items", "InstIdList", "ScopeName", "ChapterId" }, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsItemBagBagToFactoryDepot), global::CsItemBagBagToFactoryDepot.Parser, new[]{ "GridList", "ScopeName", "ChapterId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsItemBagFactoryDepotToBagGrid), global::CsItemBagFactoryDepotToBagGrid.Parser, new[]{ "GridIndex", "Id", "Count", "ScopeName", "ChapterId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsItemBagUseItem), global::CsItemBagUseItem.Parser, new[]{ "GridIndex", "Count", "CharInstIdList", "EquipMedicineCharInstId", "ItemUseArgs", "ScopeName", "UseType" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsItemBagSetQuickBar), global::CsItemBagSetQuickBar.Parser, new[]{ "ItemId", "ScopeName" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsItemBagSetQuickBarPos), global::CsItemBagSetQuickBarPos.Parser, new[]{ "Pos", "ScopeName" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsItemBagSetItemLock), global::CsItemBagSetItemLock.Parser, new[]{ "LockInfoList", "ScopeName" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ItemInstLockInfo), global::ItemInstLockInfo.Parser, new[]{ "ItemId", "InstId", "IsLock" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsItemBagAbandonInBag), global::CsItemBagAbandonInBag.Parser, new[]{ "GridCut", "TargetObjectId", "ScopeName" }, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsItemBagDestroyInDepot), global::CsItemBagDestroyInDepot.Parser, new[]{ "Depot", "Items", "InstIdList", "ScopeName" }, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsItemBagDestroyInFactoryDepot), global::CsItemBagDestroyInFactoryDepot.Parser, new[]{ "Items", "ScopeName", "ChapterId" }, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsItemBagDumpBottleInBag), global::CsItemBagDumpBottleInBag.Parser, new[]{ "GridIndex", "Count", "ScopeName" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsItemBagDumpBottleInFactoryDepot), global::CsItemBagDumpBottleInFactoryDepot.Parser, new[]{ "ItemId", "Count", "ScopeName", "ChapterId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsItemBagTakeoutLostAndFound), global::CsItemBagTakeoutLostAndFound.Parser, new[]{ "All", "Items", "InstIdList" }, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsItemBagUseItemCase), global::CsItemBagUseItemCase.Parser, new[]{ "Id", "Count", "SelectRewards" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsItemBagChgSpaceshipChapter), global::CsItemBagChgSpaceshipChapter.Parser, new[]{ "SpaceshipChapterId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdItemBagSyncQuickBar), global::ScdItemBagSyncQuickBar.Parser, new[]{ "ItemId", "Pos" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScItemBagCommonSync), global::ScItemBagCommonSync.Parser, new[]{ "LostAndFound" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScItemBagCommonModify), global::ScItemBagCommonModify.Parser, new[]{ "LostAndFound" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScItemBagScopeSync), global::ScItemBagScopeSync.Parser, new[]{ "Bag", "FactoryDepot", "Depot", "QuickBar", "Assistant", "ScopeName", "CurrentChapterId", "SpaceshipChapterId" }, null, null, new pbr::GeneratedClrTypeInfo[] { null, null, }),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdItemBagScopeAssistant), global::ScdItemBagScopeAssistant.Parser, new[]{ "LastUseTime", "CannotDestroy" }, null, null, new pbr::GeneratedClrTypeInfo[] { null, null, }),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScTrialCharacterEquipMedicineModify), global::ScTrialCharacterEquipMedicineModify.Parser, new[]{ "TrialObjId", "Count" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScItemBagTrialCharDepotModify), global::ScItemBagTrialCharDepotModify.Parser, new[]{ "ScopeName", "TrialCharDepot" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScItemBagTrialCharDepotClear), global::ScItemBagTrialCharDepotClear.Parser, new[]{ "ScopeName" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScItemBagScopeModify), global::ScItemBagScopeModify.Parser, new[]{ "Bag", "FactoryDepot", "Depot", "QuickBar", "Assistant", "ScopeName", "CurrentChapterId", "IsScopeDelete" }, null, null, new pbr::GeneratedClrTypeInfo[] { null, null, }),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdItemBagScopeAssistantModify), global::ScdItemBagScopeAssistantModify.Parser, new[]{ "LastUseTime", "CannotDestroy" }, null, null, new pbr::GeneratedClrTypeInfo[] { null, null, }),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScItemBagUseItem), global::ScItemBagUseItem.Parser, new[]{ "Result", "UsedItem", "CharInstIdList", "EquipMedicineCharInstId", "ScopeName" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScItemBagSetQuickBar), global::ScItemBagSetQuickBar.Parser, new[]{ "ItemId", "ScopeName" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScItemBagSetQuickBarPos), global::ScItemBagSetQuickBarPos.Parser, new[]{ "Pos", "ScopeName" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScItemBagSetItemLock), global::ScItemBagSetItemLock.Parser, new[]{ "LockInfoList", "ScopeName" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScItemBagAbandonInBag), global::ScItemBagAbandonInBag.Parser, null, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScItemBagBagToFactoryDepot), global::ScItemBagBagToFactoryDepot.Parser, new[]{ "NotAllSuccess", "ScopeName" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScItemBagTakeoutLostAndFound), global::ScItemBagTakeoutLostAndFound.Parser, new[]{ "NothingGot" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScItemBagGotItemToast), global::ScItemBagGotItemToast.Parser, new[]{ "Items" }, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScRewardToastBegin), global::ScRewardToastBegin.Parser, new[]{ "RewardSourceType", "RewardToastInstId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScRewardToastEnd), global::ScRewardToastEnd.Parser, new[]{ "RewardVirtualList", "RewardToastInstId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScRewardDropSpItemToast), global::ScRewardDropSpItemToast.Parser, new[]{ "ItemId", "Count", "Pos", "RewardSourceType", "RewardToastInstId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScItemBagUseItemCase), global::ScItemBagUseItemCase.Parser, new[]{ "Id", "Count" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScItemBagChgSpaceshipChapter), global::ScItemBagChgSpaceshipChapter.Parser, new[]{ "SpaceshipChapterId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsLogin), global::CsLogin.Parser, new[]{ "Uid", "Token", "Channel", "ServerGroup", "LastRecvDownSeqid", "ClientVersion", "ClientResVersion", "ClientPublicKey", "PlatformId", "Area", "Env", "PayPlatform" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScLogin), global::ScLogin.Parser, new[]{ "Uid", "IsFirstLogin", "ServerPublicKey", "ServerEncrypNonce", "LastRecvUpSeqid", "IsReconnect", "IsEnc", "IsClientReconnect", "ServerTime", "ServerTimeZone" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsCreateRole), global::CsCreateRole.Parser, new[]{ "RoleName", "Gender" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSyncBaseData), global::ScSyncBaseData.Parser, new[]{ "Roleid", "RoleName", "Level", "Exp", "ShortId", "Gender" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScNtfErrorCode), global::ScNtfErrorCode.Parser, new[]{ "ErrorCode", "Details" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScNtfCode), global::ScNtfCode.Parser, new[]{ "Code", "Details" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsLogout), global::CsLogout.Parser, null, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsGmCommand), global::CsGmCommand.Parser, new[]{ "Command" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdGmGachaStat), global::ScdGmGachaStat.Parser, new[]{ "GachaPoolId", "GachaType", "TotalPullCount", "UpGotPullCountMap", "UpGotCount", "Star6GotPullCountMap", "Star6GotCount", "Star6Ge2GotCount", "Star5GotPullCountMap", "Star5GotCount", "Star5Ge2GotCount" }, null, null, new pbr::GeneratedClrTypeInfo[] { null, null, null, }),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScGmCommand), global::ScGmCommand.Parser, new[]{ "Result" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsPing), global::CsPing.Parser, new[]{ "ClientTs" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScPing), global::ScPing.Parser, new[]{ "ClientTs", "ServerTs" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScReconnectIncr), global::ScReconnectIncr.Parser, null, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScReconnectFull), global::ScReconnectFull.Parser, null, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsFlushSync), global::CsFlushSync.Parser, new[]{ "ClientTs" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScFlushSync), global::ScFlushSync.Parser, new[]{ "ClientTs", "ServerTs" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsSetName), global::CsSetName.Parser, new[]{ "Name" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSetName), global::ScSetName.Parser, new[]{ "Name", "ShortId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsSetGender), global::CsSetGender.Parser, new[]{ "Gender" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSetGender), global::ScSetGender.Parser, new[]{ "Gender" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsCheckName), global::CsCheckName.Parser, new[]{ "Name" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScCheckName), global::ScCheckName.Parser, new[]{ "Name", "Pass" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSyncFullDataEnd), global::ScSyncFullDataEnd.Parser, null, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsMailDef), global::CsMailDef.Parser, new[]{ "MailType", "MailId", "ExpireTime", "IsRead", "IsAttachmentGot", "SendTime", "MailContent", "ItemList", "IsStar", "MailSubType" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsGetMail), global::CsGetMail.Parser, new[]{ "MailIdList" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsReadMail), global::CsReadMail.Parser, new[]{ "MailId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsDeleteMail), global::CsDeleteMail.Parser, new[]{ "MailId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsDeleteAllMail), global::CsDeleteAllMail.Parser, null, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsGetMailAttachment), global::CsGetMailAttachment.Parser, new[]{ "MailId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsGetAllMailAttachment), global::CsGetAllMailAttachment.Parser, null, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsMarkStarMail), global::CsMarkStarMail.Parser, new[]{ "MailId", "IsStar" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSyncAllMail), global::ScSyncAllMail.Parser, new[]{ "MailIdList", "NewMailTag", "NewQuestionnaireTag" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScReadMail), global::ScReadMail.Parser, new[]{ "MailId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScGetMail), global::ScGetMail.Parser, new[]{ "MailList" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScGetMailAttachment), global::ScGetMailAttachment.Parser, new[]{ "SuccessMailIdList", "FailedMailIdList" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScDelMailNotify), global::ScDelMailNotify.Parser, new[]{ "MailIdList" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScNewMailNotify), global::ScNewMailNotify.Parser, new[]{ "MailIdList", "NewQuestionnaireTag" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScMarkStarMail), global::ScMarkStarMail.Parser, new[]{ "MailId", "IsStar" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsdSceneStaticMapMarkUpdate), global::CsdSceneStaticMapMarkUpdate.Parser, new[]{ "Mark", "IsAdd" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsSceneStaticMapMarkUpdate), global::CsSceneStaticMapMarkUpdate.Parser, new[]{ "Ops" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsSceneSetTrackPoint), global::CsSceneSetTrackPoint.Parser, new[]{ "TrackPoint" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSceneMapMarkSync), global::ScSceneMapMarkSync.Parser, new[]{ "SceneStaticMapMarkList", "TrackPoint" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSceneStaticMapMarkModify), global::ScSceneStaticMapMarkModify.Parser, new[]{ "AddedList", "DeletedList" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSceneSetTrackPoint), global::ScSceneSetTrackPoint.Parser, new[]{ "TrackPoint" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::MiniGameInfo), global::MiniGameInfo.Parser, new[]{ "MiniGameId", "CompletedCount" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSyncAllMiniGame), global::ScSyncAllMiniGame.Parser, new[]{ "CompletedMiniGame" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsCompleteMiniGame), global::CsCompleteMiniGame.Parser, new[]{ "MiniGameId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScCompleteMiniGame), global::ScCompleteMiniGame.Parser, new[]{ "MiniGameId", "CompletedCount" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::AttrInfo), global::AttrInfo.Parser, new[]{ "AttrType", "BasicValue", "Value" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSyncAttr), global::ScSyncAttr.Parser, new[]{ "ObjID", "AttrList" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScNewNoticeNotify), global::ScNewNoticeNotify.Parser, null, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::QuestObjectiveDetail), global::QuestObjectiveDetail.Parser, new[]{ "HashValue" }, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
          new pbr::GeneratedClrTypeInfo(typeof(global::QuestObjective), global::QuestObjective.Parser, new[]{ "ConditionId", "ExtraDetails", "Values", "IsComplete" }, null, null, new pbr::GeneratedClrTypeInfo[] { null, null, }),
          new pbr::GeneratedClrTypeInfo(typeof(global::Quest), global::Quest.Parser, new[]{ "QuestId", "QuestState", "QuestObjectives" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::Mission), global::Mission.Parser, new[]{ "MissionId", "MissionState", "SucceedId", "Properties" }, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
          new pbr::GeneratedClrTypeInfo(typeof(global::ObjectiveValueOp), global::ObjectiveValueOp.Parser, new[]{ "ConditionId", "Value", "IsAdd" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsAcceptMission), global::CsAcceptMission.Parser, new[]{ "MissionId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsFailMission), global::CsFailMission.Parser, new[]{ "MissionId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsTrackMission), global::CsTrackMission.Parser, new[]{ "MissionId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsStopTrackingMission), global::CsStopTrackingMission.Parser, null, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsMissionEventTrigger), global::CsMissionEventTrigger.Parser, new[]{ "MissionId", "EventName", "Properties" }, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScMissionEventTrigger), global::ScMissionEventTrigger.Parser, new[]{ "MissionId", "EventName" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsUpdateQuestObjective), global::CsUpdateQuestObjective.Parser, new[]{ "QuestId", "ObjectiveValueOps" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScUpdateMissionProperty), global::ScUpdateMissionProperty.Parser, new[]{ "MissionId", "Properties" }, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsMissionClientTriggerDone), global::CsMissionClientTriggerDone.Parser, new[]{ "MissionId", "SceneName", "AreaId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsSetNewMissionTagDone), global::CsSetNewMissionTagDone.Parser, new[]{ "NewMissionTags" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::NewMissionTag), global::NewMissionTag.Parser, new[]{ "MissionId", "QuestId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSyncAllMission), global::ScSyncAllMission.Parser, new[]{ "TrackMissionId", "Missions", "CurQuests", "DailyMissionId", "NewMissionTags" }, null, null, new pbr::GeneratedClrTypeInfo[] { null, null, }),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScDailyMissionInfoUpdate), global::ScDailyMissionInfoUpdate.Parser, new[]{ "DailyMissionId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScQuestStateUpdate), global::ScQuestStateUpdate.Parser, new[]{ "QuestId", "QuestState", "BRollback", "RoleBaseInfo" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScMissionStateUpdate), global::ScMissionStateUpdate.Parser, new[]{ "MissionId", "MissionState", "SucceedId", "Properties", "RoleBaseInfo" }, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScQuestFailed), global::ScQuestFailed.Parser, new[]{ "QuestId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScMissionFailed), global::ScMissionFailed.Parser, new[]{ "MissionId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScMissionDeleted), global::ScMissionDeleted.Parser, new[]{ "MissionId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScTrackMissionChange), global::ScTrackMissionChange.Parser, new[]{ "MissionId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScQuestObjectivesUpdate), global::ScQuestObjectivesUpdate.Parser, new[]{ "QuestId", "QuestObjectives" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScQuestRollback), global::ScQuestRollback.Parser, new[]{ "QuestId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSceneTriggerClientMissionEvent), global::ScSceneTriggerClientMissionEvent.Parser, new[]{ "MissionId", "EventName" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsRollBlocMission), global::CsRollBlocMission.Parser, new[]{ "BlocId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScRollBlocMission), global::ScRollBlocMission.Parser, new[]{ "BlocId", "MissionId", "RollCount", "NextRefreshTine" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSyncBlocMissionInfo), global::ScSyncBlocMissionInfo.Parser, new[]{ "BlocMissions", "RewardGot", "RollCount", "NextRefreshTine", "CompletedNum" }, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScBlocCompletedMissionNumUpdate), global::ScBlocCompletedMissionNumUpdate.Parser, new[]{ "CompletedNum" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSceneMonsterSpawnerStart), global::ScSceneMonsterSpawnerStart.Parser, new[]{ "SceneNumId", "SpawnerId", "EnabledHiddenWaveKeyList" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSceneMonsterSpawnerStop), global::ScSceneMonsterSpawnerStop.Parser, new[]{ "SceneNumId", "SpawnerId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSceneMonsterSpawnerComplete), global::ScSceneMonsterSpawnerComplete.Parser, new[]{ "SceneNumId", "SpawnerId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsSceneMonsterSpawnerBeginWave), global::CsSceneMonsterSpawnerBeginWave.Parser, new[]{ "SceneNumId", "SpawnerId", "WaveId", "ClientTimestamp" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSceneMonsterSpawnerWaveComplete), global::ScSceneMonsterSpawnerWaveComplete.Parser, new[]{ "SceneNumId", "SpawnerId", "WaveId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSceneMonsterSpawnerBeginWave), global::ScSceneMonsterSpawnerBeginWave.Parser, new[]{ "SceneNumId", "SpawnerId", "WaveId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSceneMonsterSpawnerObjectDataBegin), global::ScSceneMonsterSpawnerObjectDataBegin.Parser, new[]{ "SceneNumId", "SpawnerId", "WaveId", "GroupId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSceneMonsterSpawnerObjectDataEnd), global::ScSceneMonsterSpawnerObjectDataEnd.Parser, new[]{ "SceneNumId", "SpawnerId", "WaveId", "GroupId", "Details" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::SpawnerDetail), global::SpawnerDetail.Parser, new[]{ "ObjId", "ActionId", "SpawnIdx" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsCreateOrder), global::CsCreateOrder.Parser, new[]{ "ProductCode" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScCreateOrder), global::ScCreateOrder.Parser, new[]{ "SignParam", "ProductCode" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScOrderMsg), global::ScOrderMsg.Parser, new[]{ "ProductCode" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CSHead), global::CSHead.Parser, new[]{ "Msgid", "UpSeqid", "DownSeqid", "TotalPackCount", "CurrentPackIndex", "IsCompress" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsMergeMsg), global::CsMergeMsg.Parser, new[]{ "Msg" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsPrtsMarkRead), global::CsPrtsMarkRead.Parser, new[]{ "PrtsId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsPrtsMarkTerminalRead), global::CsPrtsMarkTerminalRead.Parser, new[]{ "TerminalContentId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsPrtsRichContentRead), global::CsPrtsRichContentRead.Parser, new[]{ "Id" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsPrtsFinishInvestigate), global::CsPrtsFinishInvestigate.Parser, new[]{ "Id" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSyncRacingDungeonPassedLevel), global::ScSyncRacingDungeonPassedLevel.Parser, new[]{ "MaxPassedLevel" }, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScRacingDungeonEnter), global::ScRacingDungeonEnter.Parser, new[]{ "DungeonId", "Level", "TacticsId", "CharTeam" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSyncRacingDungeonSettlement), global::ScSyncRacingDungeonSettlement.Parser, new[]{ "DungeonId", "Level", "IsPassed", "TotalPlaytime", "Score", "BattlePassExp", "CompletedRoomList" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSyncRacingDungeonReconnect), global::ScSyncRacingDungeonReconnect.Parser, new[]{ "DungeonId", "Level", "TotalPlaytime", "BuffList", "TacticsId", "KillMonsterCounter", "Paused", "CompletedRoomList" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsRacingDungeonGetBattlePass), global::CsRacingDungeonGetBattlePass.Parser, new[]{ "DungeonId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScRacingDungeonGetBattlePass), global::ScRacingDungeonGetBattlePass.Parser, new[]{ "DungeonId", "BattlePassExp", "ReceivedNodeId", "UnlockNodeId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsRacingDungeonBattlePassReceiveReward), global::CsRacingDungeonBattlePassReceiveReward.Parser, new[]{ "DungeonId", "ReceiveAll", "ReceivedNodeId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScRacingDungeonBattlePassReceiveReward), global::ScRacingDungeonBattlePassReceiveReward.Parser, new[]{ "DungeonId", "BattlePassExp", "ReceiveRewards", "ReceivedNodeId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsRacingDungeonGetAchievement), global::CsRacingDungeonGetAchievement.Parser, new[]{ "DungeonId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScRacingDungeonGetAchievement), global::ScRacingDungeonGetAchievement.Parser, new[]{ "DungeonId", "Achievements" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::RacingDungeonAchievement), global::RacingDungeonAchievement.Parser, new[]{ "NodeId", "Status", "ConditionCounter" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsRacingDungeonAchievementReceiveReward), global::CsRacingDungeonAchievementReceiveReward.Parser, new[]{ "DungeonId", "ReceiveAll", "ReceivedAchievement" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScRacingDungeonAchievementReceiveReward), global::ScRacingDungeonAchievementReceiveReward.Parser, new[]{ "DungeonId", "ReceiveRewards", "Achievements" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsRacingDungeonLeave), global::CsRacingDungeonLeave.Parser, null, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSyncRacingDungeonBuffModify), global::ScSyncRacingDungeonBuffModify.Parser, new[]{ "BuffList", "AddBuffId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsRacingDungeonUpdateBattleInfo), global::CsRacingDungeonUpdateBattleInfo.Parser, new[]{ "KillMonsterCounter" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSyncRacingDungeonAchievementModify), global::ScSyncRacingDungeonAchievementModify.Parser, new[]{ "AchievementId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSyncRacingTimerPause), global::ScSyncRacingTimerPause.Parser, new[]{ "Paused", "ServerTimestamp", "TotalPlaytime" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSyncRacingDungeonCompleteRoom), global::ScSyncRacingDungeonCompleteRoom.Parser, new[]{ "RoomId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSyncRacingDungeonCountdownEvent), global::ScSyncRacingDungeonCountdownEvent.Parser, new[]{ "DebuffId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::RemoveItemNewData), global::RemoveItemNewData.Parser, new[]{ "DepotType", "InstIds" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsRemoveItemNewTags), global::CsRemoveItemNewTags.Parser, new[]{ "ItemIds", "InstData" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScRemoveItemNewTags), global::ScRemoveItemNewTags.Parser, null, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsRedDotReadFormula), global::CsRedDotReadFormula.Parser, new[]{ "FormulaIds" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsRedDotReadCharDoc), global::CsRedDotReadCharDoc.Parser, new[]{ "Id", "Ids" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsRedDotReadCharVoice), global::CsRedDotReadCharVoice.Parser, new[]{ "Id", "Ids" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsRedDotReadEquipFormula), global::CsRedDotReadEquipFormula.Parser, new[]{ "Id" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsRpgDungeonBuy), global::CsRpgDungeonBuy.Parser, new[]{ "DungeonId", "EquipItemId", "CostEquipInstIds" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScRpgDungeonBuy), global::ScRpgDungeonBuy.Parser, new[]{ "EquipItemId", "EquipInstId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsRpgDungeonSell), global::CsRpgDungeonSell.Parser, new[]{ "EquipInstId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScRpgDungeonSell), global::ScRpgDungeonSell.Parser, new[]{ "EquipInstId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsRpgDungeonEquipPuton), global::CsRpgDungeonEquipPuton.Parser, new[]{ "Slotid", "EquipInstId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScRpgDungeonEquipPuton), global::ScRpgDungeonEquipPuton.Parser, new[]{ "Slotid", "EquipInstId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsRpgDungeonEquipPutoff), global::CsRpgDungeonEquipPutoff.Parser, new[]{ "Slotid" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScRpgDungeonEquipPutoff), global::ScRpgDungeonEquipPutoff.Parser, new[]{ "Slotid" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSyncRpgDungeonBuffList), global::ScSyncRpgDungeonBuffList.Parser, new[]{ "BuffList" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSyncRpgEquipColumn), global::ScSyncRpgEquipColumn.Parser, new[]{ "EquipColumn" }, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSyncRpgTeamLevel), global::ScSyncRpgTeamLevel.Parser, new[]{ "TeamLevel", "TeamExp", "NextLevelExp" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSyncRpgDungeonAbility), global::ScSyncRpgDungeonAbility.Parser, new[]{ "FixedAbilitys", "RandomAbilitys" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::RpgDungeonAbilityInfo), global::RpgDungeonAbilityInfo.Parser, new[]{ "AbilityId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSyncRpgLevelUp), global::ScSyncRpgLevelUp.Parser, new[]{ "LvUpLevel", "FixedAbility", "RandomAbility" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsRpgDungeonPickLvAbility), global::CsRpgDungeonPickLvAbility.Parser, new[]{ "Level", "RandomAbility" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScRpgDungeonPickLvAbility), global::ScRpgDungeonPickLvAbility.Parser, new[]{ "CurTeamLevel", "TotalFixedAbility", "TotalRandomAbility" }, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsRpgDungeonTimeStop), global::CsRpgDungeonTimeStop.Parser, new[]{ "OnTimeResume" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSyncRpgDungeonTimeInfo), global::ScSyncRpgDungeonTimeInfo.Parser, new[]{ "OnTimeStop", "WaveEndTime" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsRpgDungeonAbilityChange), global::CsRpgDungeonAbilityChange.Parser, new[]{ "AbilityId", "Duration" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsEnterScene), global::CsEnterScene.Parser, new[]{ "SceneNumId", "Position", "Rotation" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsSceneLeavePlane), global::CsSceneLeavePlane.Parser, new[]{ "Position", "Rotation" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::SceneObjectCommonInfo), global::SceneObjectCommonInfo.Parser, new[]{ "Id", "Type", "Templateid", "Position", "Rotation", "BelongLevelScriptId", "SceneNumId", "Hp" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::SceneCharacter), global::SceneCharacter.Parser, new[]{ "CommonInfo", "Level", "Name", "Attrs", "BattleInfo" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::SceneMonster), global::SceneMonster.Parser, new[]{ "CommonInfo", "OriginId", "Level", "Attrs", "BattleInfo" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::SceneInteractive), global::SceneInteractive.Parser, new[]{ "CommonInfo", "OriginId", "Properties", "Meta", "BattleInfo" }, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
          new pbr::GeneratedClrTypeInfo(typeof(global::SceneSummonSkill), global::SceneSummonSkill.Parser, new[]{ "SkillId", "AssignedItems" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::SceneSummon), global::SceneSummon.Parser, new[]{ "CommonInfo", "Skills", "Attrs", "BattleInfo", "CastSkillId", "Blackboard" }, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
          new pbr::GeneratedClrTypeInfo(typeof(global::SceneNpc), global::SceneNpc.Parser, new[]{ "CommonInfo" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::SceneObjectDetailContainer), global::SceneObjectDetailContainer.Parser, new[]{ "TeamType", "TeamIndex", "TeamChangeToken", "CharList", "MonsterList", "InteractiveList", "NpcList", "SummonList" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsSceneSetLevelScriptActive), global::CsSceneSetLevelScriptActive.Parser, new[]{ "SceneNumId", "ScriptId", "IsActive", "LeaderPos" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsSceneSetLevelScriptStart), global::CsSceneSetLevelScriptStart.Parser, new[]{ "SceneNumId", "ScriptId", "IsStart", "LeaderPos" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsSceneLevelScriptEventTrigger), global::CsSceneLevelScriptEventTrigger.Parser, new[]{ "SceneNumId", "ScriptId", "EventName", "Properties" }, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsSceneCommitLevelScriptCacheStep), global::CsSceneCommitLevelScriptCacheStep.Parser, new[]{ "SceneNumId", "ScriptId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::LevelScriptInfo), global::LevelScriptInfo.Parser, new[]{ "ScriptId", "State", "Properties", "IsDone" }, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSceneUpdateLevelScriptProperty), global::ScSceneUpdateLevelScriptProperty.Parser, new[]{ "SceneNumId", "ScriptId", "Properties", "ClientOperate" }, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSceneLevelScriptStateNotify), global::ScSceneLevelScriptStateNotify.Parser, new[]{ "SceneNumId", "ScriptId", "State" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSceneLevelScriptResetBegin), global::ScSceneLevelScriptResetBegin.Parser, new[]{ "SceneNumId", "ScriptId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSceneLevelScriptResetEnd), global::ScSceneLevelScriptResetEnd.Parser, new[]{ "SceneNumId", "ScriptId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSceneLevelScriptTaskStateUpdate), global::ScSceneLevelScriptTaskStateUpdate.Parser, new[]{ "SceneNumId", "ScriptId", "TaskId", "TaskState" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSceneLevelScriptTaskProgressUpdate), global::ScSceneLevelScriptTaskProgressUpdate.Parser, new[]{ "SceneNumId", "ScriptId", "TaskId", "ConditionCompletedMap" }, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSceneLevelScriptTaskStartFinish), global::ScSceneLevelScriptTaskStartFinish.Parser, new[]{ "SceneNumId", "ScriptId", "TaskId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSceneTriggerClientLevelScriptEvent), global::ScSceneTriggerClientLevelScriptEvent.Parser, new[]{ "SceneNumId", "ScriptId", "EventName" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSceneTriggerClientInteractiveEvent), global::ScSceneTriggerClientInteractiveEvent.Parser, new[]{ "SceneNumId", "Id", "EventName" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdSceneTeamInfo), global::ScdSceneTeamInfo.Parser, new[]{ "TeamType", "TeamIndex", "TeamChangeToken", "CurLeaderId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSelfSceneInfo), global::ScSelfSceneInfo.Parser, new[]{ "SceneNumId", "SceneId", "Detail", "ReviveChars", "LevelScripts", "SelfInfoReason", "UnlockArea", "DropList", "SceneGrade", "TeamInfo", "Dungeon", "Empty" }, new[]{ "SceneImpl" }, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::SceneDrop), global::SceneDrop.Parser, new[]{ "DropId", "StackableItems", "InstList" }, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
          new pbr::GeneratedClrTypeInfo(typeof(global::SceneImplDungeon), global::SceneImplDungeon.Parser, new[]{ "DungeonId", "ChallengeExpireTs", "LeaveDungeonTs", "IsReward", "IsCalc", "IsPass" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::SceneImplEmpty), global::SceneImplEmpty.Parser, null, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSceneResetEntity), global::ScSceneResetEntity.Parser, new[]{ "SceneNumId", "Id" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScObjectEnterView), global::ScObjectEnterView.Parser, new[]{ "Detail", "HasExtraObject" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::LeaveObjectInfo), global::LeaveObjectInfo.Parser, new[]{ "ObjType", "ObjId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScObjectLeaveView), global::ScObjectLeaveView.Parser, new[]{ "ObjList" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::MotionInfo), global::MotionInfo.Parser, new[]{ "Position", "Rotation", "Speed", "State" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::MoveObjectMoveInfo), global::MoveObjectMoveInfo.Parser, new[]{ "Objid", "MotionInfo", "ServerTime", "SceneNumId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsMoveObjectMove), global::CsMoveObjectMove.Parser, new[]{ "MoveInfo", "LeaderMoveTagMask", "LeaderIndex" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScMoveObjectMove), global::ScMoveObjectMove.Parser, new[]{ "MoveInfo", "ServerNotify" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScEnterSceneNotify), global::ScEnterSceneNotify.Parser, new[]{ "RoleId", "SceneNumId", "SceneId", "Position", "PassThroughData" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScLeaveSceneNotify), global::ScLeaveSceneNotify.Parser, new[]{ "RoleId", "SceneNumId", "SceneId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSeamlessSceneDestroyNotify), global::ScSeamlessSceneDestroyNotify.Parser, new[]{ "RoleId", "SceneNumId", "SceneId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsSceneLoadFinish), global::CsSceneLoadFinish.Parser, new[]{ "SceneNumId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsSceneSetLastRecordCampid), global::CsSceneSetLastRecordCampid.Parser, new[]{ "LastCampId", "Position", "Rotation", "SceneNumId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSceneSetLastRecordCampid), global::ScSceneSetLastRecordCampid.Parser, new[]{ "LastCampId", "SceneNumId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsSceneInteractiveEventTrigger), global::CsSceneInteractiveEventTrigger.Parser, new[]{ "SceneNumId", "Id", "EventName", "Properties" }, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSceneUpdateInteractiveProperty), global::ScSceneUpdateInteractiveProperty.Parser, new[]{ "SceneNumId", "Id", "Properties", "ClientOperate" }, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsSceneSetVar), global::CsSceneSetVar.Parser, new[]{ "Key", "Value", "SceneNumId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSceneSetVar), global::ScSceneSetVar.Parser, new[]{ "Key", "Value", "SceneNumId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsSceneRest), global::CsSceneRest.Parser, null, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::EntityInfo), global::EntityInfo.Parser, new[]{ "EntityOpType", "Id", "Type" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSceneCreateEntity), global::ScSceneCreateEntity.Parser, new[]{ "SceneNumId", "Id" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSceneDestroyEntity), global::ScSceneDestroyEntity.Parser, new[]{ "SceneNumId", "Id", "Reason" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSceneCrossSceneStatus), global::ScSceneCrossSceneStatus.Parser, new[]{ "ObjId", "SceneNumId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsSceneRevival), global::CsSceneRevival.Parser, null, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSceneRevival), global::ScSceneRevival.Parser, null, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsSceneSetStorySafeZone), global::CsSceneSetStorySafeZone.Parser, new[]{ "InZone" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSceneSetStorySafeZone), global::ScSceneSetStorySafeZone.Parser, new[]{ "InZone" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsSceneSetSafeZone), global::CsSceneSetSafeZone.Parser, new[]{ "InZone", "Id" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSceneSetSafeZone), global::ScSceneSetSafeZone.Parser, new[]{ "InZone", "Id" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsSceneQueryEntityExist), global::CsSceneQueryEntityExist.Parser, new[]{ "SceneNumId", "Id" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSceneQueryEntityExist), global::ScSceneQueryEntityExist.Parser, new[]{ "IsExist" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsSceneQueryInteractiveProperty), global::CsSceneQueryInteractiveProperty.Parser, new[]{ "SceneNumId", "Id", "Key" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSceneQueryInteractiveProperty), global::ScSceneQueryInteractiveProperty.Parser, new[]{ "SceneNumId", "Id", "Key", "Value" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsSceneSpawnSummon), global::CsSceneSpawnSummon.Parser, new[]{ "SummonId", "Position", "Rotation", "SkillId", "Blackboard" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSceneUnlockArea), global::ScSceneUnlockArea.Parser, new[]{ "SceneNumId", "AreaId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsSceneInteractTree), global::CsSceneInteractTree.Parser, new[]{ "TreeTypeId", "Position", "IsBreaked" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsSceneTeleport), global::CsSceneTeleport.Parser, new[]{ "SceneNumId", "Position", "Rotation", "TeleportReason", "PassThroughData" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSceneTeleport), global::ScSceneTeleport.Parser, new[]{ "ObjIdList", "SceneNumId", "Position", "Rotation", "ServerTime", "TeleportReason", "TpUuid", "PassThroughData" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsSceneTeleportFinish), global::CsSceneTeleportFinish.Parser, new[]{ "TpUuid" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsSceneMoveStateSet), global::CsSceneMoveStateSet.Parser, new[]{ "MoveRecordTag" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsSceneSubmitEther), global::CsSceneSubmitEther.Parser, null, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSceneSubmitEther), global::ScSceneSubmitEther.Parser, new[]{ "Level", "Count" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::AreaUnlockInfo), global::AreaUnlockInfo.Parser, new[]{ "SceneId", "UnlockAreaId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSyncAllRoleScene), global::ScSyncAllRoleScene.Parser, new[]{ "SubmitEtherLevel", "SubmitEtherCount", "UnlockAreaInfo", "SceneGradeInfo" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::SceneGradeInfo), global::SceneGradeInfo.Parser, new[]{ "SceneNumId", "Grade", "LastDownTs" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsSceneSetLastSafeZone), global::CsSceneSetLastSafeZone.Parser, new[]{ "SceneNumId", "Position", "Rotation", "Reason", "SourceScriptId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsSceneRepatriate), global::CsSceneRepatriate.Parser, new[]{ "SceneNumId", "RepatriateSource", "PassThroughData" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSceneRepatriate), global::ScSceneRepatriate.Parser, new[]{ "SceneNumId", "RepatriateSource" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsSceneSetBattle), global::CsSceneSetBattle.Parser, new[]{ "InBattle" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsSceneGradeModify), global::CsSceneGradeModify.Parser, new[]{ "SceneNumId", "Grade" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSceneSetBattle), global::ScSceneSetBattle.Parser, new[]{ "InBattle" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScRewardToSceneBegin), global::ScRewardToSceneBegin.Parser, new[]{ "RewardSourceType", "SourceTemplateId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScRewardToSceneEnd), global::ScRewardToSceneEnd.Parser, null, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSceneLevelScriptEventTrigger), global::ScSceneLevelScriptEventTrigger.Parser, null, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSceneLevelScriptSetDone), global::ScSceneLevelScriptSetDone.Parser, new[]{ "SceneNumId", "ScriptId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSceneInteractiveEventTrigger), global::ScSceneInteractiveEventTrigger.Parser, null, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSceneDropCreate), global::ScSceneDropCreate.Parser, new[]{ "DropData" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSceneDropDelete), global::ScSceneDropDelete.Parser, new[]{ "DropId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSceneDropModify), global::ScSceneDropModify.Parser, new[]{ "DropId", "Items", "InstList", "DelInstList" }, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSceneGradeChangeNotify), global::ScSceneGradeChangeNotify.Parser, new[]{ "SceneNumId", "Grade", "Ts" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSceneClientIdInfo), global::ScSceneClientIdInfo.Parser, new[]{ "RoleIdx", "LastMaxIdx" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSceneUpdateInteractiveMeta), global::ScSceneUpdateInteractiveMeta.Parser, new[]{ "SceneNumId", "Id", "Meta" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsSceneUpdateScriptTaskProgress), global::CsSceneUpdateScriptTaskProgress.Parser, new[]{ "SceneNumId", "ScriptId", "TaskId", "ObjectiveValueOps" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScriptTaskObjectiveValueOp), global::ScriptTaskObjectiveValueOp.Parser, new[]{ "ConditionId", "Value", "IsAdd" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsCheckSensitive), global::CsCheckSensitive.Parser, new[]{ "Content" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScCheckSensitive), global::ScCheckSensitive.Parser, null, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsSettlementSelectRequire), global::CsSettlementSelectRequire.Parser, new[]{ "SettlementId", "SettlementRequireId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSettlementSelectRequire), global::ScSettlementSelectRequire.Parser, new[]{ "SettlementId", "SettlementRequireId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::Settlement), global::Settlement.Parser, new[]{ "SettlementId", "Level", "Exp", "RequireId", "OfficerCharTemplateId", "Reports", "UnlockTs", "AutoSubmit", "LastManualSubmitTime" }, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
          new pbr::GeneratedClrTypeInfo(typeof(global::SettlementDayReport), global::SettlementDayReport.Parser, new[]{ "Consume", "Output", "Exp", "LevelUpCount" }, null, null, new pbr::GeneratedClrTypeInfo[] { null, null, }),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSettlementSyncAll), global::ScSettlementSyncAll.Parser, new[]{ "Settlements", "LastTickTime" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSettlementSyncModify), global::ScSettlementSyncModify.Parser, new[]{ "SettlementsModify", "LastTickTime" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsSettlementSetOfficer), global::CsSettlementSetOfficer.Parser, new[]{ "SettlementId", "OfficerTemplateId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSettlementSetOfficer), global::ScSettlementSetOfficer.Parser, new[]{ "SettlementId", "OfficerTemplateId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSettlementFinishRequires), global::ScSettlementFinishRequires.Parser, new[]{ "NextFinishTime" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsSettlementSetSubmitMode), global::CsSettlementSetSubmitMode.Parser, new[]{ "SettlementId", "AutoSubmit" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSettlementSetSubmitMode), global::ScSettlementSetSubmitMode.Parser, new[]{ "SettlementId", "AutoSubmit" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsSettlementSubmitRequire), global::CsSettlementSubmitRequire.Parser, new[]{ "SettlementId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsShopBuy), global::CsShopBuy.Parser, new[]{ "ShopId", "GoodsId", "Count" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsShopSwapMoney), global::CsShopSwapMoney.Parser, new[]{ "SourceMoneyId", "TargetMoneyId", "SwapSourceMoneyNum" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdShopDynamicGoods), global::ScdShopDynamicGoods.Parser, new[]{ "GoodsId", "GoodsTemplateId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdShopRandomRefresh), global::ScdShopRandomRefresh.Parser, new[]{ "DynamicGoods" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdShopDiscount), global::ScdShopDiscount.Parser, new[]{ "GoodsId", "Discount" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdShopUnlockConditions), global::ScdShopUnlockConditions.Parser, new[]{ "Id", "UnlockConditionValues", "UnlockConditionFlags" }, null, null, new pbr::GeneratedClrTypeInfo[] { null, null, }),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdShop), global::ScdShop.Parser, new[]{ "ShopId", "ShopRefreshType", "UnlockConditionValues", "UnlockConditionFlags", "Discounts", "GoodsUnlockConditions", "IsDynamicGood", "IsDynamicDiscount", "RandomRefresh" }, new[]{ "RefreshData" }, null, new pbr::GeneratedClrTypeInfo[] { null, null, }),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdShopFrequencyLimit), global::ScdShopFrequencyLimit.Parser, new[]{ "FrequencyLimitId", "Count" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScShopSync), global::ScShopSync.Parser, new[]{ "ShopGroupConditions", "Shops", "FrequencyLimits" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScShopSyncShopGroupCondition), global::ScShopSyncShopGroupCondition.Parser, new[]{ "ShopGroupConditions" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScShopModifyShop), global::ScShopModifyShop.Parser, new[]{ "Shops" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScShopSyncShopCondition), global::ScShopSyncShopCondition.Parser, new[]{ "ShopConditions" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScShopSyncGoodsCondition), global::ScShopSyncGoodsCondition.Parser, new[]{ "GoodsConditions" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScShopModifyFrequencyLimit), global::ScShopModifyFrequencyLimit.Parser, new[]{ "FrequencyLimits" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScShopDeleteFrequencyLimit), global::ScShopDeleteFrequencyLimit.Parser, new[]{ "FrequencyLimits" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScShopBuyResp), global::ScShopBuyResp.Parser, new[]{ "ShopId", "GoodsId", "Count" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScShopSwapMoney), global::ScShopSwapMoney.Parser, new[]{ "SourceMoneyId", "TargetMoneyId", "CostSourceMoneyNum", "GetTargetMoneyNum" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsCastSkill), global::CsCastSkill.Parser, new[]{ "SkillSeraialId", "AttackerObjId", "SkillId", "AttackerPosition", "AttackerRotation", "TimeStamp", "ScaledTimeStamp", "TargetObjIdList" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsCastSkillEnd), global::CsCastSkillEnd.Parser, new[]{ "SkillSeraialId", "AttackerObjId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsCastSkillEffect), global::CsCastSkillEffect.Parser, new[]{ "SkillSeraialId", "SkillStageIdx", "AttackerObjId", "TimeStamp", "ScaledTimeStamp" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScCastSkill), global::ScCastSkill.Parser, new[]{ "SkillSeraialId", "AttackerObjId", "TimeStamp", "ScaledTimeStamp" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSyncHp), global::ScSyncHp.Parser, new[]{ "ObjId", "Hp" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSyncPoise), global::ScSyncPoise.Parser, new[]{ "ObjId", "Poise" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSyncUltimateSpCellCnt), global::ScSyncUltimateSpCellCnt.Parser, new[]{ "ObjId", "UltimateSpCellCnt" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::SnsMoment), global::SnsMoment.Parser, new[]{ "MomentId", "Timestamp", "Read", "Option", "Like" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::SnsChatInfo), global::SnsChatInfo.Parser, new[]{ "ChatId", "ChatType", "Timestamp", "MemberNum", "Dialogs", "SignatureId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::SnsDialogInfo), global::SnsDialogInfo.Parser, new[]{ "DialogId", "Timestamp", "CurContentId", "ChatId", "Options", "DialogType", "IsEnd", "IsRead" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsSnsGetList), global::CsSnsGetList.Parser, new[]{ "SnsType" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSnsGetMomentList), global::ScSnsGetMomentList.Parser, new[]{ "MomentList" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSnsGetChatList), global::ScSnsGetChatList.Parser, new[]{ "ChatList" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSyncSnsChatModify), global::ScSyncSnsChatModify.Parser, new[]{ "ChatId", "ChatType", "MemberNum", "SignatureId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsSnsMomentRead), global::CsSnsMomentRead.Parser, new[]{ "MomentId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSnsMomentRead), global::ScSnsMomentRead.Parser, new[]{ "MomentId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSyncSnsAddDialog), global::ScSyncSnsAddDialog.Parser, new[]{ "ChatId", "ChatType", "Timestamp", "DialogInfo", "MemberNum", "SignatureId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSyncSnsAddMoment), global::ScSyncSnsAddMoment.Parser, new[]{ "MomentInfo" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsSnsMomentOption), global::CsSnsMomentOption.Parser, new[]{ "MomentId", "Option", "Like", "OptionType" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSnsMomentOption), global::ScSnsMomentOption.Parser, new[]{ "MomentId", "Option", "Like", "OptionType" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsSnsChatDialogOption), global::CsSnsChatDialogOption.Parser, new[]{ "ChatId", "DialogId", "CurContentId", "JumpContentId", "Option" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSyncSnsDialogModify), global::ScSyncSnsDialogModify.Parser, new[]{ "ChatId", "DialogInfo", "SetOption" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsSnsFinishDialog), global::CsSnsFinishDialog.Parser, new[]{ "ChatId", "DialogId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsSnsReadDialog), global::CsSnsReadDialog.Parser, new[]{ "ChatId", "DialogId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSnsReadDialog), global::ScSnsReadDialog.Parser, new[]{ "ChatId", "DialogId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdSpaceshipControlCenter), global::ScdSpaceshipControlCenter.Parser, new[]{ "Reports" }, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdSpaceshipReport), global::ScdSpaceshipReport.Parser, new[]{ "CharWorkRecord", "Output" }, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdSpaceshipManufacturingStation), global::ScdSpaceshipManufacturingStation.Parser, new[]{ "RemainProduceOrder", "ProductMap", "Reports" }, null, null, new pbr::GeneratedClrTypeInfo[] { null, null, }),
          new pbr::GeneratedClrTypeInfo(typeof(global::SpaceshipManufacturingOrder), global::SpaceshipManufacturingOrder.Parser, new[]{ "FormulaId", "RemainProduceCount", "CurrentProgress" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdSpaceshipRoomAttrSource), global::ScdSpaceshipRoomAttrSource.Parser, new[]{ "CharId", "Index", "SkillId", "SourceType" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdSpaceshipRoomAttrUnit), global::ScdSpaceshipRoomAttrUnit.Parser, new[]{ "Type", "Value", "IsNotWorking", "Source" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdSpaceshipRoomAttr), global::ScdSpaceshipRoomAttr.Parser, new[]{ "Value", "TheoreticalValue", "BaseAttrs", "PercentAttrs", "AbsAdditionAttrs" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdSpaceshipRoom), global::ScdSpaceshipRoom.Parser, new[]{ "Id", "Type", "Level", "LevelUpConditonValues", "LevelUpConditionFlags", "StationedCharList", "AttrsMap", "HasCharWorking", "ControlCenter", "ManufacturingStation", "GrowCabin" }, new[]{ "RoomData" }, null, new pbr::GeneratedClrTypeInfo[] { null, null, null, }),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdSpaceshipGrowCabin), global::ScdSpaceshipGrowCabin.Parser, new[]{ "Boxes", "Reports" }, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdSpaceshipGrowBox), global::ScdSpaceshipGrowBox.Parser, new[]{ "BoxId", "RecipeId", "PreviewRecipeId", "Progress", "IsReady" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdSpaceshipRoomLevelUp), global::ScdSpaceshipRoomLevelUp.Parser, new[]{ "Id", "Type", "Level", "LevelUpConditonValues", "LevelUpConditionFlags" }, null, null, new pbr::GeneratedClrTypeInfo[] { null, null, }),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdSpaceshipRoomStation), global::ScdSpaceshipRoomStation.Parser, new[]{ "Id", "Type", "StationedCharList", "AttrsMap", "HasCharWorking", "ManufacturingStationProduceStatus", "GrowCabinProduceStatus" }, new[]{ "ProduceStatus" }, null, new pbr::GeneratedClrTypeInfo[] { null, }),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdSpaceshipManufacturingStationProduceStatus), global::ScdSpaceshipManufacturingStationProduceStatus.Parser, new[]{ "RemainProduceOrder" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdSpaceshipGrowCabinProduceStatus), global::ScdSpaceshipGrowCabinProduceStatus.Parser, new[]{ "Boxes" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdSpaceshipCharSkill), global::ScdSpaceshipCharSkill.Parser, new[]{ "Index", "SkillId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdSpaceshipChar), global::ScdSpaceshipChar.Parser, new[]{ "CharId", "PhysicalStrength", "Favorability", "StationedRoomId", "IsWorking", "Skills", "IsPresented", "RecvGiftCnt", "TempRewardId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdSpaceshipCharSkillList), global::ScdSpaceshipCharSkillList.Parser, new[]{ "CharId", "Skills" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdSpaceshipCharStation), global::ScdSpaceshipCharStation.Parser, new[]{ "CharId", "StationedRoomId", "IsWorking", "PhysicalStrength" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSpaceshipSync), global::ScSpaceshipSync.Parser, new[]{ "Rooms", "Chars" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSpaceshipModifyRoom), global::ScSpaceshipModifyRoom.Parser, new[]{ "Rooms" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSpaceshipSyncRoomLevelUp), global::ScSpaceshipSyncRoomLevelUp.Parser, new[]{ "RoomLevelUpInfos" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSpaceshipModifyChar), global::ScSpaceshipModifyChar.Parser, new[]{ "Chars" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSpaceshipSyncCharSkill), global::ScSpaceshipSyncCharSkill.Parser, new[]{ "CharSkills" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSpaceshipSyncRoomStation), global::ScSpaceshipSyncRoomStation.Parser, new[]{ "Rooms", "Chars" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CharPresentGiftInfo), global::CharPresentGiftInfo.Parser, new[]{ "CharId", "RewardId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSpaceshipPresentCharInfo), global::ScSpaceshipPresentCharInfo.Parser, new[]{ "GiftInfos" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::SpaceshipCharFavorabilityChangeInfo), global::SpaceshipCharFavorabilityChangeInfo.Parser, new[]{ "CharId", "CurFav" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSpaceshipCharFavorabilityChange), global::ScSpaceshipCharFavorabilityChange.Parser, new[]{ "ChangeInfos" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSpaceshipRecvGiftFromChar), global::ScSpaceshipRecvGiftFromChar.Parser, new[]{ "CharId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSpaceshipPresentGiftToChar), global::ScSpaceshipPresentGiftToChar.Parser, new[]{ "CharId", "CurFav", "RecvGiftCnt" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSpaceshipManufacturingStationSync), global::ScSpaceshipManufacturingStationSync.Parser, new[]{ "RoomId", "RemainProduceOrder", "ProductMap" }, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSpaceshipManufacturingStationCancel), global::ScSpaceshipManufacturingStationCancel.Parser, new[]{ "RoomId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSpaceshipManufacturingStationCollect), global::ScSpaceshipManufacturingStationCollect.Parser, new[]{ "RoomId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSpaceshipModifyGrowCabin), global::ScSpaceshipModifyGrowCabin.Parser, new[]{ "Id", "Boxes" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSpaceshipGrowCabinBreed), global::ScSpaceshipGrowCabinBreed.Parser, new[]{ "Items" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSpaceshipGrowCabinSow), global::ScSpaceshipGrowCabinSow.Parser, null, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSpaceshipGrowCabinHarvest), global::ScSpaceshipGrowCabinHarvest.Parser, new[]{ "Items" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSpaceshipGrowCabinCancel), global::ScSpaceshipGrowCabinCancel.Parser, null, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSpaceshipReportCharWorkModify), global::ScSpaceshipReportCharWorkModify.Parser, new[]{ "RoomCharWorkRecord" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdSpaceshipRoomReportCharWorkModify), global::ScdSpaceshipRoomReportCharWorkModify.Parser, new[]{ "RoomId", "Ts", "CharWorkRecord" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSpaceshipReportOutputModify), global::ScSpaceshipReportOutputModify.Parser, new[]{ "RoomId", "OutputReport" }, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScdSpaceshipRoomReportOutput), global::ScdSpaceshipRoomReportOutput.Parser, new[]{ "Output" }, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSpaceshipManufacturingStationStart), global::ScSpaceshipManufacturingStationStart.Parser, new[]{ "RoomId", "RemainProduceOrder" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsSpaceshipBuildRoom), global::CsSpaceshipBuildRoom.Parser, new[]{ "RoomId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsSpaceshipLevelUpRoom), global::CsSpaceshipLevelUpRoom.Parser, new[]{ "RoomId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsSpaceshipStationChar), global::CsSpaceshipStationChar.Parser, new[]{ "RoomId", "StationedCharList" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsSpaceshipStationCharChangeWorkState), global::CsSpaceshipStationCharChangeWorkState.Parser, new[]{ "CharId", "GoToWork" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsSpaceshipPresentGiftToChar), global::CsSpaceshipPresentGiftToChar.Parser, new[]{ "CharId", "Gifts" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsSpaceshipRecvGiftFromChar), global::CsSpaceshipRecvGiftFromChar.Parser, new[]{ "CharId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsSpaceshipManufacturingStationCollect), global::CsSpaceshipManufacturingStationCollect.Parser, new[]{ "RoomId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsSpaceshipManufacturingStationStart), global::CsSpaceshipManufacturingStationStart.Parser, new[]{ "RoomId", "FormulaId", "Count" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsSpaceshipManufacturingStationCancel), global::CsSpaceshipManufacturingStationCancel.Parser, new[]{ "RoomId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsSpaceshipManufacturingStationChangeOrder), global::CsSpaceshipManufacturingStationChangeOrder.Parser, new[]{ "RoomId", "FormulaId", "Count" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsSpaceshipGrowCabinBreed), global::CsSpaceshipGrowCabinBreed.Parser, new[]{ "RoomId", "RecipeId", "Multi" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsSpaceshipGrowCabinSow), global::CsSpaceshipGrowCabinSow.Parser, new[]{ "RoomId", "Boxes" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsdSpaceshipGrowCabinSow), global::CsdSpaceshipGrowCabinSow.Parser, new[]{ "RecipeId", "BoxId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsSpaceshipGrowCabinClearPreviewRecipe), global::CsSpaceshipGrowCabinClearPreviewRecipe.Parser, new[]{ "RoomId", "BoxId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsSpaceshipGrowCabinHarvest), global::CsSpaceshipGrowCabinHarvest.Parser, new[]{ "RoomId", "BoxIdList", "All" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsSpaceshipGrowCabinCancel), global::CsSpaceshipGrowCabinCancel.Parser, new[]{ "RoomId", "BoxId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsSceneInteractSpInteractive), global::CsSceneInteractSpInteractive.Parser, new[]{ "ObjId", "OpType", "DoodadCommonPick", "DoodadCommonBreak", "CommonActive" }, new[]{ "OpPayload" }, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsdSpInteractiveDoodadCommonPick), global::CsdSpInteractiveDoodadCommonPick.Parser, null, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsdSpInteractiveDoodadCommonBreak), global::CsdSpInteractiveDoodadCommonBreak.Parser, new[]{ "NewHpRatio" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsdSpInteractiveCommonActive), global::CsdSpInteractiveCommonActive.Parser, null, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSceneInteractSpInteractive), global::ScSceneInteractSpInteractive.Parser, new[]{ "ObjId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::StatInfo), global::StatInfo.Parser, new[]{ "Type", "Value", "Param" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSyncAllStat), global::ScSyncAllStat.Parser, new[]{ "StatsInfo" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSyncStat), global::ScSyncStat.Parser, new[]{ "StatInfo" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::SubmitSourceParamMission), global::SubmitSourceParamMission.Parser, new[]{ "QuestId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::SubmitSourceParamInteractive), global::SubmitSourceParamInteractive.Parser, new[]{ "ObjId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::SubmitTerm), global::SubmitTerm.Parser, new[]{ "SubmitItemList" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsSceneSubmitItem), global::CsSceneSubmitItem.Parser, new[]{ "SubmitId", "SubmitItemTermList", "SourceType", "Mission", "Interactive" }, new[]{ "SubmitSourceParam" }, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSceneSubmitItem), global::ScSceneSubmitItem.Parser, new[]{ "SubmitId", "Ret" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsSceneSubmitRecycle), global::CsSceneSubmitRecycle.Parser, new[]{ "SubmitItemList" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSceneSubmitRecycle), global::ScSceneSubmitRecycle.Parser, new[]{ "Ret" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSyncTdSettlement), global::ScSyncTdSettlement.Parser, new[]{ "TdId", "SettlementType", "RewardId", "ExtraBandwidth", "ExtraBattleBuildingLimit", "ExtraTravelPoleLimit" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsTdGetTdList), global::CsTdGetTdList.Parser, new[]{ "StrongholdId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScTdGetTdList), global::ScTdGetTdList.Parser, new[]{ "StrongholdId", "UnlockTdList", "CompletedTdList", "ClosedTdList" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSyncTdFullStatus), global::ScSyncTdFullStatus.Parser, new[]{ "FullData" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsTdStart), global::CsTdStart.Parser, new[]{ "TdId", "IsRestart" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScTdStart), global::ScTdStart.Parser, new[]{ "TdId", "IsRestart", "MaxBuildingNum" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsTdLeave), global::CsTdLeave.Parser, new[]{ "TdId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScTdLeave), global::ScTdLeave.Parser, new[]{ "TdId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsTdBuyBuilding), global::CsTdBuyBuilding.Parser, new[]{ "TdId", "BuildingId", "Num" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScTdBuyBuilding), global::ScTdBuyBuilding.Parser, new[]{ "TdId", "BuildingId", "Num" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSyncTdDropItem), global::ScSyncTdDropItem.Parser, new[]{ "DropId", "ItemId", "Num", "Position", "Duration" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsTdPickDropItem), global::CsTdPickDropItem.Parser, new[]{ "DropIdList" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScTdPickDropItem), global::ScTdPickDropItem.Parser, new[]{ "DropIdList" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsTdDropExpired), global::CsTdDropExpired.Parser, new[]{ "DropIdList" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsGameTimeFreezeStartReq), global::CsGameTimeFreezeStartReq.Parser, new[]{ "Reason" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsGameTimeFreezeEndReq), global::CsGameTimeFreezeEndReq.Parser, new[]{ "Reason" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScGameTimeFreezeStartRsp), global::ScGameTimeFreezeStartRsp.Parser, new[]{ "Reason", "InTimeFreeze" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScGameTimeFreezeEndRsp), global::ScGameTimeFreezeEndRsp.Parser, new[]{ "Reason", "InTimeFreeze" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSyncAllUnlock), global::ScSyncAllUnlock.Parser, new[]{ "UnlockSystems" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScUnlockSystem), global::ScUnlockSystem.Parser, new[]{ "UnlockSystemType" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::MoneyInfo), global::MoneyInfo.Parser, new[]{ "Id", "Amount" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsMoneyChange), global::CsMoneyChange.Parser, new[]{ "MoneyFromId", "MoneyToId", "MoneyFromCount" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSyncWallet), global::ScSyncWallet.Parser, new[]{ "MoneyList" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScWalletSyncMoney), global::ScWalletSyncMoney.Parser, new[]{ "Id", "Amount", "OpAmount" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScRewardDropMoneyToast), global::ScRewardDropMoneyToast.Parser, new[]{ "Id", "Amount", "Pos" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsWeaponPuton), global::CsWeaponPuton.Parser, new[]{ "Charid", "Weaponid" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScWeaponPuton), global::ScWeaponPuton.Parser, new[]{ "Charid", "Weaponid", "Offweaponid", "PutOffCharid" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsWeaponBreakthrough), global::CsWeaponBreakthrough.Parser, new[]{ "Weaponid" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScWeaponBreakthrough), global::ScWeaponBreakthrough.Parser, new[]{ "Weaponid", "BreakthroughLv" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsWeaponRefineUpgrade), global::CsWeaponRefineUpgrade.Parser, new[]{ "Weaponid", "UpgradeRefineLv", "CostWeaponIds" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScWeaponRefineUpgrade), global::ScWeaponRefineUpgrade.Parser, new[]{ "Weaponid", "RefineLv" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsWeaponAddExp), global::CsWeaponAddExp.Parser, new[]{ "Weaponid", "CostItemId2Count", "CostWeaponIds" }, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScWeaponAddExp), global::ScWeaponAddExp.Parser, new[]{ "Weaponid", "NewExp", "WeaponLv" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsWeaponAttachGem), global::CsWeaponAttachGem.Parser, new[]{ "Weaponid", "Gemid" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScWeaponAttachGem), global::ScWeaponAttachGem.Parser, new[]{ "Weaponid", "Gemid", "DetachGemid", "DetachGemWeaponid" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsWeaponDetachGem), global::CsWeaponDetachGem.Parser, new[]{ "Weaponid" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScWeaponDetachGem), global::ScWeaponDetachGem.Parser, new[]{ "Weaponid", "DetachGemid" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::ScSyncAllWiki), global::ScSyncAllWiki.Parser, new[]{ "LatestUnlock" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsUnlockWiki), global::CsUnlockWiki.Parser, new[]{ "WikiId" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::CsMarkWikiRead), global::CsMarkWikiRead.Parser, new[]{ "WikiIds" }, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::Opts), global::Opts.Parser, new[]{ "Unique" }, null, null, null)
        }));
  }
  #endregion

}
#region Enums
public enum Version {
  [pbr::OriginalName("V0")] V0 = 0,
  [pbr::OriginalName("V1")] V1 = 1,
}

public enum MessageType {
  [pbr::OriginalName("AUTH_REQUEST")] AuthRequest = 0,
  [pbr::OriginalName("AUTH_RESPONSE")] AuthResponse = 1,
  [pbr::OriginalName("LOG_MESSAGE")] LogMessage = 2,
  [pbr::OriginalName("LOG_MESSAGE_RESPONSE")] LogMessageResponse = 3,
}

public enum ResponseStatus {
  [pbr::OriginalName("OK")] Ok = 0,
  [pbr::OriginalName("PackageCheckFailed")] PackageCheckFailed = 400,
  [pbr::OriginalName("TooManyTemplate")] TooManyTemplate = 401,
  [pbr::OriginalName("TemplateParamCountNotMatch")] TemplateParamCountNotMatch = 402,
  [pbr::OriginalName("AuthFailed")] AuthFailed = 403,
  [pbr::OriginalName("TemplateNotFound")] TemplateNotFound = 404,
  [pbr::OriginalName("InvalidAppId")] InvalidAppId = 405,
  [pbr::OriginalName("InvalidToken")] InvalidToken = 406,
  [pbr::OriginalName("InvalidProtocolVersion")] InvalidProtocolVersion = 407,
  [pbr::OriginalName("UnsupportedMessageType")] UnsupportedMessageType = 408,
  [pbr::OriginalName("UnexpectedSeqId")] UnexpectedSeqId = 409,
  [pbr::OriginalName("ChecksumFailed")] ChecksumFailed = 410,
}

public enum EncryptType {
  [pbr::OriginalName("None")] None = 0,
}

public enum LogLevel {
  [pbr::OriginalName("DEBUG")] Debug = 0,
  [pbr::OriginalName("INFO")] Info = 1,
  [pbr::OriginalName("WARN")] Warn = 2,
  [pbr::OriginalName("ERROR")] Error = 3,
  [pbr::OriginalName("FATAL")] Fatal = 4,
}

public enum Direction {
  [pbr::OriginalName("Direction_Up")] Up = 0,
  [pbr::OriginalName("Direction_Right")] Right = 1,
  [pbr::OriginalName("Direction_Down")] Down = 2,
  [pbr::OriginalName("Direction_Left")] Left = 3,
  [pbr::OriginalName("Direction_Max")] Max = 4,
}

public enum ShapeType {
  [pbr::OriginalName("ShapeType_Invalid")] Invalid = 0,
  [pbr::OriginalName("ShapeType_Rect")] Rect = 1,
  [pbr::OriginalName("ShapeType_Line")] Line = 2,
  [pbr::OriginalName("ShapeType_Max")] Max = 3,
}

public enum NodeType {
  [pbr::OriginalName("NodeType_Invalid")] Invalid = 0,
  [pbr::OriginalName("NodeType_Inventory")] Inventory = 1,
  [pbr::OriginalName("NodeType_Bus")] Bus = 2,
  [pbr::OriginalName("NodeType_Hub")] Hub = 3,
  [pbr::OriginalName("NodeType_Collector")] Collector = 4,
  [pbr::OriginalName("NodeType_Producer")] Producer = 5,
  [pbr::OriginalName("NodeType_BoxConveyor")] BoxConveyor = 6,
  [pbr::OriginalName("NodeType_BoxRouter")] BoxRouter = 7,
  [pbr::OriginalName("NodeType_BusUnloader")] BusUnloader = 8,
  [pbr::OriginalName("NodeType_BusLoader")] BusLoader = 9,
  [pbr::OriginalName("NodeType_Max")] Max = 10,
}

public enum ComponentType {
  [pbr::OriginalName("ComponentType_Invalid")] Invalid = 0,
  [pbr::OriginalName("ComponentType_Map")] Map = 1,
  [pbr::OriginalName("ComponentType_Transform")] Transform = 2,
  [pbr::OriginalName("ComponentType_Bus")] Bus = 3,
  [pbr::OriginalName("ComponentType_Inventory")] Inventory = 4,
  [pbr::OriginalName("ComponentType_Cache")] Cache = 5,
  [pbr::OriginalName("ComponentType_Selector")] Selector = 6,
  [pbr::OriginalName("ComponentType_Collector")] Collector = 7,
  [pbr::OriginalName("ComponentType_Producer")] Producer = 8,
  [pbr::OriginalName("ComponentType_FormulaMan")] FormulaMan = 9,
  [pbr::OriginalName("ComponentType_BoxConveyor")] BoxConveyor = 10,
  [pbr::OriginalName("ComponentType_BoxRouter")] BoxRouter = 11,
  [pbr::OriginalName("ComponentType_BusUnloader")] BusUnloader = 12,
  [pbr::OriginalName("ComponentType_BusLoader")] BusLoader = 13,
  [pbr::OriginalName("ComponentType_Max")] Max = 14,
}

public enum EventType {
  [pbr::OriginalName("EventType_Invalid")] Invalid = 0,
  [pbr::OriginalName("EventType_Prepared")] Prepared = 1,
  [pbr::OriginalName("EventType_LayoutChg")] LayoutChg = 2,
  [pbr::OriginalName("EventType_ComponentChg")] ComponentChg = 3,
  [pbr::OriginalName("EventType_RelationChg")] RelationChg = 4,
  [pbr::OriginalName("EventType_Max")] Max = 5,
}

public enum OperateType {
  [pbr::OriginalName("OperateType_Invalid")] Invalid = 0,
  [pbr::OriginalName("OperateType_Place")] Place = 1,
  [pbr::OriginalName("OperateType_PlaceConveyor")] PlaceConveyor = 2,
  [pbr::OriginalName("OperateType_Dismantle")] Dismantle = 3,
  [pbr::OriginalName("OperateType_SetCollectTarget")] SetCollectTarget = 4,
  [pbr::OriginalName("OperateType_SetUnloaderSelect")] SetUnloaderSelect = 5,
  [pbr::OriginalName("OperateType_PutInItemsToCache")] PutInItemsToCache = 6,
  [pbr::OriginalName("OperateType_TakeOutItemsFromCache")] TakeOutItemsFromCache = 7,
  [pbr::OriginalName("OperateType_AddNewArea")] AddNewArea = 8,
  [pbr::OriginalName("OperateType_SetEventEnable")] SetEventEnable = 9,
}

public enum OperateRetCode {
  [pbr::OriginalName("OperateRetCode_OK")] Ok = 0,
  [pbr::OriginalName("OperateRetCode_Unknown")] Unknown = 1,
  [pbr::OriginalName("OperateRetCode_Fail")] Fail = 2,
  [pbr::OriginalName("OperateRetCode_InvalidParameter")] InvalidParameter = 3,
  [pbr::OriginalName("OperateRetCode_UnknownTemplate")] UnknownTemplate = 4,
  [pbr::OriginalName("OperateRetCode_MeshConflict")] MeshConflict = 5,
}

public enum BattleActionOperateType {
  [pbr::OriginalName("BATTLE_OP_NONE")] BattleOpNone = 0,
  [pbr::OriginalName("BATTLE_OP_ADD_BUFF")] BattleOpAddBuff = 1,
  [pbr::OriginalName("BATTLE_OP_FINISH_BUFF")] BattleOpFinishBuff = 2,
  [pbr::OriginalName("BATTLE_OP_SKILL_ATTACH")] BattleOpSkillAttach = 3,
  [pbr::OriginalName("BATTLE_OP_SKILL_DETACH")] BattleOpSkillDetach = 4,
  [pbr::OriginalName("BATTLE_OP_SKILL_START_CAST")] BattleOpSkillStartCast = 5,
  [pbr::OriginalName("BATTLE_OP_SKILL_END_CAST")] BattleOpSkillEndCast = 6,
  [pbr::OriginalName("BATTLE_OP_SWITCH_MODE")] BattleOpSwitchMode = 7,
  [pbr::OriginalName("BATTLE_OP_TRIGGER_ACTION")] BattleOpTriggerAction = 8,
  [pbr::OriginalName("BATTLE_OP_UPDATE_HUB")] BattleOpUpdateHub = 9,
  [pbr::OriginalName("BATTLE_OP_ENTITY_DIE")] BattleOpEntityDie = 10,
  [pbr::OriginalName("BATTLE_OP_ENTITY_VALUE_MODIFY")] BattleOpEntityValueModify = 11,
  [pbr::OriginalName("BATTLE_OP_RESET_BATTLE_DATA")] BattleOpResetBattleData = 12,
  [pbr::OriginalName("BATTLE_OP_UPDATE_DATA_VERSION")] BattleOpUpdateDataVersion = 13,
}

public enum BattleSkillSource {
  [pbr::OriginalName("BATTLE_SKILL_SOURCE_DEFAULT")] Default = 0,
  [pbr::OriginalName("BATTLE_SKILL_SOURCE_MODE")] Mode = 1,
  [pbr::OriginalName("BATTLE_SKILL_SOURCE_WEAPON")] Weapon = 2,
  [pbr::OriginalName("BATTLE_SKILL_SOURCE_EQUIP_SUIT")] EquipSuit = 3,
  [pbr::OriginalName("BATTLE_SKILL_SOURCE_OTHER")] Other = 4,
  [pbr::OriginalName("BATTLE_SKILL_SOURCE_INTERACTIVE")] Interactive = 5,
  [pbr::OriginalName("BATTLE_SKILL_SOURCE_SUMMON")] Summon = 6,
  [pbr::OriginalName("BATTLE_SKILL_SOURCE_PLUNGING_ATTACK")] PlungingAttack = 7,
  [pbr::OriginalName("BATTLE_SKILL_SOURCE_POWER_ATTACK")] PowerAttack = 8,
  [pbr::OriginalName("BATTLE_SKILL_SOURCE_TALENT_NODE_SKILL")] TalentNodeSkill = 9,
  [pbr::OriginalName("BATTLE_SKILL_SOURCE_POTENTIAL_LV_SKILL")] PotentialLvSkill = 10,
}

public enum ServerBattleActionType {
  [pbr::OriginalName("BATTLE_ACTION_NONE")] BattleActionNone = 0,
  [pbr::OriginalName("BATTLE_ACTION_DAMAGE")] BattleActionDamage = 1,
  [pbr::OriginalName("BATTLE_ACTION_CREATE_BUFF")] BattleActionCreateBuff = 2,
  [pbr::OriginalName("BATTLE_ACTION_FINISH_BUFF")] BattleActionFinishBuff = 3,
  [pbr::OriginalName("BATTLE_ACTION_GAIN_COST")] BattleActionGainCost = 4,
  [pbr::OriginalName("BATTLE_ACTION_HEAL")] BattleActionHeal = 5,
  [pbr::OriginalName("BATTLE_ACTION_SWITCH_MODE")] BattleActionSwitchMode = 6,
  [pbr::OriginalName("BATTLE_ACTION_MODIFY_DYNAMIC_BLACKBOARD")] BattleActionModifyDynamicBlackboard = 7,
  [pbr::OriginalName("BATTLE_ACTION_SPAWN_ENEMY")] BattleActionSpawnEnemy = 8,
  [pbr::OriginalName("BATTLE_ACTION_CHECK_DAMAGE_TYPE")] BattleActionCheckDamageType = 9,
  [pbr::OriginalName("BATTLE_ACTION_CHECK_DAMAGE_DECORATE_MASK")] BattleActionCheckDamageDecorateMask = 10,
  [pbr::OriginalName("BATTLE_ACTION_CHECK_DISTANCE_CONDITION")] BattleActionCheckDistanceCondition = 11,
  [pbr::OriginalName("BATTLE_ACTION_CHECK_ENTITY_NUM")] BattleActionCheckEntityNum = 12,
  [pbr::OriginalName("BATTLE_ACTION_CHECK_HP")] BattleActionCheckHp = 13,
  [pbr::OriginalName("BATTLE_ACTION_CHECK_IS_CRITICAL_DAMAGE")] BattleActionCheckIsCriticalDamage = 14,
  [pbr::OriginalName("BATTLE_ACTION_CHECK_MAIN_CHARACTER")] BattleActionCheckMainCharacter = 15,
  [pbr::OriginalName("BATTLE_ACTION_CHECK_OBJECT_TYPE_MATCH")] BattleActionCheckObjectTypeMatch = 16,
  [pbr::OriginalName("BATTLE_ACTION_CHECK_SKILL_TYPE")] BattleActionCheckSkillType = 17,
  [pbr::OriginalName("BATTLE_ACTION_CHECK_SQUAD_IN_FIGHT")] BattleActionCheckSquadInFight = 18,
  [pbr::OriginalName("BATTLE_ACTION_CHECK_TAG_MATCH")] BattleActionCheckTagMatch = 19,
  [pbr::OriginalName("BATTLE_ACTION_CHECK_TARGET_ANGLE")] BattleActionCheckTargetAngle = 20,
  [pbr::OriginalName("BATTLE_ACTION_COMPARE_FLOAT")] BattleActionCompareFloat = 21,
  [pbr::OriginalName("BATTLE_ACTION_PROBABILITY")] BattleActionProbability = 22,
  [pbr::OriginalName("BATTLE_ACTION_LAUNCH_PROJECTILE")] BattleActionLaunchProjectile = 23,
  [pbr::OriginalName("BATTLE_ACTION_SPAWN_ABILITY_ENTITY")] BattleActionSpawnAbilityEntity = 24,
  [pbr::OriginalName("BATTLE_ACTION_IF_ELSE")] BattleActionIfElse = 25,
  [pbr::OriginalName("BATTLE_ACTION_FOR_EACH")] BattleActionForEach = 26,
  [pbr::OriginalName("BATTLE_ACTION_AURA")] BattleActionAura = 27,
  [pbr::OriginalName("BATTLE_ACTION_SPAWN_CUSTOM_SUMMON")] BattleActionSpawnCustomSummon = 28,
  [pbr::OriginalName("BATTLE_ACTION_CHANNELING")] BattleActionChanneling = 29,
  [pbr::OriginalName("BATTLE_ACTION_STORE_ATTRIBUTE_VALUE")] BattleActionStoreAttributeValue = 30,
  [pbr::OriginalName("BATTLE_ACTION_REFRESH_BUFF_ATTR_MODIFIER_VALUE")] BattleActionRefreshBuffAttrModifierValue = 31,
  [pbr::OriginalName("BATTLE_ACTION_SET_BLACKBOARD_FROM_PRESET")] BattleActionSetBlackboardFromPreset = 32,
}

public enum BattleTriggerType {
  [pbr::OriginalName("BATTLE_TRIGGER_TYPE_EXECUTE")] Execute = 0,
  [pbr::OriginalName("BATTLE_TRIGGER_TYPE_TICK")] Tick = 1,
  [pbr::OriginalName("BATTLE_TRIGGER_TYPE_END")] End = 2,
}

public enum BattleActionOwnerType {
  [pbr::OriginalName("BATTLE_ACTION_OWNER_TYPE_NONE")] None = 0,
  [pbr::OriginalName("BATTLE_ACTION_OWNER_TYPE_BUFF")] Buff = 1,
  [pbr::OriginalName("BATTLE_ACTION_OWNER_TYPE_SKILL")] Skill = 2,
}

public enum BattleHubKeyType {
  [pbr::OriginalName("BATTLE_HUB_KEY_TYPE_NONE")] None = 0,
  [pbr::OriginalName("DAMAGE_TYPE")] DamageType = 1,
  [pbr::OriginalName("DAMAGE_DECORATE_MASK")] DamageDecorateMask = 2,
  [pbr::OriginalName("DAMAGE_IS_CRIT")] DamageIsCrit = 3,
  [pbr::OriginalName("ENTITY_NUM")] EntityNum = 4,
  [pbr::OriginalName("SKILL_TYPE")] SkillType = 5,
}

public enum AtkCalculationType {
  [pbr::OriginalName("ATK_SCALE")] AtkScale = 0,
  [pbr::OriginalName("DEFINITE_VALUE")] DefiniteValue = 1,
  [pbr::OriginalName("MULTIPLY_ATTRIBUTE")] MultiplyAttribute = 2,
  [pbr::OriginalName("BREAKING_ATK_CALC")] BreakingAtkCalc = 3,
  [pbr::OriginalName("PRIMARY_ATTR_CALC")] PrimaryAttrCalc = 4,
}

public enum DamageProcessorType {
  [pbr::OriginalName("ATTACKER_CRIT_RATE")] AttackerCritRate = 0,
  [pbr::OriginalName("ATTACKER_ATK")] AttackerAtk = 1,
  [pbr::OriginalName("ATTACKER_CRIT_DAMAGE")] AttackerCritDamage = 2,
  [pbr::OriginalName("ATTACKER_PEN")] AttackerPen = 3,
  [pbr::OriginalName("DAMAGE_SCALE")] DamageScale = 4,
  [pbr::OriginalName("DEFENDER_DEF")] DefenderDef = 5,
  [pbr::OriginalName("MODIFY_CALCULATE_RESULT")] ModifyCalculateResult = 6,
  [pbr::OriginalName("INSTANT_MODIFY_ATTRIBUTE")] InstantModifyAttribute = 7,
}

public enum SkillCostType {
  [pbr::OriginalName("SKILL_COST_ULT_SP")] SkillCostUltSp = 0,
  [pbr::OriginalName("SKILL_COST_ATB")] SkillCostAtb = 1,
}

public enum HealProcessorType {
  [pbr::OriginalName("HEAL_PROCESSOR_EMPTY_TYPE")] HealProcessorEmptyType = 0,
  [pbr::OriginalName("HEAL_MODIFY_RESULT")] HealModifyResult = 1,
  [pbr::OriginalName("HEAL_INSTANT_MODIFY_ATTRIBUTE")] HealInstantModifyAttribute = 2,
}

public enum TeamCharIdType {
  [pbr::OriginalName("obj_id")] ObjId = 0,
  [pbr::OriginalName("preset_char_id")] PresetCharId = 1,
}

public enum ActivityType {
  [pbr::OriginalName("ACTIVITY_TYPE_DEFAULT")] Default = 0,
  [pbr::OriginalName("ACTIVITY_TYPE_CHECKIN")] Checkin = 1,
}

public enum CharType {
  [pbr::OriginalName("default_type")] DefaultType = 0,
  [pbr::OriginalName("trial_type")] TrialType = 1,
}

public enum CharBagTeamType {
  [pbr::OriginalName("CHAR_BAG_TEAM_TYPE_MAIN")] Main = 0,
  [pbr::OriginalName("CHAR_BAG_TEAM_TYPE_TEMP")] Temp = 1,
}

public enum FactoryFormulaVisibleReason {
  [pbr::OriginalName("VISIBLE_REASON_GET_NEW_ITEM")] VisibleReasonGetNewItem = 0,
  [pbr::OriginalName("VISIBLE_REASON_UNLOCK")] VisibleReasonUnlock = 1,
  [pbr::OriginalName("VISIBLE_REASON_ITEM_VISIBLE")] VisibleReasonItemVisible = 2,
  [pbr::OriginalName("VISIBLE_REASON_NEW_BUILDING")] VisibleReasonNewBuilding = 3,
  [pbr::OriginalName("VISIBLE_REASON_NEW_BUILDING_MODE")] VisibleReasonNewBuildingMode = 4,
  [pbr::OriginalName("VISIBLE_REASON_NEW_FORMULA_DONE")] VisibleReasonNewFormulaDone = 5,
}

public enum SCD_FACTORY_HS_CE_EventType {
  [pbr::OriginalName("SCD_FACTORY_HS_CE_None")] ScdFactoryHsCeNone = 0,
  [pbr::OriginalName("SCD_FACTORY_HS_CE_InPowerUp")] ScdFactoryHsCeInPowerUp = 1,
  [pbr::OriginalName("SCD_FACTORY_HS_CE_InPowerDown")] ScdFactoryHsCeInPowerDown = 2,
  [pbr::OriginalName("SCD_FACTORY_HS_CE_FluidHeightChange")] ScdFactoryHsCeFluidHeightChange = 3,
  [pbr::OriginalName("SCD_FACTORY_HS_CE_FluidContentChange")] ScdFactoryHsCeFluidContentChange = 4,
  [pbr::OriginalName("SCD_FACTORY_HS_CE_ProducerChangeFormula")] ScdFactoryHsCeProducerChangeFormula = 5,
  [pbr::OriginalName("SCD_FACTORY_HS_CE_BusLoaderChangeLastPutIn")] ScdFactoryHsCeBusLoaderChangeLastPutIn = 6,
  [pbr::OriginalName("SCD_FACTORY_HS_CE_BattleEnergyChange")] ScdFactoryHsCeBattleEnergyChange = 7,
  [pbr::OriginalName("SCD_FACTORY_HS_CE_JoinWorking")] ScdFactoryHsCeJoinWorking = 8,
  [pbr::OriginalName("SCD_FACTORY_HS_CE_LeaveWorking")] ScdFactoryHsCeLeaveWorking = 9,
  [pbr::OriginalName("SCD_FACTORY_HS_CE_RegionPower")] ScdFactoryHsCeRegionPower = 10,
  [pbr::OriginalName("SCD_FACTORY_HS_CE_BlockComponent")] ScdFactoryHsCeBlockComponent = 11,
  [pbr::OriginalName("SCD_FACTORY_HS_CE_UnBlockComponent")] ScdFactoryHsCeUnBlockComponent = 12,
  [pbr::OriginalName("SCD_FACTORY_HS_CE_SubPortBlock")] ScdFactoryHsCeSubPortBlock = 21,
  [pbr::OriginalName("SCD_FACTORY_HS_CE_SubPortUnBlock")] ScdFactoryHsCeSubPortUnBlock = 22,
  [pbr::OriginalName("SCD_FACTORY_HS_CE_ChangeProduct")] ScdFactoryHsCeChangeProduct = 31,
}

public enum FactoryOpType {
  [pbr::OriginalName("NONE")] None = 0,
  [pbr::OriginalName("PLACE")] Place = 1,
  [pbr::OriginalName("PLACE_CONVEYOR")] PlaceConveyor = 2,
  [pbr::OriginalName("DISMANTLE")] Dismantle = 3,
  [pbr::OriginalName("SET_SELECT_TARGET")] SetSelectTarget = 5,
  [pbr::OriginalName("ENABLE_NODE")] EnableNode = 6,
  [pbr::OriginalName("MOVE_NODE")] MoveNode = 7,
  [pbr::OriginalName("DISMANTLE_BOX_CONVEYOR")] DismantleBoxConveyor = 8,
  [pbr::OriginalName("REPAIR_NODE")] RepairNode = 9,
  [pbr::OriginalName("MOVE_ITEM_CACHE_TO_CACHE")] MoveItemCacheToCache = 10,
  [pbr::OriginalName("MOVE_ITEM_BAG_TO_CACHE")] MoveItemBagToCache = 11,
  [pbr::OriginalName("MOVE_ITEM_CACHE_TO_BAG")] MoveItemCacheToBag = 12,
  [pbr::OriginalName("MOVE_ITEM_DEPOT_TO_CACHE")] MoveItemDepotToCache = 13,
  [pbr::OriginalName("MOVE_ITEM_CACHE_TO_DEPOT")] MoveItemCacheToDepot = 14,
  [pbr::OriginalName("MOVE_ITEM_CONVEYOR_TO_BAG")] MoveItemConveyorToBag = 15,
  [pbr::OriginalName("CACHE_TRANSPORT_TRANSFER")] CacheTransportTransfer = 16,
  [pbr::OriginalName("CACHE_TRANSPORT_ENABLE")] CacheTransportEnable = 17,
  [pbr::OriginalName("SET_TRAVEL_POLE_DEFAULT_NEXT")] SetTravelPoleDefaultNext = 18,
  [pbr::OriginalName("USE_HEAL_TOWER_POINT")] UseHealTowerPoint = 19,
  [pbr::OriginalName("BATTLE_REPAIR")] BattleRepair = 20,
  [pbr::OriginalName("ADD_CONNECTION")] AddConnection = 21,
  [pbr::OriginalName("DEL_CONNECTION")] DelConnection = 22,
  [pbr::OriginalName("GRID_BOX_INNER_MOVE")] GridBoxInnerMove = 31,
  [pbr::OriginalName("GRID_BOX_INNER_SPLIT")] GridBoxInnerSplit = 32,
  [pbr::OriginalName("MOVE_ITEM_BAG_TO_GRID_BOX")] MoveItemBagToGridBox = 33,
  [pbr::OriginalName("MOVE_ITEM_GRID_BOX_TO_BAG")] MoveItemGridBoxToBag = 34,
  [pbr::OriginalName("MOVE_ITEM_DEPOT_TO_GRID_BOX")] MoveItemDepotToGridBox = 35,
  [pbr::OriginalName("MOVE_ITEM_GRID_BOX_TO_DEPOT")] MoveItemGridBoxToDepot = 36,
  [pbr::OriginalName("MOVE_ALL_CACHE_OUT_ITEM_TO_BAG")] MoveAllCacheOutItemToBag = 37,
  [pbr::OriginalName("QUICK_PUT_BATTERY")] QuickPutBattery = 38,
  [pbr::OriginalName("CHANGE_PRODUCER_MODE")] ChangeProducerMode = 41,
  [pbr::OriginalName("REVERSE_FLUID_CONVEYOR_DIRECTION")] ReverseFluidConveyorDirection = 42,
  [pbr::OriginalName("DISMANTLE_BATCH")] DismantleBatch = 43,
  [pbr::OriginalName("TAKE_OUT_FLUID_FROM_LIQUID_BODY")] TakeOutFluidFromLiquidBody = 51,
  [pbr::OriginalName("PUT_IN_FLUID_TO_LIQUID_BODY")] PutInFluidToLiquidBody = 52,
  [pbr::OriginalName("FILLING_FLUID_COM_WITH_BAG")] FillingFluidComWithBag = 53,
  [pbr::OriginalName("FILLING_FLUID_COM_WITH_DEPOT")] FillingFluidComWithDepot = 54,
}

public enum FactoryOpRetCode {
  [pbr::OriginalName("FactoryOpRetCode_OK")] Ok = 0,
  [pbr::OriginalName("FAIL")] Fail = 1,
  [pbr::OriginalName("UNKNOWN_OP_TYPE")] UnknownOpType = 2,
  [pbr::OriginalName("MESH_CONFLICT")] MeshConflict = 3,
  [pbr::OriginalName("MUST_IN_MAIN")] MustInMain = 4,
  [pbr::OriginalName("NO_BUILDING_ITEM")] NoBuildingItem = 5,
}

public enum RetFluidWithLiquidBody {
  [pbr::OriginalName("RET_FLUID_WITH_LIQUID_BODY_OK")] Ok = 0,
  [pbr::OriginalName("RET_FLUID_WITH_LIQUID_BODY_None")] None = 1,
  [pbr::OriginalName("RET_FLUID_WITH_LIQUID_BODY_PartialByBag")] PartialByBag = 2,
  [pbr::OriginalName("RET_FLUID_WITH_LIQUID_BODY_PartialByLiquidBody")] PartialByLiquidBody = 3,
}

public enum ItemBagUseType {
  [pbr::OriginalName("item_bag_use_type_default")] Default = 0,
  [pbr::OriginalName("item_bag_use_type_equip_medicine")] EquipMedicine = 1,
  [pbr::OriginalName("item_bag_use_type_bomb")] Bomb = 2,
}

public enum EUseItemResult {
  [pbr::OriginalName("E_USE_ITEM_RESULT_OK")] Ok = 0,
  [pbr::OriginalName("E_USE_ITEM_RESULT_UnknownFail")] UnknownFail = 1,
  [pbr::OriginalName("E_USE_ITEM_RESULT_CondiitonFail")] CondiitonFail = 2,
}

public enum ClientPlatformType {
  [pbr::OriginalName("DEFAULT")] Default = 0,
  [pbr::OriginalName("ANDRIOD")] Andriod = 1,
  [pbr::OriginalName("IOS")] Ios = 2,
  [pbr::OriginalName("WINDOWS")] Windows = 3,
  [pbr::OriginalName("PLAYSTATION")] Playstation = 4,
}

public enum AreaType {
  [pbr::OriginalName("Default")] Default = 0,
  [pbr::OriginalName("China")] China = 1,
  [pbr::OriginalName("Oversea")] Oversea = 2,
  [pbr::OriginalName("ChinaPre")] ChinaPre = 10,
  [pbr::OriginalName("OverseaPre")] OverseaPre = 11,
}

public enum EnvType {
  [pbr::OriginalName("DEV")] Dev = 0,
  [pbr::OriginalName("STABLE")] Stable = 1,
  [pbr::OriginalName("PROD")] Prod = 2,
}

public enum Gender {
  [pbr::OriginalName("GEN_INVALID")] GenInvalid = 0,
  [pbr::OriginalName("GEN_MALE")] GenMale = 1,
  [pbr::OriginalName("GEN_FEMALE")] GenFemale = 2,
  [pbr::OriginalName("GEN_TOTAL")] GenTotal = 3,
}

public enum RacingAchievementStatus {
  [pbr::OriginalName("Racing_Status_None")] RacingStatusNone = 0,
  [pbr::OriginalName("Racing_Status_Active")] RacingStatusActive = 1,
  [pbr::OriginalName("Racing_Status_Completed")] RacingStatusCompleted = 2,
  [pbr::OriginalName("Racing_Status_Received")] RacingStatusReceived = 3,
}

public enum MotionState {
  [pbr::OriginalName("MOTION_NONE")] MotionNone = 0,
  [pbr::OriginalName("MOTION_STANDBY")] MotionStandby = 1,
  [pbr::OriginalName("MOTION_STANDBY_MOVE")] MotionStandbyMove = 2,
  [pbr::OriginalName("MOTION_WALK")] MotionWalk = 3,
  [pbr::OriginalName("MOTION_RUN")] MotionRun = 4,
  [pbr::OriginalName("MOTION_CLIMB")] MotionClimb = 5,
  [pbr::OriginalName("MOTION_CLIMB_JUMP")] MotionClimbJump = 6,
}

public enum EntityOpType {
  [pbr::OriginalName("ENTITY_OP_TYPE_NONE")] None = 0,
  [pbr::OriginalName("ENTITY_OP_TYPE_ID")] Id = 2,
}

public enum SnsGetType {
  [pbr::OriginalName("All")] All = 0,
  [pbr::OriginalName("Moment")] Moment = 1,
  [pbr::OriginalName("Chat")] Chat = 2,
}

public enum SnsMomentOption {
  [pbr::OriginalName("Invalid")] Invalid = 0,
  [pbr::OriginalName("Like")] Like = 1,
  [pbr::OriginalName("Reply")] Reply = 2,
}

public enum SpInteractiveOpType {
  [pbr::OriginalName("SP_INTERACTIVE_OP_TYPE_NONE")] None = 0,
  [pbr::OriginalName("DOODAD_COMMON_PICK")] DoodadCommonPick = 1,
  [pbr::OriginalName("DOODAD_COMMON_BREAK")] DoodadCommonBreak = 2,
  [pbr::OriginalName("COMMON_ACTIVE")] CommonActive = 3,
  [pbr::OriginalName("SP_INTERACTIVE_OP_TYPE_MAX")] Max = 4,
}

public enum SubmitSourceType {
  [pbr::OriginalName("SUBMIT_SOURCE_TYPE_NONE")] None = 0,
  [pbr::OriginalName("SUBMIT_SOURCE_TYPE_MISSION")] Mission = 1,
  [pbr::OriginalName("SUBMIT_SOURCE_TYPE_INTERACTIVE")] Interactive = 2,
}

public enum TdSettlementType {
  [pbr::OriginalName("TD_Settlement_None")] TdSettlementNone = 0,
  [pbr::OriginalName("TD_Settlement_Passed")] TdSettlementPassed = 1,
  [pbr::OriginalName("TD_Settlement_Leave")] TdSettlementLeave = 2,
  [pbr::OriginalName("TD_Settlement_Defeat")] TdSettlementDefeat = 3,
}

#endregion

#region Messages
public sealed partial class Header : pb::IMessage<Header> {
  private static readonly pb::MessageParser<Header> _parser = new pb::MessageParser<Header>(() => new Header());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<Header> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[0]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public Header() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public Header(Header other) : this() {
    version_ = other.version_;
    messageType_ = other.messageType_;
    seqId_ = other.seqId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public Header Clone() {
    return new Header(this);
  }

  /// <summary>Field number for the "version" field.</summary>
  public const int VersionFieldNumber = 1;
  private global::Version version_ = 0;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::Version Version {
    get { return version_; }
    set {
      version_ = value;
    }
  }

  /// <summary>Field number for the "message_type" field.</summary>
  public const int MessageTypeFieldNumber = 2;
  private global::MessageType messageType_ = 0;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::MessageType MessageType {
    get { return messageType_; }
    set {
      messageType_ = value;
    }
  }

  /// <summary>Field number for the "seq_id" field.</summary>
  public const int SeqIdFieldNumber = 3;
  private uint seqId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint SeqId {
    get { return seqId_; }
    set {
      seqId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as Header);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(Header other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Version != other.Version) return false;
    if (MessageType != other.MessageType) return false;
    if (SeqId != other.SeqId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Version != 0) hash ^= Version.GetHashCode();
    if (MessageType != 0) hash ^= MessageType.GetHashCode();
    if (SeqId != 0) hash ^= SeqId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Version != 0) {
      output.WriteRawTag(8);
      output.WriteEnum((int) Version);
    }
    if (MessageType != 0) {
      output.WriteRawTag(16);
      output.WriteEnum((int) MessageType);
    }
    if (SeqId != 0) {
      output.WriteRawTag(24);
      output.WriteUInt32(SeqId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Version != 0) {
      size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Version);
    }
    if (MessageType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) MessageType);
    }
    if (SeqId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(SeqId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(Header other) {
    if (other == null) {
      return;
    }
    if (other.Version != 0) {
      Version = other.Version;
    }
    if (other.MessageType != 0) {
      MessageType = other.MessageType;
    }
    if (other.SeqId != 0) {
      SeqId = other.SeqId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          version_ = (global::Version) input.ReadEnum();
          break;
        }
        case 16: {
          messageType_ = (global::MessageType) input.ReadEnum();
          break;
        }
        case 24: {
          SeqId = input.ReadUInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class AuthRequest : pb::IMessage<AuthRequest> {
  private static readonly pb::MessageParser<AuthRequest> _parser = new pb::MessageParser<AuthRequest>(() => new AuthRequest());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<AuthRequest> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public AuthRequest() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public AuthRequest(AuthRequest other) : this() {
    token_ = other.token_;
    uid_ = other.uid_;
    did_ = other.did_;
    appId_ = other.appId_;
    os_ = other.os_;
    osVersion_ = other.osVersion_;
    appVersion_ = other.appVersion_;
    logSdkVersion_ = other.logSdkVersion_;
    deviceModel_ = other.deviceModel_;
    networkType_ = other.networkType_;
    deviceName_ = other.deviceName_;
    serverName_ = other.serverName_;
    serverChannel_ = other.serverChannel_;
    gameLaunchTime_ = other.gameLaunchTime_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public AuthRequest Clone() {
    return new AuthRequest(this);
  }

  /// <summary>Field number for the "token" field.</summary>
  public const int TokenFieldNumber = 1;
  private string token_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string Token {
    get { return token_; }
    set {
      token_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "uid" field.</summary>
  public const int UidFieldNumber = 2;
  private string uid_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string Uid {
    get { return uid_; }
    set {
      uid_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "did" field.</summary>
  public const int DidFieldNumber = 3;
  private string did_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string Did {
    get { return did_; }
    set {
      did_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "app_id" field.</summary>
  public const int AppIdFieldNumber = 4;
  private string appId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string AppId {
    get { return appId_; }
    set {
      appId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "os" field.</summary>
  public const int OsFieldNumber = 5;
  private string os_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string Os {
    get { return os_; }
    set {
      os_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "os_version" field.</summary>
  public const int OsVersionFieldNumber = 6;
  private string osVersion_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string OsVersion {
    get { return osVersion_; }
    set {
      osVersion_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "app_version" field.</summary>
  public const int AppVersionFieldNumber = 7;
  private string appVersion_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string AppVersion {
    get { return appVersion_; }
    set {
      appVersion_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "log_sdk_version" field.</summary>
  public const int LogSdkVersionFieldNumber = 8;
  private string logSdkVersion_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string LogSdkVersion {
    get { return logSdkVersion_; }
    set {
      logSdkVersion_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "device_model" field.</summary>
  public const int DeviceModelFieldNumber = 9;
  private string deviceModel_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string DeviceModel {
    get { return deviceModel_; }
    set {
      deviceModel_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "network_type" field.</summary>
  public const int NetworkTypeFieldNumber = 10;
  private string networkType_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string NetworkType {
    get { return networkType_; }
    set {
      networkType_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "device_name" field.</summary>
  public const int DeviceNameFieldNumber = 11;
  private string deviceName_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string DeviceName {
    get { return deviceName_; }
    set {
      deviceName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "server_name" field.</summary>
  public const int ServerNameFieldNumber = 12;
  private string serverName_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ServerName {
    get { return serverName_; }
    set {
      serverName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "server_channel" field.</summary>
  public const int ServerChannelFieldNumber = 13;
  private string serverChannel_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ServerChannel {
    get { return serverChannel_; }
    set {
      serverChannel_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "game_launch_time" field.</summary>
  public const int GameLaunchTimeFieldNumber = 14;
  private long gameLaunchTime_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long GameLaunchTime {
    get { return gameLaunchTime_; }
    set {
      gameLaunchTime_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as AuthRequest);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(AuthRequest other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Token != other.Token) return false;
    if (Uid != other.Uid) return false;
    if (Did != other.Did) return false;
    if (AppId != other.AppId) return false;
    if (Os != other.Os) return false;
    if (OsVersion != other.OsVersion) return false;
    if (AppVersion != other.AppVersion) return false;
    if (LogSdkVersion != other.LogSdkVersion) return false;
    if (DeviceModel != other.DeviceModel) return false;
    if (NetworkType != other.NetworkType) return false;
    if (DeviceName != other.DeviceName) return false;
    if (ServerName != other.ServerName) return false;
    if (ServerChannel != other.ServerChannel) return false;
    if (GameLaunchTime != other.GameLaunchTime) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Token.Length != 0) hash ^= Token.GetHashCode();
    if (Uid.Length != 0) hash ^= Uid.GetHashCode();
    if (Did.Length != 0) hash ^= Did.GetHashCode();
    if (AppId.Length != 0) hash ^= AppId.GetHashCode();
    if (Os.Length != 0) hash ^= Os.GetHashCode();
    if (OsVersion.Length != 0) hash ^= OsVersion.GetHashCode();
    if (AppVersion.Length != 0) hash ^= AppVersion.GetHashCode();
    if (LogSdkVersion.Length != 0) hash ^= LogSdkVersion.GetHashCode();
    if (DeviceModel.Length != 0) hash ^= DeviceModel.GetHashCode();
    if (NetworkType.Length != 0) hash ^= NetworkType.GetHashCode();
    if (DeviceName.Length != 0) hash ^= DeviceName.GetHashCode();
    if (ServerName.Length != 0) hash ^= ServerName.GetHashCode();
    if (ServerChannel.Length != 0) hash ^= ServerChannel.GetHashCode();
    if (GameLaunchTime != 0L) hash ^= GameLaunchTime.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Token.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(Token);
    }
    if (Uid.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(Uid);
    }
    if (Did.Length != 0) {
      output.WriteRawTag(26);
      output.WriteString(Did);
    }
    if (AppId.Length != 0) {
      output.WriteRawTag(34);
      output.WriteString(AppId);
    }
    if (Os.Length != 0) {
      output.WriteRawTag(42);
      output.WriteString(Os);
    }
    if (OsVersion.Length != 0) {
      output.WriteRawTag(50);
      output.WriteString(OsVersion);
    }
    if (AppVersion.Length != 0) {
      output.WriteRawTag(58);
      output.WriteString(AppVersion);
    }
    if (LogSdkVersion.Length != 0) {
      output.WriteRawTag(66);
      output.WriteString(LogSdkVersion);
    }
    if (DeviceModel.Length != 0) {
      output.WriteRawTag(74);
      output.WriteString(DeviceModel);
    }
    if (NetworkType.Length != 0) {
      output.WriteRawTag(82);
      output.WriteString(NetworkType);
    }
    if (DeviceName.Length != 0) {
      output.WriteRawTag(90);
      output.WriteString(DeviceName);
    }
    if (ServerName.Length != 0) {
      output.WriteRawTag(98);
      output.WriteString(ServerName);
    }
    if (ServerChannel.Length != 0) {
      output.WriteRawTag(106);
      output.WriteString(ServerChannel);
    }
    if (GameLaunchTime != 0L) {
      output.WriteRawTag(112);
      output.WriteInt64(GameLaunchTime);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Token.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(Token);
    }
    if (Uid.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(Uid);
    }
    if (Did.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(Did);
    }
    if (AppId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(AppId);
    }
    if (Os.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(Os);
    }
    if (OsVersion.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(OsVersion);
    }
    if (AppVersion.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(AppVersion);
    }
    if (LogSdkVersion.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(LogSdkVersion);
    }
    if (DeviceModel.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(DeviceModel);
    }
    if (NetworkType.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(NetworkType);
    }
    if (DeviceName.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(DeviceName);
    }
    if (ServerName.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ServerName);
    }
    if (ServerChannel.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ServerChannel);
    }
    if (GameLaunchTime != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(GameLaunchTime);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(AuthRequest other) {
    if (other == null) {
      return;
    }
    if (other.Token.Length != 0) {
      Token = other.Token;
    }
    if (other.Uid.Length != 0) {
      Uid = other.Uid;
    }
    if (other.Did.Length != 0) {
      Did = other.Did;
    }
    if (other.AppId.Length != 0) {
      AppId = other.AppId;
    }
    if (other.Os.Length != 0) {
      Os = other.Os;
    }
    if (other.OsVersion.Length != 0) {
      OsVersion = other.OsVersion;
    }
    if (other.AppVersion.Length != 0) {
      AppVersion = other.AppVersion;
    }
    if (other.LogSdkVersion.Length != 0) {
      LogSdkVersion = other.LogSdkVersion;
    }
    if (other.DeviceModel.Length != 0) {
      DeviceModel = other.DeviceModel;
    }
    if (other.NetworkType.Length != 0) {
      NetworkType = other.NetworkType;
    }
    if (other.DeviceName.Length != 0) {
      DeviceName = other.DeviceName;
    }
    if (other.ServerName.Length != 0) {
      ServerName = other.ServerName;
    }
    if (other.ServerChannel.Length != 0) {
      ServerChannel = other.ServerChannel;
    }
    if (other.GameLaunchTime != 0L) {
      GameLaunchTime = other.GameLaunchTime;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          Token = input.ReadString();
          break;
        }
        case 18: {
          Uid = input.ReadString();
          break;
        }
        case 26: {
          Did = input.ReadString();
          break;
        }
        case 34: {
          AppId = input.ReadString();
          break;
        }
        case 42: {
          Os = input.ReadString();
          break;
        }
        case 50: {
          OsVersion = input.ReadString();
          break;
        }
        case 58: {
          AppVersion = input.ReadString();
          break;
        }
        case 66: {
          LogSdkVersion = input.ReadString();
          break;
        }
        case 74: {
          DeviceModel = input.ReadString();
          break;
        }
        case 82: {
          NetworkType = input.ReadString();
          break;
        }
        case 90: {
          DeviceName = input.ReadString();
          break;
        }
        case 98: {
          ServerName = input.ReadString();
          break;
        }
        case 106: {
          ServerChannel = input.ReadString();
          break;
        }
        case 112: {
          GameLaunchTime = input.ReadInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class AuthResponse : pb::IMessage<AuthResponse> {
  private static readonly pb::MessageParser<AuthResponse> _parser = new pb::MessageParser<AuthResponse>(() => new AuthResponse());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<AuthResponse> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[2]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public AuthResponse() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public AuthResponse(AuthResponse other) : this() {
    status_ = other.status_;
    message_ = other.message_;
    encryptType_ = other.encryptType_;
    key_ = other.key_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public AuthResponse Clone() {
    return new AuthResponse(this);
  }

  /// <summary>Field number for the "status" field.</summary>
  public const int StatusFieldNumber = 1;
  private global::ResponseStatus status_ = 0;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ResponseStatus Status {
    get { return status_; }
    set {
      status_ = value;
    }
  }

  /// <summary>Field number for the "message" field.</summary>
  public const int MessageFieldNumber = 2;
  private string message_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string Message {
    get { return message_; }
    set {
      message_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "encrypt_type" field.</summary>
  public const int EncryptTypeFieldNumber = 3;
  private global::EncryptType encryptType_ = 0;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::EncryptType EncryptType {
    get { return encryptType_; }
    set {
      encryptType_ = value;
    }
  }

  /// <summary>Field number for the "key" field.</summary>
  public const int KeyFieldNumber = 4;
  private string key_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string Key {
    get { return key_; }
    set {
      key_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as AuthResponse);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(AuthResponse other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Status != other.Status) return false;
    if (Message != other.Message) return false;
    if (EncryptType != other.EncryptType) return false;
    if (Key != other.Key) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Status != 0) hash ^= Status.GetHashCode();
    if (Message.Length != 0) hash ^= Message.GetHashCode();
    if (EncryptType != 0) hash ^= EncryptType.GetHashCode();
    if (Key.Length != 0) hash ^= Key.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Status != 0) {
      output.WriteRawTag(8);
      output.WriteEnum((int) Status);
    }
    if (Message.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(Message);
    }
    if (EncryptType != 0) {
      output.WriteRawTag(24);
      output.WriteEnum((int) EncryptType);
    }
    if (Key.Length != 0) {
      output.WriteRawTag(34);
      output.WriteString(Key);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Status != 0) {
      size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Status);
    }
    if (Message.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(Message);
    }
    if (EncryptType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) EncryptType);
    }
    if (Key.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(Key);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(AuthResponse other) {
    if (other == null) {
      return;
    }
    if (other.Status != 0) {
      Status = other.Status;
    }
    if (other.Message.Length != 0) {
      Message = other.Message;
    }
    if (other.EncryptType != 0) {
      EncryptType = other.EncryptType;
    }
    if (other.Key.Length != 0) {
      Key = other.Key;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          status_ = (global::ResponseStatus) input.ReadEnum();
          break;
        }
        case 18: {
          Message = input.ReadString();
          break;
        }
        case 24: {
          encryptType_ = (global::EncryptType) input.ReadEnum();
          break;
        }
        case 34: {
          Key = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class LogIntParam : pb::IMessage<LogIntParam> {
  private static readonly pb::MessageParser<LogIntParam> _parser = new pb::MessageParser<LogIntParam>(() => new LogIntParam());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<LogIntParam> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[3]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public LogIntParam() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public LogIntParam(LogIntParam other) : this() {
    val_ = other.val_;
    index_ = other.index_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public LogIntParam Clone() {
    return new LogIntParam(this);
  }

  /// <summary>Field number for the "val" field.</summary>
  public const int ValFieldNumber = 1;
  private long val_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long Val {
    get { return val_; }
    set {
      val_ = value;
    }
  }

  /// <summary>Field number for the "index" field.</summary>
  public const int IndexFieldNumber = 2;
  private int index_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Index {
    get { return index_; }
    set {
      index_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as LogIntParam);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(LogIntParam other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Val != other.Val) return false;
    if (Index != other.Index) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Val != 0L) hash ^= Val.GetHashCode();
    if (Index != 0) hash ^= Index.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Val != 0L) {
      output.WriteRawTag(8);
      output.WriteInt64(Val);
    }
    if (Index != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(Index);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Val != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(Val);
    }
    if (Index != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Index);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(LogIntParam other) {
    if (other == null) {
      return;
    }
    if (other.Val != 0L) {
      Val = other.Val;
    }
    if (other.Index != 0) {
      Index = other.Index;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Val = input.ReadInt64();
          break;
        }
        case 16: {
          Index = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class LogFloatParam : pb::IMessage<LogFloatParam> {
  private static readonly pb::MessageParser<LogFloatParam> _parser = new pb::MessageParser<LogFloatParam>(() => new LogFloatParam());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<LogFloatParam> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[4]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public LogFloatParam() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public LogFloatParam(LogFloatParam other) : this() {
    val_ = other.val_;
    index_ = other.index_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public LogFloatParam Clone() {
    return new LogFloatParam(this);
  }

  /// <summary>Field number for the "val" field.</summary>
  public const int ValFieldNumber = 1;
  private float val_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public float Val {
    get { return val_; }
    set {
      val_ = value;
    }
  }

  /// <summary>Field number for the "index" field.</summary>
  public const int IndexFieldNumber = 2;
  private int index_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Index {
    get { return index_; }
    set {
      index_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as LogFloatParam);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(LogFloatParam other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(Val, other.Val)) return false;
    if (Index != other.Index) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Val != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(Val);
    if (Index != 0) hash ^= Index.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Val != 0F) {
      output.WriteRawTag(13);
      output.WriteFloat(Val);
    }
    if (Index != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(Index);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Val != 0F) {
      size += 1 + 4;
    }
    if (Index != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Index);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(LogFloatParam other) {
    if (other == null) {
      return;
    }
    if (other.Val != 0F) {
      Val = other.Val;
    }
    if (other.Index != 0) {
      Index = other.Index;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 13: {
          Val = input.ReadFloat();
          break;
        }
        case 16: {
          Index = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class LogDoubleParam : pb::IMessage<LogDoubleParam> {
  private static readonly pb::MessageParser<LogDoubleParam> _parser = new pb::MessageParser<LogDoubleParam>(() => new LogDoubleParam());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<LogDoubleParam> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[5]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public LogDoubleParam() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public LogDoubleParam(LogDoubleParam other) : this() {
    val_ = other.val_;
    index_ = other.index_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public LogDoubleParam Clone() {
    return new LogDoubleParam(this);
  }

  /// <summary>Field number for the "val" field.</summary>
  public const int ValFieldNumber = 1;
  private double val_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public double Val {
    get { return val_; }
    set {
      val_ = value;
    }
  }

  /// <summary>Field number for the "index" field.</summary>
  public const int IndexFieldNumber = 2;
  private int index_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Index {
    get { return index_; }
    set {
      index_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as LogDoubleParam);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(LogDoubleParam other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(Val, other.Val)) return false;
    if (Index != other.Index) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Val != 0D) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(Val);
    if (Index != 0) hash ^= Index.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Val != 0D) {
      output.WriteRawTag(9);
      output.WriteDouble(Val);
    }
    if (Index != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(Index);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Val != 0D) {
      size += 1 + 8;
    }
    if (Index != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Index);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(LogDoubleParam other) {
    if (other == null) {
      return;
    }
    if (other.Val != 0D) {
      Val = other.Val;
    }
    if (other.Index != 0) {
      Index = other.Index;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 9: {
          Val = input.ReadDouble();
          break;
        }
        case 16: {
          Index = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class LogBoolParam : pb::IMessage<LogBoolParam> {
  private static readonly pb::MessageParser<LogBoolParam> _parser = new pb::MessageParser<LogBoolParam>(() => new LogBoolParam());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<LogBoolParam> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[6]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public LogBoolParam() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public LogBoolParam(LogBoolParam other) : this() {
    val_ = other.val_;
    index_ = other.index_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public LogBoolParam Clone() {
    return new LogBoolParam(this);
  }

  /// <summary>Field number for the "val" field.</summary>
  public const int ValFieldNumber = 1;
  private string val_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string Val {
    get { return val_; }
    set {
      val_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "index" field.</summary>
  public const int IndexFieldNumber = 2;
  private int index_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Index {
    get { return index_; }
    set {
      index_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as LogBoolParam);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(LogBoolParam other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Val != other.Val) return false;
    if (Index != other.Index) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Val.Length != 0) hash ^= Val.GetHashCode();
    if (Index != 0) hash ^= Index.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Val.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(Val);
    }
    if (Index != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(Index);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Val.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(Val);
    }
    if (Index != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Index);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(LogBoolParam other) {
    if (other == null) {
      return;
    }
    if (other.Val.Length != 0) {
      Val = other.Val;
    }
    if (other.Index != 0) {
      Index = other.Index;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          Val = input.ReadString();
          break;
        }
        case 16: {
          Index = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class LogStringParam : pb::IMessage<LogStringParam> {
  private static readonly pb::MessageParser<LogStringParam> _parser = new pb::MessageParser<LogStringParam>(() => new LogStringParam());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<LogStringParam> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[7]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public LogStringParam() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public LogStringParam(LogStringParam other) : this() {
    val_ = other.val_;
    index_ = other.index_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public LogStringParam Clone() {
    return new LogStringParam(this);
  }

  /// <summary>Field number for the "val" field.</summary>
  public const int ValFieldNumber = 1;
  private string val_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string Val {
    get { return val_; }
    set {
      val_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "index" field.</summary>
  public const int IndexFieldNumber = 2;
  private int index_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Index {
    get { return index_; }
    set {
      index_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as LogStringParam);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(LogStringParam other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Val != other.Val) return false;
    if (Index != other.Index) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Val.Length != 0) hash ^= Val.GetHashCode();
    if (Index != 0) hash ^= Index.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Val.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(Val);
    }
    if (Index != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(Index);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Val.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(Val);
    }
    if (Index != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Index);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(LogStringParam other) {
    if (other == null) {
      return;
    }
    if (other.Val.Length != 0) {
      Val = other.Val;
    }
    if (other.Index != 0) {
      Index = other.Index;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          Val = input.ReadString();
          break;
        }
        case 16: {
          Index = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class LogMessage : pb::IMessage<LogMessage> {
  private static readonly pb::MessageParser<LogMessage> _parser = new pb::MessageParser<LogMessage>(() => new LogMessage());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<LogMessage> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[8]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public LogMessage() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public LogMessage(LogMessage other) : this() {
    logTemplate_ = other.logTemplate_;
    templateHash_ = other.templateHash_;
    logLevel_ = other.logLevel_;
    channel_ = other.channel_;
    time_ = other.time_;
    roleId_ = other.roleId_;
    paramsIntList_ = other.paramsIntList_.Clone();
    paramsFloatList_ = other.paramsFloatList_.Clone();
    paramsDoubleList_ = other.paramsDoubleList_.Clone();
    paramsBoolList_ = other.paramsBoolList_.Clone();
    paramsStringList_ = other.paramsStringList_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public LogMessage Clone() {
    return new LogMessage(this);
  }

  /// <summary>Field number for the "log_template" field.</summary>
  public const int LogTemplateFieldNumber = 1;
  private string logTemplate_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string LogTemplate {
    get { return logTemplate_; }
    set {
      logTemplate_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "template_hash" field.</summary>
  public const int TemplateHashFieldNumber = 2;
  private uint templateHash_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint TemplateHash {
    get { return templateHash_; }
    set {
      templateHash_ = value;
    }
  }

  /// <summary>Field number for the "log_level" field.</summary>
  public const int LogLevelFieldNumber = 3;
  private global::LogLevel logLevel_ = 0;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::LogLevel LogLevel {
    get { return logLevel_; }
    set {
      logLevel_ = value;
    }
  }

  /// <summary>Field number for the "channel" field.</summary>
  public const int ChannelFieldNumber = 4;
  private int channel_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Channel {
    get { return channel_; }
    set {
      channel_ = value;
    }
  }

  /// <summary>Field number for the "time" field.</summary>
  public const int TimeFieldNumber = 5;
  private long time_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long Time {
    get { return time_; }
    set {
      time_ = value;
    }
  }

  /// <summary>Field number for the "role_id" field.</summary>
  public const int RoleIdFieldNumber = 11;
  private long roleId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long RoleId {
    get { return roleId_; }
    set {
      roleId_ = value;
    }
  }

  /// <summary>Field number for the "params_int_list" field.</summary>
  public const int ParamsIntListFieldNumber = 6;
  private static readonly pb::FieldCodec<global::LogIntParam> _repeated_paramsIntList_codec
      = pb::FieldCodec.ForMessage(50, global::LogIntParam.Parser);
  private readonly pbc::RepeatedField<global::LogIntParam> paramsIntList_ = new pbc::RepeatedField<global::LogIntParam>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::LogIntParam> ParamsIntList {
    get { return paramsIntList_; }
  }

  /// <summary>Field number for the "params_float_list" field.</summary>
  public const int ParamsFloatListFieldNumber = 7;
  private static readonly pb::FieldCodec<global::LogFloatParam> _repeated_paramsFloatList_codec
      = pb::FieldCodec.ForMessage(58, global::LogFloatParam.Parser);
  private readonly pbc::RepeatedField<global::LogFloatParam> paramsFloatList_ = new pbc::RepeatedField<global::LogFloatParam>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::LogFloatParam> ParamsFloatList {
    get { return paramsFloatList_; }
  }

  /// <summary>Field number for the "params_double_list" field.</summary>
  public const int ParamsDoubleListFieldNumber = 8;
  private static readonly pb::FieldCodec<global::LogDoubleParam> _repeated_paramsDoubleList_codec
      = pb::FieldCodec.ForMessage(66, global::LogDoubleParam.Parser);
  private readonly pbc::RepeatedField<global::LogDoubleParam> paramsDoubleList_ = new pbc::RepeatedField<global::LogDoubleParam>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::LogDoubleParam> ParamsDoubleList {
    get { return paramsDoubleList_; }
  }

  /// <summary>Field number for the "params_bool_list" field.</summary>
  public const int ParamsBoolListFieldNumber = 9;
  private static readonly pb::FieldCodec<global::LogBoolParam> _repeated_paramsBoolList_codec
      = pb::FieldCodec.ForMessage(74, global::LogBoolParam.Parser);
  private readonly pbc::RepeatedField<global::LogBoolParam> paramsBoolList_ = new pbc::RepeatedField<global::LogBoolParam>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::LogBoolParam> ParamsBoolList {
    get { return paramsBoolList_; }
  }

  /// <summary>Field number for the "params_string_list" field.</summary>
  public const int ParamsStringListFieldNumber = 10;
  private static readonly pb::FieldCodec<global::LogStringParam> _repeated_paramsStringList_codec
      = pb::FieldCodec.ForMessage(82, global::LogStringParam.Parser);
  private readonly pbc::RepeatedField<global::LogStringParam> paramsStringList_ = new pbc::RepeatedField<global::LogStringParam>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::LogStringParam> ParamsStringList {
    get { return paramsStringList_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as LogMessage);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(LogMessage other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (LogTemplate != other.LogTemplate) return false;
    if (TemplateHash != other.TemplateHash) return false;
    if (LogLevel != other.LogLevel) return false;
    if (Channel != other.Channel) return false;
    if (Time != other.Time) return false;
    if (RoleId != other.RoleId) return false;
    if(!paramsIntList_.Equals(other.paramsIntList_)) return false;
    if(!paramsFloatList_.Equals(other.paramsFloatList_)) return false;
    if(!paramsDoubleList_.Equals(other.paramsDoubleList_)) return false;
    if(!paramsBoolList_.Equals(other.paramsBoolList_)) return false;
    if(!paramsStringList_.Equals(other.paramsStringList_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (LogTemplate.Length != 0) hash ^= LogTemplate.GetHashCode();
    if (TemplateHash != 0) hash ^= TemplateHash.GetHashCode();
    if (LogLevel != 0) hash ^= LogLevel.GetHashCode();
    if (Channel != 0) hash ^= Channel.GetHashCode();
    if (Time != 0L) hash ^= Time.GetHashCode();
    if (RoleId != 0L) hash ^= RoleId.GetHashCode();
    hash ^= paramsIntList_.GetHashCode();
    hash ^= paramsFloatList_.GetHashCode();
    hash ^= paramsDoubleList_.GetHashCode();
    hash ^= paramsBoolList_.GetHashCode();
    hash ^= paramsStringList_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (LogTemplate.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(LogTemplate);
    }
    if (TemplateHash != 0) {
      output.WriteRawTag(16);
      output.WriteUInt32(TemplateHash);
    }
    if (LogLevel != 0) {
      output.WriteRawTag(24);
      output.WriteEnum((int) LogLevel);
    }
    if (Channel != 0) {
      output.WriteRawTag(32);
      output.WriteInt32(Channel);
    }
    if (Time != 0L) {
      output.WriteRawTag(40);
      output.WriteInt64(Time);
    }
    paramsIntList_.WriteTo(output, _repeated_paramsIntList_codec);
    paramsFloatList_.WriteTo(output, _repeated_paramsFloatList_codec);
    paramsDoubleList_.WriteTo(output, _repeated_paramsDoubleList_codec);
    paramsBoolList_.WriteTo(output, _repeated_paramsBoolList_codec);
    paramsStringList_.WriteTo(output, _repeated_paramsStringList_codec);
    if (RoleId != 0L) {
      output.WriteRawTag(88);
      output.WriteInt64(RoleId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (LogTemplate.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(LogTemplate);
    }
    if (TemplateHash != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(TemplateHash);
    }
    if (LogLevel != 0) {
      size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) LogLevel);
    }
    if (Channel != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Channel);
    }
    if (Time != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(Time);
    }
    if (RoleId != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(RoleId);
    }
    size += paramsIntList_.CalculateSize(_repeated_paramsIntList_codec);
    size += paramsFloatList_.CalculateSize(_repeated_paramsFloatList_codec);
    size += paramsDoubleList_.CalculateSize(_repeated_paramsDoubleList_codec);
    size += paramsBoolList_.CalculateSize(_repeated_paramsBoolList_codec);
    size += paramsStringList_.CalculateSize(_repeated_paramsStringList_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(LogMessage other) {
    if (other == null) {
      return;
    }
    if (other.LogTemplate.Length != 0) {
      LogTemplate = other.LogTemplate;
    }
    if (other.TemplateHash != 0) {
      TemplateHash = other.TemplateHash;
    }
    if (other.LogLevel != 0) {
      LogLevel = other.LogLevel;
    }
    if (other.Channel != 0) {
      Channel = other.Channel;
    }
    if (other.Time != 0L) {
      Time = other.Time;
    }
    if (other.RoleId != 0L) {
      RoleId = other.RoleId;
    }
    paramsIntList_.Add(other.paramsIntList_);
    paramsFloatList_.Add(other.paramsFloatList_);
    paramsDoubleList_.Add(other.paramsDoubleList_);
    paramsBoolList_.Add(other.paramsBoolList_);
    paramsStringList_.Add(other.paramsStringList_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          LogTemplate = input.ReadString();
          break;
        }
        case 16: {
          TemplateHash = input.ReadUInt32();
          break;
        }
        case 24: {
          logLevel_ = (global::LogLevel) input.ReadEnum();
          break;
        }
        case 32: {
          Channel = input.ReadInt32();
          break;
        }
        case 40: {
          Time = input.ReadInt64();
          break;
        }
        case 50: {
          paramsIntList_.AddEntriesFrom(input, _repeated_paramsIntList_codec);
          break;
        }
        case 58: {
          paramsFloatList_.AddEntriesFrom(input, _repeated_paramsFloatList_codec);
          break;
        }
        case 66: {
          paramsDoubleList_.AddEntriesFrom(input, _repeated_paramsDoubleList_codec);
          break;
        }
        case 74: {
          paramsBoolList_.AddEntriesFrom(input, _repeated_paramsBoolList_codec);
          break;
        }
        case 82: {
          paramsStringList_.AddEntriesFrom(input, _repeated_paramsStringList_codec);
          break;
        }
        case 88: {
          RoleId = input.ReadInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class LogMessageResponse : pb::IMessage<LogMessageResponse> {
  private static readonly pb::MessageParser<LogMessageResponse> _parser = new pb::MessageParser<LogMessageResponse>(() => new LogMessageResponse());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<LogMessageResponse> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[9]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public LogMessageResponse() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public LogMessageResponse(LogMessageResponse other) : this() {
    status_ = other.status_;
    message_ = other.message_;
    templateHash_ = other.templateHash_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public LogMessageResponse Clone() {
    return new LogMessageResponse(this);
  }

  /// <summary>Field number for the "status" field.</summary>
  public const int StatusFieldNumber = 1;
  private global::ResponseStatus status_ = 0;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ResponseStatus Status {
    get { return status_; }
    set {
      status_ = value;
    }
  }

  /// <summary>Field number for the "message" field.</summary>
  public const int MessageFieldNumber = 2;
  private string message_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string Message {
    get { return message_; }
    set {
      message_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "template_hash" field.</summary>
  public const int TemplateHashFieldNumber = 3;
  private uint templateHash_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint TemplateHash {
    get { return templateHash_; }
    set {
      templateHash_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as LogMessageResponse);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(LogMessageResponse other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Status != other.Status) return false;
    if (Message != other.Message) return false;
    if (TemplateHash != other.TemplateHash) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Status != 0) hash ^= Status.GetHashCode();
    if (Message.Length != 0) hash ^= Message.GetHashCode();
    if (TemplateHash != 0) hash ^= TemplateHash.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Status != 0) {
      output.WriteRawTag(8);
      output.WriteEnum((int) Status);
    }
    if (Message.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(Message);
    }
    if (TemplateHash != 0) {
      output.WriteRawTag(24);
      output.WriteUInt32(TemplateHash);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Status != 0) {
      size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Status);
    }
    if (Message.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(Message);
    }
    if (TemplateHash != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(TemplateHash);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(LogMessageResponse other) {
    if (other == null) {
      return;
    }
    if (other.Status != 0) {
      Status = other.Status;
    }
    if (other.Message.Length != 0) {
      Message = other.Message;
    }
    if (other.TemplateHash != 0) {
      TemplateHash = other.TemplateHash;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          status_ = (global::ResponseStatus) input.ReadEnum();
          break;
        }
        case 18: {
          Message = input.ReadString();
          break;
        }
        case 24: {
          TemplateHash = input.ReadUInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class Vector2 : pb::IMessage<Vector2> {
  private static readonly pb::MessageParser<Vector2> _parser = new pb::MessageParser<Vector2>(() => new Vector2());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<Vector2> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[10]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public Vector2() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public Vector2(Vector2 other) : this() {
    x_ = other.x_;
    y_ = other.y_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public Vector2 Clone() {
    return new Vector2(this);
  }

  /// <summary>Field number for the "x" field.</summary>
  public const int XFieldNumber = 1;
  private int x_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int X {
    get { return x_; }
    set {
      x_ = value;
    }
  }

  /// <summary>Field number for the "y" field.</summary>
  public const int YFieldNumber = 2;
  private int y_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Y {
    get { return y_; }
    set {
      y_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as Vector2);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(Vector2 other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (X != other.X) return false;
    if (Y != other.Y) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (X != 0) hash ^= X.GetHashCode();
    if (Y != 0) hash ^= Y.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (X != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(X);
    }
    if (Y != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(Y);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (X != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(X);
    }
    if (Y != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Y);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(Vector2 other) {
    if (other == null) {
      return;
    }
    if (other.X != 0) {
      X = other.X;
    }
    if (other.Y != 0) {
      Y = other.Y;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          X = input.ReadInt32();
          break;
        }
        case 16: {
          Y = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class SubPort : pb::IMessage<SubPort> {
  private static readonly pb::MessageParser<SubPort> _parser = new pb::MessageParser<SubPort>(() => new SubPort());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<SubPort> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[11]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SubPort() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SubPort(SubPort other) : this() {
    pos_ = other.pos_ != null ? other.pos_.Clone() : null;
    direction_ = other.direction_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SubPort Clone() {
    return new SubPort(this);
  }

  /// <summary>Field number for the "pos" field.</summary>
  public const int PosFieldNumber = 1;
  private global::Vector2 pos_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::Vector2 Pos {
    get { return pos_; }
    set {
      pos_ = value;
    }
  }

  /// <summary>Field number for the "direction" field.</summary>
  public const int DirectionFieldNumber = 2;
  private global::Direction direction_ = 0;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::Direction Direction {
    get { return direction_; }
    set {
      direction_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as SubPort);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(SubPort other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!object.Equals(Pos, other.Pos)) return false;
    if (Direction != other.Direction) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (pos_ != null) hash ^= Pos.GetHashCode();
    if (Direction != 0) hash ^= Direction.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (pos_ != null) {
      output.WriteRawTag(10);
      output.WriteMessage(Pos);
    }
    if (Direction != 0) {
      output.WriteRawTag(16);
      output.WriteEnum((int) Direction);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (pos_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Pos);
    }
    if (Direction != 0) {
      size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Direction);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(SubPort other) {
    if (other == null) {
      return;
    }
    if (other.pos_ != null) {
      if (pos_ == null) {
        pos_ = new global::Vector2();
      }
      Pos.MergeFrom(other.Pos);
    }
    if (other.Direction != 0) {
      Direction = other.Direction;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          if (pos_ == null) {
            pos_ = new global::Vector2();
          }
          input.ReadMessage(pos_);
          break;
        }
        case 16: {
          direction_ = (global::Direction) input.ReadEnum();
          break;
        }
      }
    }
  }

}

public sealed partial class ItemUnit : pb::IMessage<ItemUnit> {
  private static readonly pb::MessageParser<ItemUnit> _parser = new pb::MessageParser<ItemUnit>(() => new ItemUnit());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ItemUnit> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[12]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ItemUnit() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ItemUnit(ItemUnit other) : this() {
    id_ = other.id_;
    count_ = other.count_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ItemUnit Clone() {
    return new ItemUnit(this);
  }

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

  /// <summary>Field number for the "count" field.</summary>
  public const int CountFieldNumber = 2;
  private ulong count_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong Count {
    get { return count_; }
    set {
      count_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ItemUnit);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ItemUnit other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Id != other.Id) return false;
    if (Count != other.Count) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Id.Length != 0) hash ^= Id.GetHashCode();
    if (Count != 0UL) hash ^= Count.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Id.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(Id);
    }
    if (Count != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(Count);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Id.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(Id);
    }
    if (Count != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(Count);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ItemUnit other) {
    if (other == null) {
      return;
    }
    if (other.Id.Length != 0) {
      Id = other.Id;
    }
    if (other.Count != 0UL) {
      Count = other.Count;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          Id = input.ReadString();
          break;
        }
        case 16: {
          Count = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class ItemBox : pb::IMessage<ItemBox> {
  private static readonly pb::MessageParser<ItemBox> _parser = new pb::MessageParser<ItemBox>(() => new ItemBox());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ItemBox> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[13]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ItemBox() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ItemBox(ItemBox other) : this() {
    id_ = other.id_;
    count_ = other.count_;
    index_ = other.index_;
    offset_ = other.offset_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ItemBox Clone() {
    return new ItemBox(this);
  }

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

  /// <summary>Field number for the "count" field.</summary>
  public const int CountFieldNumber = 2;
  private ulong count_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong Count {
    get { return count_; }
    set {
      count_ = value;
    }
  }

  /// <summary>Field number for the "index" field.</summary>
  public const int IndexFieldNumber = 3;
  private int index_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Index {
    get { return index_; }
    set {
      index_ = value;
    }
  }

  /// <summary>Field number for the "offset" field.</summary>
  public const int OffsetFieldNumber = 4;
  private long offset_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long Offset {
    get { return offset_; }
    set {
      offset_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ItemBox);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ItemBox other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Id != other.Id) return false;
    if (Count != other.Count) return false;
    if (Index != other.Index) return false;
    if (Offset != other.Offset) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Id.Length != 0) hash ^= Id.GetHashCode();
    if (Count != 0UL) hash ^= Count.GetHashCode();
    if (Index != 0) hash ^= Index.GetHashCode();
    if (Offset != 0L) hash ^= Offset.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Id.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(Id);
    }
    if (Count != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(Count);
    }
    if (Index != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(Index);
    }
    if (Offset != 0L) {
      output.WriteRawTag(32);
      output.WriteInt64(Offset);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Id.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(Id);
    }
    if (Count != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(Count);
    }
    if (Index != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Index);
    }
    if (Offset != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(Offset);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ItemBox other) {
    if (other == null) {
      return;
    }
    if (other.Id.Length != 0) {
      Id = other.Id;
    }
    if (other.Count != 0UL) {
      Count = other.Count;
    }
    if (other.Index != 0) {
      Index = other.Index;
    }
    if (other.Offset != 0L) {
      Offset = other.Offset;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          Id = input.ReadString();
          break;
        }
        case 16: {
          Count = input.ReadUInt64();
          break;
        }
        case 24: {
          Index = input.ReadInt32();
          break;
        }
        case 32: {
          Offset = input.ReadInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class Formula : pb::IMessage<Formula> {
  private static readonly pb::MessageParser<Formula> _parser = new pb::MessageParser<Formula>(() => new Formula());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<Formula> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[14]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public Formula() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public Formula(Formula other) : this() {
    id_ = other.id_;
    progressPerRound_ = other.progressPerRound_;
    from_ = other.from_.Clone();
    to_ = other.to_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public Formula Clone() {
    return new Formula(this);
  }

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

  /// <summary>Field number for the "progress_per_round" field.</summary>
  public const int ProgressPerRoundFieldNumber = 2;
  private long progressPerRound_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long ProgressPerRound {
    get { return progressPerRound_; }
    set {
      progressPerRound_ = value;
    }
  }

  /// <summary>Field number for the "from" field.</summary>
  public const int FromFieldNumber = 3;
  private static readonly pb::FieldCodec<global::ItemUnit> _repeated_from_codec
      = pb::FieldCodec.ForMessage(26, global::ItemUnit.Parser);
  private readonly pbc::RepeatedField<global::ItemUnit> from_ = new pbc::RepeatedField<global::ItemUnit>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ItemUnit> From {
    get { return from_; }
  }

  /// <summary>Field number for the "to" field.</summary>
  public const int ToFieldNumber = 4;
  private static readonly pb::FieldCodec<global::ItemUnit> _repeated_to_codec
      = pb::FieldCodec.ForMessage(34, global::ItemUnit.Parser);
  private readonly pbc::RepeatedField<global::ItemUnit> to_ = new pbc::RepeatedField<global::ItemUnit>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ItemUnit> To {
    get { return to_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as Formula);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(Formula other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Id != other.Id) return false;
    if (ProgressPerRound != other.ProgressPerRound) return false;
    if(!from_.Equals(other.from_)) return false;
    if(!to_.Equals(other.to_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Id.Length != 0) hash ^= Id.GetHashCode();
    if (ProgressPerRound != 0L) hash ^= ProgressPerRound.GetHashCode();
    hash ^= from_.GetHashCode();
    hash ^= to_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Id.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(Id);
    }
    if (ProgressPerRound != 0L) {
      output.WriteRawTag(16);
      output.WriteInt64(ProgressPerRound);
    }
    from_.WriteTo(output, _repeated_from_codec);
    to_.WriteTo(output, _repeated_to_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Id.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(Id);
    }
    if (ProgressPerRound != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(ProgressPerRound);
    }
    size += from_.CalculateSize(_repeated_from_codec);
    size += to_.CalculateSize(_repeated_to_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(Formula other) {
    if (other == null) {
      return;
    }
    if (other.Id.Length != 0) {
      Id = other.Id;
    }
    if (other.ProgressPerRound != 0L) {
      ProgressPerRound = other.ProgressPerRound;
    }
    from_.Add(other.from_);
    to_.Add(other.to_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          Id = input.ReadString();
          break;
        }
        case 16: {
          ProgressPerRound = input.ReadInt64();
          break;
        }
        case 26: {
          from_.AddEntriesFrom(input, _repeated_from_codec);
          break;
        }
        case 34: {
          to_.AddEntriesFrom(input, _repeated_to_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class SDShape : pb::IMessage<SDShape> {
  private static readonly pb::MessageParser<SDShape> _parser = new pb::MessageParser<SDShape>(() => new SDShape());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<SDShape> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[15]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SDShape() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SDShape(SDShape other) : this() {
    type_ = other.type_;
    points_ = other.points_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SDShape Clone() {
    return new SDShape(this);
  }

  /// <summary>Field number for the "type" field.</summary>
  public const int TypeFieldNumber = 1;
  private global::ShapeType type_ = 0;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ShapeType Type {
    get { return type_; }
    set {
      type_ = value;
    }
  }

  /// <summary>Field number for the "points" field.</summary>
  public const int PointsFieldNumber = 2;
  private static readonly pb::FieldCodec<global::Vector2> _repeated_points_codec
      = pb::FieldCodec.ForMessage(18, global::Vector2.Parser);
  private readonly pbc::RepeatedField<global::Vector2> points_ = new pbc::RepeatedField<global::Vector2>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::Vector2> Points {
    get { return points_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as SDShape);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(SDShape other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Type != other.Type) return false;
    if(!points_.Equals(other.points_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Type != 0) hash ^= Type.GetHashCode();
    hash ^= points_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Type != 0) {
      output.WriteRawTag(8);
      output.WriteEnum((int) Type);
    }
    points_.WriteTo(output, _repeated_points_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Type != 0) {
      size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Type);
    }
    size += points_.CalculateSize(_repeated_points_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(SDShape other) {
    if (other == null) {
      return;
    }
    if (other.Type != 0) {
      Type = other.Type;
    }
    points_.Add(other.points_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          type_ = (global::ShapeType) input.ReadEnum();
          break;
        }
        case 18: {
          points_.AddEntriesFrom(input, _repeated_points_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class SDTemplate : pb::IMessage<SDTemplate> {
  private static readonly pb::MessageParser<SDTemplate> _parser = new pb::MessageParser<SDTemplate>(() => new SDTemplate());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<SDTemplate> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[16]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SDTemplate() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SDTemplate(SDTemplate other) : this() {
    id_ = other.id_;
    type_ = other.type_;
    shape_ = other.shape_ != null ? other.shape_.Clone() : null;
    switch (other.SDNodeCase) {
      case SDNodeOneofCase.Bus:
        Bus = other.Bus.Clone();
        break;
      case SDNodeOneofCase.BusUnloader:
        BusUnloader = other.BusUnloader.Clone();
        break;
      case SDNodeOneofCase.BusLoader:
        BusLoader = other.BusLoader.Clone();
        break;
      case SDNodeOneofCase.Collector:
        Collector = other.Collector.Clone();
        break;
      case SDNodeOneofCase.Producer:
        Producer = other.Producer.Clone();
        break;
      case SDNodeOneofCase.BoxConveyor:
        BoxConveyor = other.BoxConveyor.Clone();
        break;
      case SDNodeOneofCase.BoxRouter:
        BoxRouter = other.BoxRouter.Clone();
        break;
    }

    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SDTemplate Clone() {
    return new SDTemplate(this);
  }

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

  /// <summary>Field number for the "type" field.</summary>
  public const int TypeFieldNumber = 2;
  private global::NodeType type_ = 0;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::NodeType Type {
    get { return type_; }
    set {
      type_ = value;
    }
  }

  /// <summary>Field number for the "shape" field.</summary>
  public const int ShapeFieldNumber = 3;
  private global::SDShape shape_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::SDShape Shape {
    get { return shape_; }
    set {
      shape_ = value;
    }
  }

  /// <summary>Field number for the "bus" field.</summary>
  public const int BusFieldNumber = 21;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::SDNodeBus Bus {
    get { return sDNodeCase_ == SDNodeOneofCase.Bus ? (global::SDNodeBus) sDNode_ : null; }
    set {
      sDNode_ = value;
      sDNodeCase_ = value == null ? SDNodeOneofCase.None : SDNodeOneofCase.Bus;
    }
  }

  /// <summary>Field number for the "bus_unloader" field.</summary>
  public const int BusUnloaderFieldNumber = 22;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::SDNodeBusUnloader BusUnloader {
    get { return sDNodeCase_ == SDNodeOneofCase.BusUnloader ? (global::SDNodeBusUnloader) sDNode_ : null; }
    set {
      sDNode_ = value;
      sDNodeCase_ = value == null ? SDNodeOneofCase.None : SDNodeOneofCase.BusUnloader;
    }
  }

  /// <summary>Field number for the "bus_loader" field.</summary>
  public const int BusLoaderFieldNumber = 23;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::SDNodeBusLoader BusLoader {
    get { return sDNodeCase_ == SDNodeOneofCase.BusLoader ? (global::SDNodeBusLoader) sDNode_ : null; }
    set {
      sDNode_ = value;
      sDNodeCase_ = value == null ? SDNodeOneofCase.None : SDNodeOneofCase.BusLoader;
    }
  }

  /// <summary>Field number for the "collector" field.</summary>
  public const int CollectorFieldNumber = 24;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::SDNodeCollector Collector {
    get { return sDNodeCase_ == SDNodeOneofCase.Collector ? (global::SDNodeCollector) sDNode_ : null; }
    set {
      sDNode_ = value;
      sDNodeCase_ = value == null ? SDNodeOneofCase.None : SDNodeOneofCase.Collector;
    }
  }

  /// <summary>Field number for the "producer" field.</summary>
  public const int ProducerFieldNumber = 25;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::SDNodeProducer Producer {
    get { return sDNodeCase_ == SDNodeOneofCase.Producer ? (global::SDNodeProducer) sDNode_ : null; }
    set {
      sDNode_ = value;
      sDNodeCase_ = value == null ? SDNodeOneofCase.None : SDNodeOneofCase.Producer;
    }
  }

  /// <summary>Field number for the "box_conveyor" field.</summary>
  public const int BoxConveyorFieldNumber = 26;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::SDNodeBoxConveyor BoxConveyor {
    get { return sDNodeCase_ == SDNodeOneofCase.BoxConveyor ? (global::SDNodeBoxConveyor) sDNode_ : null; }
    set {
      sDNode_ = value;
      sDNodeCase_ = value == null ? SDNodeOneofCase.None : SDNodeOneofCase.BoxConveyor;
    }
  }

  /// <summary>Field number for the "box_router" field.</summary>
  public const int BoxRouterFieldNumber = 27;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::SDNodeBoxRouter BoxRouter {
    get { return sDNodeCase_ == SDNodeOneofCase.BoxRouter ? (global::SDNodeBoxRouter) sDNode_ : null; }
    set {
      sDNode_ = value;
      sDNodeCase_ = value == null ? SDNodeOneofCase.None : SDNodeOneofCase.BoxRouter;
    }
  }

  private object sDNode_;
  /// <summary>Enum of possible cases for the "s_d_node" oneof.</summary>
  public enum SDNodeOneofCase {
    None = 0,
    Bus = 21,
    BusUnloader = 22,
    BusLoader = 23,
    Collector = 24,
    Producer = 25,
    BoxConveyor = 26,
    BoxRouter = 27,
  }
  private SDNodeOneofCase sDNodeCase_ = SDNodeOneofCase.None;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SDNodeOneofCase SDNodeCase {
    get { return sDNodeCase_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void ClearSDNode() {
    sDNodeCase_ = SDNodeOneofCase.None;
    sDNode_ = null;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as SDTemplate);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(SDTemplate 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 (!object.Equals(Shape, other.Shape)) return false;
    if (!object.Equals(Bus, other.Bus)) return false;
    if (!object.Equals(BusUnloader, other.BusUnloader)) return false;
    if (!object.Equals(BusLoader, other.BusLoader)) return false;
    if (!object.Equals(Collector, other.Collector)) return false;
    if (!object.Equals(Producer, other.Producer)) return false;
    if (!object.Equals(BoxConveyor, other.BoxConveyor)) return false;
    if (!object.Equals(BoxRouter, other.BoxRouter)) return false;
    if (SDNodeCase != other.SDNodeCase) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Id.Length != 0) hash ^= Id.GetHashCode();
    if (Type != 0) hash ^= Type.GetHashCode();
    if (shape_ != null) hash ^= Shape.GetHashCode();
    if (sDNodeCase_ == SDNodeOneofCase.Bus) hash ^= Bus.GetHashCode();
    if (sDNodeCase_ == SDNodeOneofCase.BusUnloader) hash ^= BusUnloader.GetHashCode();
    if (sDNodeCase_ == SDNodeOneofCase.BusLoader) hash ^= BusLoader.GetHashCode();
    if (sDNodeCase_ == SDNodeOneofCase.Collector) hash ^= Collector.GetHashCode();
    if (sDNodeCase_ == SDNodeOneofCase.Producer) hash ^= Producer.GetHashCode();
    if (sDNodeCase_ == SDNodeOneofCase.BoxConveyor) hash ^= BoxConveyor.GetHashCode();
    if (sDNodeCase_ == SDNodeOneofCase.BoxRouter) hash ^= BoxRouter.GetHashCode();
    hash ^= (int) sDNodeCase_;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Id.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(Id);
    }
    if (Type != 0) {
      output.WriteRawTag(16);
      output.WriteEnum((int) Type);
    }
    if (shape_ != null) {
      output.WriteRawTag(26);
      output.WriteMessage(Shape);
    }
    if (sDNodeCase_ == SDNodeOneofCase.Bus) {
      output.WriteRawTag(170, 1);
      output.WriteMessage(Bus);
    }
    if (sDNodeCase_ == SDNodeOneofCase.BusUnloader) {
      output.WriteRawTag(178, 1);
      output.WriteMessage(BusUnloader);
    }
    if (sDNodeCase_ == SDNodeOneofCase.BusLoader) {
      output.WriteRawTag(186, 1);
      output.WriteMessage(BusLoader);
    }
    if (sDNodeCase_ == SDNodeOneofCase.Collector) {
      output.WriteRawTag(194, 1);
      output.WriteMessage(Collector);
    }
    if (sDNodeCase_ == SDNodeOneofCase.Producer) {
      output.WriteRawTag(202, 1);
      output.WriteMessage(Producer);
    }
    if (sDNodeCase_ == SDNodeOneofCase.BoxConveyor) {
      output.WriteRawTag(210, 1);
      output.WriteMessage(BoxConveyor);
    }
    if (sDNodeCase_ == SDNodeOneofCase.BoxRouter) {
      output.WriteRawTag(218, 1);
      output.WriteMessage(BoxRouter);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Id.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(Id);
    }
    if (Type != 0) {
      size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Type);
    }
    if (shape_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Shape);
    }
    if (sDNodeCase_ == SDNodeOneofCase.Bus) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(Bus);
    }
    if (sDNodeCase_ == SDNodeOneofCase.BusUnloader) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(BusUnloader);
    }
    if (sDNodeCase_ == SDNodeOneofCase.BusLoader) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(BusLoader);
    }
    if (sDNodeCase_ == SDNodeOneofCase.Collector) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(Collector);
    }
    if (sDNodeCase_ == SDNodeOneofCase.Producer) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(Producer);
    }
    if (sDNodeCase_ == SDNodeOneofCase.BoxConveyor) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(BoxConveyor);
    }
    if (sDNodeCase_ == SDNodeOneofCase.BoxRouter) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(BoxRouter);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(SDTemplate other) {
    if (other == null) {
      return;
    }
    if (other.Id.Length != 0) {
      Id = other.Id;
    }
    if (other.Type != 0) {
      Type = other.Type;
    }
    if (other.shape_ != null) {
      if (shape_ == null) {
        shape_ = new global::SDShape();
      }
      Shape.MergeFrom(other.Shape);
    }
    switch (other.SDNodeCase) {
      case SDNodeOneofCase.Bus:
        if (Bus == null) {
          Bus = new global::SDNodeBus();
        }
        Bus.MergeFrom(other.Bus);
        break;
      case SDNodeOneofCase.BusUnloader:
        if (BusUnloader == null) {
          BusUnloader = new global::SDNodeBusUnloader();
        }
        BusUnloader.MergeFrom(other.BusUnloader);
        break;
      case SDNodeOneofCase.BusLoader:
        if (BusLoader == null) {
          BusLoader = new global::SDNodeBusLoader();
        }
        BusLoader.MergeFrom(other.BusLoader);
        break;
      case SDNodeOneofCase.Collector:
        if (Collector == null) {
          Collector = new global::SDNodeCollector();
        }
        Collector.MergeFrom(other.Collector);
        break;
      case SDNodeOneofCase.Producer:
        if (Producer == null) {
          Producer = new global::SDNodeProducer();
        }
        Producer.MergeFrom(other.Producer);
        break;
      case SDNodeOneofCase.BoxConveyor:
        if (BoxConveyor == null) {
          BoxConveyor = new global::SDNodeBoxConveyor();
        }
        BoxConveyor.MergeFrom(other.BoxConveyor);
        break;
      case SDNodeOneofCase.BoxRouter:
        if (BoxRouter == null) {
          BoxRouter = new global::SDNodeBoxRouter();
        }
        BoxRouter.MergeFrom(other.BoxRouter);
        break;
    }

    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          Id = input.ReadString();
          break;
        }
        case 16: {
          type_ = (global::NodeType) input.ReadEnum();
          break;
        }
        case 26: {
          if (shape_ == null) {
            shape_ = new global::SDShape();
          }
          input.ReadMessage(shape_);
          break;
        }
        case 170: {
          global::SDNodeBus subBuilder = new global::SDNodeBus();
          if (sDNodeCase_ == SDNodeOneofCase.Bus) {
            subBuilder.MergeFrom(Bus);
          }
          input.ReadMessage(subBuilder);
          Bus = subBuilder;
          break;
        }
        case 178: {
          global::SDNodeBusUnloader subBuilder = new global::SDNodeBusUnloader();
          if (sDNodeCase_ == SDNodeOneofCase.BusUnloader) {
            subBuilder.MergeFrom(BusUnloader);
          }
          input.ReadMessage(subBuilder);
          BusUnloader = subBuilder;
          break;
        }
        case 186: {
          global::SDNodeBusLoader subBuilder = new global::SDNodeBusLoader();
          if (sDNodeCase_ == SDNodeOneofCase.BusLoader) {
            subBuilder.MergeFrom(BusLoader);
          }
          input.ReadMessage(subBuilder);
          BusLoader = subBuilder;
          break;
        }
        case 194: {
          global::SDNodeCollector subBuilder = new global::SDNodeCollector();
          if (sDNodeCase_ == SDNodeOneofCase.Collector) {
            subBuilder.MergeFrom(Collector);
          }
          input.ReadMessage(subBuilder);
          Collector = subBuilder;
          break;
        }
        case 202: {
          global::SDNodeProducer subBuilder = new global::SDNodeProducer();
          if (sDNodeCase_ == SDNodeOneofCase.Producer) {
            subBuilder.MergeFrom(Producer);
          }
          input.ReadMessage(subBuilder);
          Producer = subBuilder;
          break;
        }
        case 210: {
          global::SDNodeBoxConveyor subBuilder = new global::SDNodeBoxConveyor();
          if (sDNodeCase_ == SDNodeOneofCase.BoxConveyor) {
            subBuilder.MergeFrom(BoxConveyor);
          }
          input.ReadMessage(subBuilder);
          BoxConveyor = subBuilder;
          break;
        }
        case 218: {
          global::SDNodeBoxRouter subBuilder = new global::SDNodeBoxRouter();
          if (sDNodeCase_ == SDNodeOneofCase.BoxRouter) {
            subBuilder.MergeFrom(BoxRouter);
          }
          input.ReadMessage(subBuilder);
          BoxRouter = subBuilder;
          break;
        }
      }
    }
  }

}

public sealed partial class SDNodeBus : pb::IMessage<SDNodeBus> {
  private static readonly pb::MessageParser<SDNodeBus> _parser = new pb::MessageParser<SDNodeBus>(() => new SDNodeBus());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<SDNodeBus> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[17]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SDNodeBus() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SDNodeBus(SDNodeBus other) : this() {
    bus_ = other.bus_ != null ? other.bus_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SDNodeBus Clone() {
    return new SDNodeBus(this);
  }

  /// <summary>Field number for the "bus" field.</summary>
  public const int BusFieldNumber = 1;
  private global::SDComponentBus bus_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::SDComponentBus Bus {
    get { return bus_; }
    set {
      bus_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as SDNodeBus);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(SDNodeBus other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!object.Equals(Bus, other.Bus)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (bus_ != null) hash ^= Bus.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (bus_ != null) {
      output.WriteRawTag(10);
      output.WriteMessage(Bus);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (bus_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Bus);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(SDNodeBus other) {
    if (other == null) {
      return;
    }
    if (other.bus_ != null) {
      if (bus_ == null) {
        bus_ = new global::SDComponentBus();
      }
      Bus.MergeFrom(other.Bus);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          if (bus_ == null) {
            bus_ = new global::SDComponentBus();
          }
          input.ReadMessage(bus_);
          break;
        }
      }
    }
  }

}

public sealed partial class SDComponentBus : pb::IMessage<SDComponentBus> {
  private static readonly pb::MessageParser<SDComponentBus> _parser = new pb::MessageParser<SDComponentBus>(() => new SDComponentBus());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<SDComponentBus> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[18]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SDComponentBus() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SDComponentBus(SDComponentBus other) : this() {
    ports_ = other.ports_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SDComponentBus Clone() {
    return new SDComponentBus(this);
  }

  /// <summary>Field number for the "ports" field.</summary>
  public const int PortsFieldNumber = 1;
  private static readonly pb::FieldCodec<global::SubPort> _repeated_ports_codec
      = pb::FieldCodec.ForMessage(10, global::SubPort.Parser);
  private readonly pbc::RepeatedField<global::SubPort> ports_ = new pbc::RepeatedField<global::SubPort>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::SubPort> Ports {
    get { return ports_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as SDComponentBus);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(SDComponentBus other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!ports_.Equals(other.ports_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= ports_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    ports_.WriteTo(output, _repeated_ports_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += ports_.CalculateSize(_repeated_ports_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(SDComponentBus other) {
    if (other == null) {
      return;
    }
    ports_.Add(other.ports_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          ports_.AddEntriesFrom(input, _repeated_ports_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class SDNodeBusUnloader : pb::IMessage<SDNodeBusUnloader> {
  private static readonly pb::MessageParser<SDNodeBusUnloader> _parser = new pb::MessageParser<SDNodeBusUnloader>(() => new SDNodeBusUnloader());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<SDNodeBusUnloader> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[19]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SDNodeBusUnloader() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SDNodeBusUnloader(SDNodeBusUnloader other) : this() {
    busUnloader_ = other.busUnloader_ != null ? other.busUnloader_.Clone() : null;
    selector_ = other.selector_ != null ? other.selector_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SDNodeBusUnloader Clone() {
    return new SDNodeBusUnloader(this);
  }

  /// <summary>Field number for the "bus_unloader" field.</summary>
  public const int BusUnloaderFieldNumber = 1;
  private global::SDComponentBusUnloader busUnloader_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::SDComponentBusUnloader BusUnloader {
    get { return busUnloader_; }
    set {
      busUnloader_ = value;
    }
  }

  /// <summary>Field number for the "selector" field.</summary>
  public const int SelectorFieldNumber = 2;
  private global::SDComponentSelector selector_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::SDComponentSelector Selector {
    get { return selector_; }
    set {
      selector_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as SDNodeBusUnloader);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(SDNodeBusUnloader other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!object.Equals(BusUnloader, other.BusUnloader)) return false;
    if (!object.Equals(Selector, other.Selector)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (busUnloader_ != null) hash ^= BusUnloader.GetHashCode();
    if (selector_ != null) hash ^= Selector.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (busUnloader_ != null) {
      output.WriteRawTag(10);
      output.WriteMessage(BusUnloader);
    }
    if (selector_ != null) {
      output.WriteRawTag(18);
      output.WriteMessage(Selector);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (busUnloader_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(BusUnloader);
    }
    if (selector_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Selector);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(SDNodeBusUnloader other) {
    if (other == null) {
      return;
    }
    if (other.busUnloader_ != null) {
      if (busUnloader_ == null) {
        busUnloader_ = new global::SDComponentBusUnloader();
      }
      BusUnloader.MergeFrom(other.BusUnloader);
    }
    if (other.selector_ != null) {
      if (selector_ == null) {
        selector_ = new global::SDComponentSelector();
      }
      Selector.MergeFrom(other.Selector);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          if (busUnloader_ == null) {
            busUnloader_ = new global::SDComponentBusUnloader();
          }
          input.ReadMessage(busUnloader_);
          break;
        }
        case 18: {
          if (selector_ == null) {
            selector_ = new global::SDComponentSelector();
          }
          input.ReadMessage(selector_);
          break;
        }
      }
    }
  }

}

public sealed partial class SDComponentBusUnloader : pb::IMessage<SDComponentBusUnloader> {
  private static readonly pb::MessageParser<SDComponentBusUnloader> _parser = new pb::MessageParser<SDComponentBusUnloader>(() => new SDComponentBusUnloader());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<SDComponentBusUnloader> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[20]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SDComponentBusUnloader() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SDComponentBusUnloader(SDComponentBusUnloader other) : this() {
    ports_ = other.ports_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SDComponentBusUnloader Clone() {
    return new SDComponentBusUnloader(this);
  }

  /// <summary>Field number for the "ports" field.</summary>
  public const int PortsFieldNumber = 1;
  private static readonly pb::FieldCodec<global::SubPort> _repeated_ports_codec
      = pb::FieldCodec.ForMessage(10, global::SubPort.Parser);
  private readonly pbc::RepeatedField<global::SubPort> ports_ = new pbc::RepeatedField<global::SubPort>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::SubPort> Ports {
    get { return ports_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as SDComponentBusUnloader);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(SDComponentBusUnloader other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!ports_.Equals(other.ports_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= ports_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    ports_.WriteTo(output, _repeated_ports_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += ports_.CalculateSize(_repeated_ports_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(SDComponentBusUnloader other) {
    if (other == null) {
      return;
    }
    ports_.Add(other.ports_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          ports_.AddEntriesFrom(input, _repeated_ports_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class SDComponentSelector : pb::IMessage<SDComponentSelector> {
  private static readonly pb::MessageParser<SDComponentSelector> _parser = new pb::MessageParser<SDComponentSelector>(() => new SDComponentSelector());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<SDComponentSelector> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[21]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SDComponentSelector() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SDComponentSelector(SDComponentSelector other) : this() {
    ports_ = other.ports_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SDComponentSelector Clone() {
    return new SDComponentSelector(this);
  }

  /// <summary>Field number for the "ports" field.</summary>
  public const int PortsFieldNumber = 1;
  private static readonly pb::FieldCodec<global::SubPort> _repeated_ports_codec
      = pb::FieldCodec.ForMessage(10, global::SubPort.Parser);
  private readonly pbc::RepeatedField<global::SubPort> ports_ = new pbc::RepeatedField<global::SubPort>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::SubPort> Ports {
    get { return ports_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as SDComponentSelector);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(SDComponentSelector other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!ports_.Equals(other.ports_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= ports_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    ports_.WriteTo(output, _repeated_ports_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += ports_.CalculateSize(_repeated_ports_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(SDComponentSelector other) {
    if (other == null) {
      return;
    }
    ports_.Add(other.ports_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          ports_.AddEntriesFrom(input, _repeated_ports_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class SDNodeBusLoader : pb::IMessage<SDNodeBusLoader> {
  private static readonly pb::MessageParser<SDNodeBusLoader> _parser = new pb::MessageParser<SDNodeBusLoader>(() => new SDNodeBusLoader());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<SDNodeBusLoader> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[22]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SDNodeBusLoader() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SDNodeBusLoader(SDNodeBusLoader other) : this() {
    busLoader_ = other.busLoader_ != null ? other.busLoader_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SDNodeBusLoader Clone() {
    return new SDNodeBusLoader(this);
  }

  /// <summary>Field number for the "bus_loader" field.</summary>
  public const int BusLoaderFieldNumber = 1;
  private global::SDComponentBusLoader busLoader_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::SDComponentBusLoader BusLoader {
    get { return busLoader_; }
    set {
      busLoader_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as SDNodeBusLoader);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(SDNodeBusLoader other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!object.Equals(BusLoader, other.BusLoader)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (busLoader_ != null) hash ^= BusLoader.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (busLoader_ != null) {
      output.WriteRawTag(10);
      output.WriteMessage(BusLoader);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (busLoader_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(BusLoader);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(SDNodeBusLoader other) {
    if (other == null) {
      return;
    }
    if (other.busLoader_ != null) {
      if (busLoader_ == null) {
        busLoader_ = new global::SDComponentBusLoader();
      }
      BusLoader.MergeFrom(other.BusLoader);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          if (busLoader_ == null) {
            busLoader_ = new global::SDComponentBusLoader();
          }
          input.ReadMessage(busLoader_);
          break;
        }
      }
    }
  }

}

public sealed partial class SDComponentBusLoader : pb::IMessage<SDComponentBusLoader> {
  private static readonly pb::MessageParser<SDComponentBusLoader> _parser = new pb::MessageParser<SDComponentBusLoader>(() => new SDComponentBusLoader());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<SDComponentBusLoader> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[23]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SDComponentBusLoader() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SDComponentBusLoader(SDComponentBusLoader other) : this() {
    portsIn_ = other.portsIn_.Clone();
    portsOut_ = other.portsOut_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SDComponentBusLoader Clone() {
    return new SDComponentBusLoader(this);
  }

  /// <summary>Field number for the "ports_in" field.</summary>
  public const int PortsInFieldNumber = 1;
  private static readonly pb::FieldCodec<global::SubPort> _repeated_portsIn_codec
      = pb::FieldCodec.ForMessage(10, global::SubPort.Parser);
  private readonly pbc::RepeatedField<global::SubPort> portsIn_ = new pbc::RepeatedField<global::SubPort>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::SubPort> PortsIn {
    get { return portsIn_; }
  }

  /// <summary>Field number for the "ports_out" field.</summary>
  public const int PortsOutFieldNumber = 2;
  private static readonly pb::FieldCodec<global::SubPort> _repeated_portsOut_codec
      = pb::FieldCodec.ForMessage(18, global::SubPort.Parser);
  private readonly pbc::RepeatedField<global::SubPort> portsOut_ = new pbc::RepeatedField<global::SubPort>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::SubPort> PortsOut {
    get { return portsOut_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as SDComponentBusLoader);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(SDComponentBusLoader other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!portsIn_.Equals(other.portsIn_)) return false;
    if(!portsOut_.Equals(other.portsOut_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= portsIn_.GetHashCode();
    hash ^= portsOut_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    portsIn_.WriteTo(output, _repeated_portsIn_codec);
    portsOut_.WriteTo(output, _repeated_portsOut_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += portsIn_.CalculateSize(_repeated_portsIn_codec);
    size += portsOut_.CalculateSize(_repeated_portsOut_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(SDComponentBusLoader other) {
    if (other == null) {
      return;
    }
    portsIn_.Add(other.portsIn_);
    portsOut_.Add(other.portsOut_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          portsIn_.AddEntriesFrom(input, _repeated_portsIn_codec);
          break;
        }
        case 18: {
          portsOut_.AddEntriesFrom(input, _repeated_portsOut_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class SDNodeCollector : pb::IMessage<SDNodeCollector> {
  private static readonly pb::MessageParser<SDNodeCollector> _parser = new pb::MessageParser<SDNodeCollector>(() => new SDNodeCollector());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<SDNodeCollector> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[24]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SDNodeCollector() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SDNodeCollector(SDNodeCollector other) : this() {
    collector_ = other.collector_ != null ? other.collector_.Clone() : null;
    caches_ = other.caches_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SDNodeCollector Clone() {
    return new SDNodeCollector(this);
  }

  /// <summary>Field number for the "collector" field.</summary>
  public const int CollectorFieldNumber = 1;
  private global::SDComponentCollector collector_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::SDComponentCollector Collector {
    get { return collector_; }
    set {
      collector_ = value;
    }
  }

  /// <summary>Field number for the "caches" field.</summary>
  public const int CachesFieldNumber = 2;
  private static readonly pb::FieldCodec<global::SDComponentCache> _repeated_caches_codec
      = pb::FieldCodec.ForMessage(18, global::SDComponentCache.Parser);
  private readonly pbc::RepeatedField<global::SDComponentCache> caches_ = new pbc::RepeatedField<global::SDComponentCache>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::SDComponentCache> Caches {
    get { return caches_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as SDNodeCollector);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(SDNodeCollector other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!object.Equals(Collector, other.Collector)) return false;
    if(!caches_.Equals(other.caches_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (collector_ != null) hash ^= Collector.GetHashCode();
    hash ^= caches_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (collector_ != null) {
      output.WriteRawTag(10);
      output.WriteMessage(Collector);
    }
    caches_.WriteTo(output, _repeated_caches_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (collector_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Collector);
    }
    size += caches_.CalculateSize(_repeated_caches_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(SDNodeCollector other) {
    if (other == null) {
      return;
    }
    if (other.collector_ != null) {
      if (collector_ == null) {
        collector_ = new global::SDComponentCollector();
      }
      Collector.MergeFrom(other.Collector);
    }
    caches_.Add(other.caches_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          if (collector_ == null) {
            collector_ = new global::SDComponentCollector();
          }
          input.ReadMessage(collector_);
          break;
        }
        case 18: {
          caches_.AddEntriesFrom(input, _repeated_caches_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class SDComponentCollector : pb::IMessage<SDComponentCollector> {
  private static readonly pb::MessageParser<SDComponentCollector> _parser = new pb::MessageParser<SDComponentCollector>(() => new SDComponentCollector());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<SDComponentCollector> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[25]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SDComponentCollector() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SDComponentCollector(SDComponentCollector other) : this() {
    progressPerRound_ = other.progressPerRound_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SDComponentCollector Clone() {
    return new SDComponentCollector(this);
  }

  /// <summary>Field number for the "progress_per_round" field.</summary>
  public const int ProgressPerRoundFieldNumber = 1;
  private long progressPerRound_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long ProgressPerRound {
    get { return progressPerRound_; }
    set {
      progressPerRound_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as SDComponentCollector);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(SDComponentCollector other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ProgressPerRound != other.ProgressPerRound) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ProgressPerRound != 0L) hash ^= ProgressPerRound.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ProgressPerRound != 0L) {
      output.WriteRawTag(8);
      output.WriteInt64(ProgressPerRound);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ProgressPerRound != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(ProgressPerRound);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(SDComponentCollector other) {
    if (other == null) {
      return;
    }
    if (other.ProgressPerRound != 0L) {
      ProgressPerRound = other.ProgressPerRound;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ProgressPerRound = input.ReadInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class SDComponentCache : pb::IMessage<SDComponentCache> {
  private static readonly pb::MessageParser<SDComponentCache> _parser = new pb::MessageParser<SDComponentCache>(() => new SDComponentCache());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<SDComponentCache> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[26]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SDComponentCache() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SDComponentCache(SDComponentCache other) : this() {
    size_ = other.size_;
    ports_ = other.ports_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SDComponentCache Clone() {
    return new SDComponentCache(this);
  }

  /// <summary>Field number for the "size" field.</summary>
  public const int SizeFieldNumber = 1;
  private int size_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Size {
    get { return size_; }
    set {
      size_ = value;
    }
  }

  /// <summary>Field number for the "ports" field.</summary>
  public const int PortsFieldNumber = 2;
  private static readonly pb::FieldCodec<global::SubPort> _repeated_ports_codec
      = pb::FieldCodec.ForMessage(18, global::SubPort.Parser);
  private readonly pbc::RepeatedField<global::SubPort> ports_ = new pbc::RepeatedField<global::SubPort>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::SubPort> Ports {
    get { return ports_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as SDComponentCache);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(SDComponentCache other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Size != other.Size) return false;
    if(!ports_.Equals(other.ports_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Size != 0) hash ^= Size.GetHashCode();
    hash ^= ports_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Size != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(Size);
    }
    ports_.WriteTo(output, _repeated_ports_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Size != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Size);
    }
    size += ports_.CalculateSize(_repeated_ports_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(SDComponentCache other) {
    if (other == null) {
      return;
    }
    if (other.Size != 0) {
      Size = other.Size;
    }
    ports_.Add(other.ports_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Size = input.ReadInt32();
          break;
        }
        case 18: {
          ports_.AddEntriesFrom(input, _repeated_ports_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class SDNodeProducer : pb::IMessage<SDNodeProducer> {
  private static readonly pb::MessageParser<SDNodeProducer> _parser = new pb::MessageParser<SDNodeProducer>(() => new SDNodeProducer());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<SDNodeProducer> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[27]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SDNodeProducer() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SDNodeProducer(SDNodeProducer other) : this() {
    producer_ = other.producer_ != null ? other.producer_.Clone() : null;
    formulaMan_ = other.formulaMan_ != null ? other.formulaMan_.Clone() : null;
    cachesIn_ = other.cachesIn_.Clone();
    cachesOut_ = other.cachesOut_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SDNodeProducer Clone() {
    return new SDNodeProducer(this);
  }

  /// <summary>Field number for the "producer" field.</summary>
  public const int ProducerFieldNumber = 1;
  private global::SDComponentProducer producer_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::SDComponentProducer Producer {
    get { return producer_; }
    set {
      producer_ = value;
    }
  }

  /// <summary>Field number for the "formula_man" field.</summary>
  public const int FormulaManFieldNumber = 2;
  private global::SDComponentFormulaMan formulaMan_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::SDComponentFormulaMan FormulaMan {
    get { return formulaMan_; }
    set {
      formulaMan_ = value;
    }
  }

  /// <summary>Field number for the "caches_in" field.</summary>
  public const int CachesInFieldNumber = 3;
  private static readonly pb::FieldCodec<global::SDComponentCache> _repeated_cachesIn_codec
      = pb::FieldCodec.ForMessage(26, global::SDComponentCache.Parser);
  private readonly pbc::RepeatedField<global::SDComponentCache> cachesIn_ = new pbc::RepeatedField<global::SDComponentCache>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::SDComponentCache> CachesIn {
    get { return cachesIn_; }
  }

  /// <summary>Field number for the "caches_out" field.</summary>
  public const int CachesOutFieldNumber = 4;
  private static readonly pb::FieldCodec<global::SDComponentCache> _repeated_cachesOut_codec
      = pb::FieldCodec.ForMessage(34, global::SDComponentCache.Parser);
  private readonly pbc::RepeatedField<global::SDComponentCache> cachesOut_ = new pbc::RepeatedField<global::SDComponentCache>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::SDComponentCache> CachesOut {
    get { return cachesOut_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as SDNodeProducer);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(SDNodeProducer other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!object.Equals(Producer, other.Producer)) return false;
    if (!object.Equals(FormulaMan, other.FormulaMan)) return false;
    if(!cachesIn_.Equals(other.cachesIn_)) return false;
    if(!cachesOut_.Equals(other.cachesOut_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (producer_ != null) hash ^= Producer.GetHashCode();
    if (formulaMan_ != null) hash ^= FormulaMan.GetHashCode();
    hash ^= cachesIn_.GetHashCode();
    hash ^= cachesOut_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (producer_ != null) {
      output.WriteRawTag(10);
      output.WriteMessage(Producer);
    }
    if (formulaMan_ != null) {
      output.WriteRawTag(18);
      output.WriteMessage(FormulaMan);
    }
    cachesIn_.WriteTo(output, _repeated_cachesIn_codec);
    cachesOut_.WriteTo(output, _repeated_cachesOut_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (producer_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Producer);
    }
    if (formulaMan_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(FormulaMan);
    }
    size += cachesIn_.CalculateSize(_repeated_cachesIn_codec);
    size += cachesOut_.CalculateSize(_repeated_cachesOut_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(SDNodeProducer other) {
    if (other == null) {
      return;
    }
    if (other.producer_ != null) {
      if (producer_ == null) {
        producer_ = new global::SDComponentProducer();
      }
      Producer.MergeFrom(other.Producer);
    }
    if (other.formulaMan_ != null) {
      if (formulaMan_ == null) {
        formulaMan_ = new global::SDComponentFormulaMan();
      }
      FormulaMan.MergeFrom(other.FormulaMan);
    }
    cachesIn_.Add(other.cachesIn_);
    cachesOut_.Add(other.cachesOut_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          if (producer_ == null) {
            producer_ = new global::SDComponentProducer();
          }
          input.ReadMessage(producer_);
          break;
        }
        case 18: {
          if (formulaMan_ == null) {
            formulaMan_ = new global::SDComponentFormulaMan();
          }
          input.ReadMessage(formulaMan_);
          break;
        }
        case 26: {
          cachesIn_.AddEntriesFrom(input, _repeated_cachesIn_codec);
          break;
        }
        case 34: {
          cachesOut_.AddEntriesFrom(input, _repeated_cachesOut_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class SDComponentProducer : pb::IMessage<SDComponentProducer> {
  private static readonly pb::MessageParser<SDComponentProducer> _parser = new pb::MessageParser<SDComponentProducer>(() => new SDComponentProducer());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<SDComponentProducer> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[28]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SDComponentProducer() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SDComponentProducer(SDComponentProducer other) : this() {
    produceScale_ = other.produceScale_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SDComponentProducer Clone() {
    return new SDComponentProducer(this);
  }

  /// <summary>Field number for the "produce_scale" field.</summary>
  public const int ProduceScaleFieldNumber = 1;
  private long produceScale_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long ProduceScale {
    get { return produceScale_; }
    set {
      produceScale_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as SDComponentProducer);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(SDComponentProducer other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ProduceScale != other.ProduceScale) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ProduceScale != 0L) hash ^= ProduceScale.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ProduceScale != 0L) {
      output.WriteRawTag(8);
      output.WriteInt64(ProduceScale);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ProduceScale != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(ProduceScale);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(SDComponentProducer other) {
    if (other == null) {
      return;
    }
    if (other.ProduceScale != 0L) {
      ProduceScale = other.ProduceScale;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ProduceScale = input.ReadInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class SDComponentFormulaMan : pb::IMessage<SDComponentFormulaMan> {
  private static readonly pb::MessageParser<SDComponentFormulaMan> _parser = new pb::MessageParser<SDComponentFormulaMan>(() => new SDComponentFormulaMan());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<SDComponentFormulaMan> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[29]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SDComponentFormulaMan() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SDComponentFormulaMan(SDComponentFormulaMan other) : this() {
    formulaIds_ = other.formulaIds_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SDComponentFormulaMan Clone() {
    return new SDComponentFormulaMan(this);
  }

  /// <summary>Field number for the "formula_ids" field.</summary>
  public const int FormulaIdsFieldNumber = 1;
  private static readonly pb::FieldCodec<string> _repeated_formulaIds_codec
      = pb::FieldCodec.ForString(10);
  private readonly pbc::RepeatedField<string> formulaIds_ = new pbc::RepeatedField<string>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<string> FormulaIds {
    get { return formulaIds_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as SDComponentFormulaMan);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(SDComponentFormulaMan other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!formulaIds_.Equals(other.formulaIds_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= formulaIds_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    formulaIds_.WriteTo(output, _repeated_formulaIds_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += formulaIds_.CalculateSize(_repeated_formulaIds_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(SDComponentFormulaMan other) {
    if (other == null) {
      return;
    }
    formulaIds_.Add(other.formulaIds_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          formulaIds_.AddEntriesFrom(input, _repeated_formulaIds_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class SDNodeBoxConveyor : pb::IMessage<SDNodeBoxConveyor> {
  private static readonly pb::MessageParser<SDNodeBoxConveyor> _parser = new pb::MessageParser<SDNodeBoxConveyor>(() => new SDNodeBoxConveyor());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<SDNodeBoxConveyor> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[30]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SDNodeBoxConveyor() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SDNodeBoxConveyor(SDNodeBoxConveyor other) : this() {
    boxConveyor_ = other.boxConveyor_ != null ? other.boxConveyor_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SDNodeBoxConveyor Clone() {
    return new SDNodeBoxConveyor(this);
  }

  /// <summary>Field number for the "box_conveyor" field.</summary>
  public const int BoxConveyorFieldNumber = 1;
  private global::SDComponentBoxConveyor boxConveyor_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::SDComponentBoxConveyor BoxConveyor {
    get { return boxConveyor_; }
    set {
      boxConveyor_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as SDNodeBoxConveyor);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(SDNodeBoxConveyor other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!object.Equals(BoxConveyor, other.BoxConveyor)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (boxConveyor_ != null) hash ^= BoxConveyor.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (boxConveyor_ != null) {
      output.WriteRawTag(10);
      output.WriteMessage(BoxConveyor);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (boxConveyor_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(BoxConveyor);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(SDNodeBoxConveyor other) {
    if (other == null) {
      return;
    }
    if (other.boxConveyor_ != null) {
      if (boxConveyor_ == null) {
        boxConveyor_ = new global::SDComponentBoxConveyor();
      }
      BoxConveyor.MergeFrom(other.BoxConveyor);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          if (boxConveyor_ == null) {
            boxConveyor_ = new global::SDComponentBoxConveyor();
          }
          input.ReadMessage(boxConveyor_);
          break;
        }
      }
    }
  }

}

public sealed partial class SDComponentBoxConveyor : pb::IMessage<SDComponentBoxConveyor> {
  private static readonly pb::MessageParser<SDComponentBoxConveyor> _parser = new pb::MessageParser<SDComponentBoxConveyor>(() => new SDComponentBoxConveyor());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<SDComponentBoxConveyor> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[31]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SDComponentBoxConveyor() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SDComponentBoxConveyor(SDComponentBoxConveyor other) : this() {
    mSPerStep_ = other.mSPerStep_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SDComponentBoxConveyor Clone() {
    return new SDComponentBoxConveyor(this);
  }

  /// <summary>Field number for the "m_s_per_step" field.</summary>
  public const int MSPerStepFieldNumber = 1;
  private long mSPerStep_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long MSPerStep {
    get { return mSPerStep_; }
    set {
      mSPerStep_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as SDComponentBoxConveyor);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(SDComponentBoxConveyor other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (MSPerStep != other.MSPerStep) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (MSPerStep != 0L) hash ^= MSPerStep.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (MSPerStep != 0L) {
      output.WriteRawTag(8);
      output.WriteInt64(MSPerStep);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (MSPerStep != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(MSPerStep);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(SDComponentBoxConveyor other) {
    if (other == null) {
      return;
    }
    if (other.MSPerStep != 0L) {
      MSPerStep = other.MSPerStep;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          MSPerStep = input.ReadInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class SDNodeBoxRouter : pb::IMessage<SDNodeBoxRouter> {
  private static readonly pb::MessageParser<SDNodeBoxRouter> _parser = new pb::MessageParser<SDNodeBoxRouter>(() => new SDNodeBoxRouter());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<SDNodeBoxRouter> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[32]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SDNodeBoxRouter() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SDNodeBoxRouter(SDNodeBoxRouter other) : this() {
    boxRouter_ = other.boxRouter_ != null ? other.boxRouter_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SDNodeBoxRouter Clone() {
    return new SDNodeBoxRouter(this);
  }

  /// <summary>Field number for the "box_router" field.</summary>
  public const int BoxRouterFieldNumber = 1;
  private global::SDComponentBoxRouter boxRouter_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::SDComponentBoxRouter BoxRouter {
    get { return boxRouter_; }
    set {
      boxRouter_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as SDNodeBoxRouter);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(SDNodeBoxRouter other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!object.Equals(BoxRouter, other.BoxRouter)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (boxRouter_ != null) hash ^= BoxRouter.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (boxRouter_ != null) {
      output.WriteRawTag(10);
      output.WriteMessage(BoxRouter);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (boxRouter_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(BoxRouter);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(SDNodeBoxRouter other) {
    if (other == null) {
      return;
    }
    if (other.boxRouter_ != null) {
      if (boxRouter_ == null) {
        boxRouter_ = new global::SDComponentBoxRouter();
      }
      BoxRouter.MergeFrom(other.BoxRouter);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          if (boxRouter_ == null) {
            boxRouter_ = new global::SDComponentBoxRouter();
          }
          input.ReadMessage(boxRouter_);
          break;
        }
      }
    }
  }

}

public sealed partial class SDComponentBoxRouter : pb::IMessage<SDComponentBoxRouter> {
  private static readonly pb::MessageParser<SDComponentBoxRouter> _parser = new pb::MessageParser<SDComponentBoxRouter>(() => new SDComponentBoxRouter());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<SDComponentBoxRouter> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[33]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SDComponentBoxRouter() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SDComponentBoxRouter(SDComponentBoxRouter other) : this() {
    mSHold_ = other.mSHold_;
    ports_ = other.ports_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SDComponentBoxRouter Clone() {
    return new SDComponentBoxRouter(this);
  }

  /// <summary>Field number for the "m_s_hold" field.</summary>
  public const int MSHoldFieldNumber = 1;
  private long mSHold_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long MSHold {
    get { return mSHold_; }
    set {
      mSHold_ = value;
    }
  }

  /// <summary>Field number for the "ports" field.</summary>
  public const int PortsFieldNumber = 2;
  private static readonly pb::FieldCodec<global::SubPort> _repeated_ports_codec
      = pb::FieldCodec.ForMessage(18, global::SubPort.Parser);
  private readonly pbc::RepeatedField<global::SubPort> ports_ = new pbc::RepeatedField<global::SubPort>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::SubPort> Ports {
    get { return ports_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as SDComponentBoxRouter);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(SDComponentBoxRouter other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (MSHold != other.MSHold) return false;
    if(!ports_.Equals(other.ports_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (MSHold != 0L) hash ^= MSHold.GetHashCode();
    hash ^= ports_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (MSHold != 0L) {
      output.WriteRawTag(8);
      output.WriteInt64(MSHold);
    }
    ports_.WriteTo(output, _repeated_ports_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (MSHold != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(MSHold);
    }
    size += ports_.CalculateSize(_repeated_ports_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(SDComponentBoxRouter other) {
    if (other == null) {
      return;
    }
    if (other.MSHold != 0L) {
      MSHold = other.MSHold;
    }
    ports_.Add(other.ports_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          MSHold = input.ReadInt64();
          break;
        }
        case 18: {
          ports_.AddEntriesFrom(input, _repeated_ports_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class LayoutShape : pb::IMessage<LayoutShape> {
  private static readonly pb::MessageParser<LayoutShape> _parser = new pb::MessageParser<LayoutShape>(() => new LayoutShape());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<LayoutShape> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[34]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public LayoutShape() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public LayoutShape(LayoutShape other) : this() {
    type_ = other.type_;
    points_ = other.points_.Clone();
    dynamicDirIn_ = other.dynamicDirIn_.Clone();
    dynamicDirOut_ = other.dynamicDirOut_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public LayoutShape Clone() {
    return new LayoutShape(this);
  }

  /// <summary>Field number for the "type" field.</summary>
  public const int TypeFieldNumber = 1;
  private global::ShapeType type_ = 0;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ShapeType Type {
    get { return type_; }
    set {
      type_ = value;
    }
  }

  /// <summary>Field number for the "points" field.</summary>
  public const int PointsFieldNumber = 2;
  private static readonly pb::FieldCodec<global::Vector2> _repeated_points_codec
      = pb::FieldCodec.ForMessage(18, global::Vector2.Parser);
  private readonly pbc::RepeatedField<global::Vector2> points_ = new pbc::RepeatedField<global::Vector2>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::Vector2> Points {
    get { return points_; }
  }

  /// <summary>Field number for the "dynamic_dir_in" field.</summary>
  public const int DynamicDirInFieldNumber = 3;
  private static readonly pb::FieldCodec<global::Direction> _repeated_dynamicDirIn_codec
      = pb::FieldCodec.ForEnum(26, x => (int) x, x => (global::Direction) x);
  private readonly pbc::RepeatedField<global::Direction> dynamicDirIn_ = new pbc::RepeatedField<global::Direction>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::Direction> DynamicDirIn {
    get { return dynamicDirIn_; }
  }

  /// <summary>Field number for the "dynamic_dir_out" field.</summary>
  public const int DynamicDirOutFieldNumber = 4;
  private static readonly pb::FieldCodec<global::Direction> _repeated_dynamicDirOut_codec
      = pb::FieldCodec.ForEnum(34, x => (int) x, x => (global::Direction) x);
  private readonly pbc::RepeatedField<global::Direction> dynamicDirOut_ = new pbc::RepeatedField<global::Direction>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::Direction> DynamicDirOut {
    get { return dynamicDirOut_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as LayoutShape);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(LayoutShape other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Type != other.Type) return false;
    if(!points_.Equals(other.points_)) return false;
    if(!dynamicDirIn_.Equals(other.dynamicDirIn_)) return false;
    if(!dynamicDirOut_.Equals(other.dynamicDirOut_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Type != 0) hash ^= Type.GetHashCode();
    hash ^= points_.GetHashCode();
    hash ^= dynamicDirIn_.GetHashCode();
    hash ^= dynamicDirOut_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Type != 0) {
      output.WriteRawTag(8);
      output.WriteEnum((int) Type);
    }
    points_.WriteTo(output, _repeated_points_codec);
    dynamicDirIn_.WriteTo(output, _repeated_dynamicDirIn_codec);
    dynamicDirOut_.WriteTo(output, _repeated_dynamicDirOut_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Type != 0) {
      size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Type);
    }
    size += points_.CalculateSize(_repeated_points_codec);
    size += dynamicDirIn_.CalculateSize(_repeated_dynamicDirIn_codec);
    size += dynamicDirOut_.CalculateSize(_repeated_dynamicDirOut_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(LayoutShape other) {
    if (other == null) {
      return;
    }
    if (other.Type != 0) {
      Type = other.Type;
    }
    points_.Add(other.points_);
    dynamicDirIn_.Add(other.dynamicDirIn_);
    dynamicDirOut_.Add(other.dynamicDirOut_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          type_ = (global::ShapeType) input.ReadEnum();
          break;
        }
        case 18: {
          points_.AddEntriesFrom(input, _repeated_points_codec);
          break;
        }
        case 26:
        case 24: {
          dynamicDirIn_.AddEntriesFrom(input, _repeated_dynamicDirIn_codec);
          break;
        }
        case 34:
        case 32: {
          dynamicDirOut_.AddEntriesFrom(input, _repeated_dynamicDirOut_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class Node : pb::IMessage<Node> {
  private static readonly pb::MessageParser<Node> _parser = new pb::MessageParser<Node>(() => new Node());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<Node> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[35]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public Node() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public Node(Node other) : this() {
    nodeId_ = other.nodeId_;
    type_ = other.type_;
    templateId_ = other.templateId_;
    shape_ = other.shape_ != null ? other.shape_.Clone() : null;
    component_ = other.component_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public Node Clone() {
    return new Node(this);
  }

  /// <summary>Field number for the "node_id" field.</summary>
  public const int NodeIdFieldNumber = 1;
  private ulong nodeId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong NodeId {
    get { return nodeId_; }
    set {
      nodeId_ = value;
    }
  }

  /// <summary>Field number for the "type" field.</summary>
  public const int TypeFieldNumber = 2;
  private global::NodeType type_ = 0;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::NodeType Type {
    get { return type_; }
    set {
      type_ = value;
    }
  }

  /// <summary>Field number for the "template_id" field.</summary>
  public const int TemplateIdFieldNumber = 3;
  private string templateId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string TemplateId {
    get { return templateId_; }
    set {
      templateId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "shape" field.</summary>
  public const int ShapeFieldNumber = 4;
  private global::LayoutShape shape_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::LayoutShape Shape {
    get { return shape_; }
    set {
      shape_ = value;
    }
  }

  /// <summary>Field number for the "component" field.</summary>
  public const int ComponentFieldNumber = 11;
  private static readonly pb::FieldCodec<global::Component> _repeated_component_codec
      = pb::FieldCodec.ForMessage(90, global::Component.Parser);
  private readonly pbc::RepeatedField<global::Component> component_ = new pbc::RepeatedField<global::Component>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::Component> Component {
    get { return component_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as Node);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(Node other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (NodeId != other.NodeId) return false;
    if (Type != other.Type) return false;
    if (TemplateId != other.TemplateId) return false;
    if (!object.Equals(Shape, other.Shape)) return false;
    if(!component_.Equals(other.component_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (NodeId != 0UL) hash ^= NodeId.GetHashCode();
    if (Type != 0) hash ^= Type.GetHashCode();
    if (TemplateId.Length != 0) hash ^= TemplateId.GetHashCode();
    if (shape_ != null) hash ^= Shape.GetHashCode();
    hash ^= component_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (NodeId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(NodeId);
    }
    if (Type != 0) {
      output.WriteRawTag(16);
      output.WriteEnum((int) Type);
    }
    if (TemplateId.Length != 0) {
      output.WriteRawTag(26);
      output.WriteString(TemplateId);
    }
    if (shape_ != null) {
      output.WriteRawTag(34);
      output.WriteMessage(Shape);
    }
    component_.WriteTo(output, _repeated_component_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (NodeId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(NodeId);
    }
    if (Type != 0) {
      size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Type);
    }
    if (TemplateId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(TemplateId);
    }
    if (shape_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Shape);
    }
    size += component_.CalculateSize(_repeated_component_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(Node other) {
    if (other == null) {
      return;
    }
    if (other.NodeId != 0UL) {
      NodeId = other.NodeId;
    }
    if (other.Type != 0) {
      Type = other.Type;
    }
    if (other.TemplateId.Length != 0) {
      TemplateId = other.TemplateId;
    }
    if (other.shape_ != null) {
      if (shape_ == null) {
        shape_ = new global::LayoutShape();
      }
      Shape.MergeFrom(other.Shape);
    }
    component_.Add(other.component_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          NodeId = input.ReadUInt64();
          break;
        }
        case 16: {
          type_ = (global::NodeType) input.ReadEnum();
          break;
        }
        case 26: {
          TemplateId = input.ReadString();
          break;
        }
        case 34: {
          if (shape_ == null) {
            shape_ = new global::LayoutShape();
          }
          input.ReadMessage(shape_);
          break;
        }
        case 90: {
          component_.AddEntriesFrom(input, _repeated_component_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class Component : pb::IMessage<Component> {
  private static readonly pb::MessageParser<Component> _parser = new pb::MessageParser<Component>(() => new Component());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<Component> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[36]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public Component() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public Component(Component other) : this() {
    componentId_ = other.componentId_;
    type_ = other.type_;
    switch (other.ContentCase) {
      case ContentOneofCase.Cache:
        Cache = other.Cache.Clone();
        break;
      case ContentOneofCase.Inventory:
        Inventory = other.Inventory.Clone();
        break;
      case ContentOneofCase.Collector:
        Collector = other.Collector.Clone();
        break;
      case ContentOneofCase.Producer:
        Producer = other.Producer.Clone();
        break;
      case ContentOneofCase.Selector:
        Selector = other.Selector.Clone();
        break;
      case ContentOneofCase.BoxConveyor:
        BoxConveyor = other.BoxConveyor.Clone();
        break;
      case ContentOneofCase.BoxRouter:
        BoxRouter = other.BoxRouter.Clone();
        break;
      case ContentOneofCase.Map:
        Map = other.Map.Clone();
        break;
      case ContentOneofCase.Transform:
        Transform = other.Transform.Clone();
        break;
    }

    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public Component Clone() {
    return new Component(this);
  }

  /// <summary>Field number for the "component_id" field.</summary>
  public const int ComponentIdFieldNumber = 1;
  private ulong componentId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong ComponentId {
    get { return componentId_; }
    set {
      componentId_ = value;
    }
  }

  /// <summary>Field number for the "type" field.</summary>
  public const int TypeFieldNumber = 2;
  private global::ComponentType type_ = 0;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ComponentType Type {
    get { return type_; }
    set {
      type_ = value;
    }
  }

  /// <summary>Field number for the "cache" field.</summary>
  public const int CacheFieldNumber = 11;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ComponentCache Cache {
    get { return contentCase_ == ContentOneofCase.Cache ? (global::ComponentCache) content_ : null; }
    set {
      content_ = value;
      contentCase_ = value == null ? ContentOneofCase.None : ContentOneofCase.Cache;
    }
  }

  /// <summary>Field number for the "inventory" field.</summary>
  public const int InventoryFieldNumber = 12;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ComponentInventory Inventory {
    get { return contentCase_ == ContentOneofCase.Inventory ? (global::ComponentInventory) content_ : null; }
    set {
      content_ = value;
      contentCase_ = value == null ? ContentOneofCase.None : ContentOneofCase.Inventory;
    }
  }

  /// <summary>Field number for the "collector" field.</summary>
  public const int CollectorFieldNumber = 13;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ComponentCollector Collector {
    get { return contentCase_ == ContentOneofCase.Collector ? (global::ComponentCollector) content_ : null; }
    set {
      content_ = value;
      contentCase_ = value == null ? ContentOneofCase.None : ContentOneofCase.Collector;
    }
  }

  /// <summary>Field number for the "producer" field.</summary>
  public const int ProducerFieldNumber = 14;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ComponentProducer Producer {
    get { return contentCase_ == ContentOneofCase.Producer ? (global::ComponentProducer) content_ : null; }
    set {
      content_ = value;
      contentCase_ = value == null ? ContentOneofCase.None : ContentOneofCase.Producer;
    }
  }

  /// <summary>Field number for the "selector" field.</summary>
  public const int SelectorFieldNumber = 15;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ComponentSelector Selector {
    get { return contentCase_ == ContentOneofCase.Selector ? (global::ComponentSelector) content_ : null; }
    set {
      content_ = value;
      contentCase_ = value == null ? ContentOneofCase.None : ContentOneofCase.Selector;
    }
  }

  /// <summary>Field number for the "box_conveyor" field.</summary>
  public const int BoxConveyorFieldNumber = 16;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ComponentBoxConveyor BoxConveyor {
    get { return contentCase_ == ContentOneofCase.BoxConveyor ? (global::ComponentBoxConveyor) content_ : null; }
    set {
      content_ = value;
      contentCase_ = value == null ? ContentOneofCase.None : ContentOneofCase.BoxConveyor;
    }
  }

  /// <summary>Field number for the "box_router" field.</summary>
  public const int BoxRouterFieldNumber = 17;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ComponentBoxRouter BoxRouter {
    get { return contentCase_ == ContentOneofCase.BoxRouter ? (global::ComponentBoxRouter) content_ : null; }
    set {
      content_ = value;
      contentCase_ = value == null ? ContentOneofCase.None : ContentOneofCase.BoxRouter;
    }
  }

  /// <summary>Field number for the "map" field.</summary>
  public const int MapFieldNumber = 18;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ComponentMap Map {
    get { return contentCase_ == ContentOneofCase.Map ? (global::ComponentMap) content_ : null; }
    set {
      content_ = value;
      contentCase_ = value == null ? ContentOneofCase.None : ContentOneofCase.Map;
    }
  }

  /// <summary>Field number for the "transform" field.</summary>
  public const int TransformFieldNumber = 19;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ComponentTransform Transform {
    get { return contentCase_ == ContentOneofCase.Transform ? (global::ComponentTransform) content_ : null; }
    set {
      content_ = value;
      contentCase_ = value == null ? ContentOneofCase.None : ContentOneofCase.Transform;
    }
  }

  private object content_;
  /// <summary>Enum of possible cases for the "content" oneof.</summary>
  public enum ContentOneofCase {
    None = 0,
    Cache = 11,
    Inventory = 12,
    Collector = 13,
    Producer = 14,
    Selector = 15,
    BoxConveyor = 16,
    BoxRouter = 17,
    Map = 18,
    Transform = 19,
  }
  private ContentOneofCase contentCase_ = ContentOneofCase.None;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ContentOneofCase ContentCase {
    get { return contentCase_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void ClearContent() {
    contentCase_ = ContentOneofCase.None;
    content_ = null;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as Component);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(Component other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ComponentId != other.ComponentId) return false;
    if (Type != other.Type) return false;
    if (!object.Equals(Cache, other.Cache)) return false;
    if (!object.Equals(Inventory, other.Inventory)) return false;
    if (!object.Equals(Collector, other.Collector)) return false;
    if (!object.Equals(Producer, other.Producer)) return false;
    if (!object.Equals(Selector, other.Selector)) return false;
    if (!object.Equals(BoxConveyor, other.BoxConveyor)) return false;
    if (!object.Equals(BoxRouter, other.BoxRouter)) return false;
    if (!object.Equals(Map, other.Map)) return false;
    if (!object.Equals(Transform, other.Transform)) return false;
    if (ContentCase != other.ContentCase) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ComponentId != 0UL) hash ^= ComponentId.GetHashCode();
    if (Type != 0) hash ^= Type.GetHashCode();
    if (contentCase_ == ContentOneofCase.Cache) hash ^= Cache.GetHashCode();
    if (contentCase_ == ContentOneofCase.Inventory) hash ^= Inventory.GetHashCode();
    if (contentCase_ == ContentOneofCase.Collector) hash ^= Collector.GetHashCode();
    if (contentCase_ == ContentOneofCase.Producer) hash ^= Producer.GetHashCode();
    if (contentCase_ == ContentOneofCase.Selector) hash ^= Selector.GetHashCode();
    if (contentCase_ == ContentOneofCase.BoxConveyor) hash ^= BoxConveyor.GetHashCode();
    if (contentCase_ == ContentOneofCase.BoxRouter) hash ^= BoxRouter.GetHashCode();
    if (contentCase_ == ContentOneofCase.Map) hash ^= Map.GetHashCode();
    if (contentCase_ == ContentOneofCase.Transform) hash ^= Transform.GetHashCode();
    hash ^= (int) contentCase_;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ComponentId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(ComponentId);
    }
    if (Type != 0) {
      output.WriteRawTag(16);
      output.WriteEnum((int) Type);
    }
    if (contentCase_ == ContentOneofCase.Cache) {
      output.WriteRawTag(90);
      output.WriteMessage(Cache);
    }
    if (contentCase_ == ContentOneofCase.Inventory) {
      output.WriteRawTag(98);
      output.WriteMessage(Inventory);
    }
    if (contentCase_ == ContentOneofCase.Collector) {
      output.WriteRawTag(106);
      output.WriteMessage(Collector);
    }
    if (contentCase_ == ContentOneofCase.Producer) {
      output.WriteRawTag(114);
      output.WriteMessage(Producer);
    }
    if (contentCase_ == ContentOneofCase.Selector) {
      output.WriteRawTag(122);
      output.WriteMessage(Selector);
    }
    if (contentCase_ == ContentOneofCase.BoxConveyor) {
      output.WriteRawTag(130, 1);
      output.WriteMessage(BoxConveyor);
    }
    if (contentCase_ == ContentOneofCase.BoxRouter) {
      output.WriteRawTag(138, 1);
      output.WriteMessage(BoxRouter);
    }
    if (contentCase_ == ContentOneofCase.Map) {
      output.WriteRawTag(146, 1);
      output.WriteMessage(Map);
    }
    if (contentCase_ == ContentOneofCase.Transform) {
      output.WriteRawTag(154, 1);
      output.WriteMessage(Transform);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ComponentId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(ComponentId);
    }
    if (Type != 0) {
      size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Type);
    }
    if (contentCase_ == ContentOneofCase.Cache) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Cache);
    }
    if (contentCase_ == ContentOneofCase.Inventory) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Inventory);
    }
    if (contentCase_ == ContentOneofCase.Collector) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Collector);
    }
    if (contentCase_ == ContentOneofCase.Producer) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Producer);
    }
    if (contentCase_ == ContentOneofCase.Selector) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Selector);
    }
    if (contentCase_ == ContentOneofCase.BoxConveyor) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(BoxConveyor);
    }
    if (contentCase_ == ContentOneofCase.BoxRouter) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(BoxRouter);
    }
    if (contentCase_ == ContentOneofCase.Map) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(Map);
    }
    if (contentCase_ == ContentOneofCase.Transform) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(Transform);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(Component other) {
    if (other == null) {
      return;
    }
    if (other.ComponentId != 0UL) {
      ComponentId = other.ComponentId;
    }
    if (other.Type != 0) {
      Type = other.Type;
    }
    switch (other.ContentCase) {
      case ContentOneofCase.Cache:
        if (Cache == null) {
          Cache = new global::ComponentCache();
        }
        Cache.MergeFrom(other.Cache);
        break;
      case ContentOneofCase.Inventory:
        if (Inventory == null) {
          Inventory = new global::ComponentInventory();
        }
        Inventory.MergeFrom(other.Inventory);
        break;
      case ContentOneofCase.Collector:
        if (Collector == null) {
          Collector = new global::ComponentCollector();
        }
        Collector.MergeFrom(other.Collector);
        break;
      case ContentOneofCase.Producer:
        if (Producer == null) {
          Producer = new global::ComponentProducer();
        }
        Producer.MergeFrom(other.Producer);
        break;
      case ContentOneofCase.Selector:
        if (Selector == null) {
          Selector = new global::ComponentSelector();
        }
        Selector.MergeFrom(other.Selector);
        break;
      case ContentOneofCase.BoxConveyor:
        if (BoxConveyor == null) {
          BoxConveyor = new global::ComponentBoxConveyor();
        }
        BoxConveyor.MergeFrom(other.BoxConveyor);
        break;
      case ContentOneofCase.BoxRouter:
        if (BoxRouter == null) {
          BoxRouter = new global::ComponentBoxRouter();
        }
        BoxRouter.MergeFrom(other.BoxRouter);
        break;
      case ContentOneofCase.Map:
        if (Map == null) {
          Map = new global::ComponentMap();
        }
        Map.MergeFrom(other.Map);
        break;
      case ContentOneofCase.Transform:
        if (Transform == null) {
          Transform = new global::ComponentTransform();
        }
        Transform.MergeFrom(other.Transform);
        break;
    }

    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ComponentId = input.ReadUInt64();
          break;
        }
        case 16: {
          type_ = (global::ComponentType) input.ReadEnum();
          break;
        }
        case 90: {
          global::ComponentCache subBuilder = new global::ComponentCache();
          if (contentCase_ == ContentOneofCase.Cache) {
            subBuilder.MergeFrom(Cache);
          }
          input.ReadMessage(subBuilder);
          Cache = subBuilder;
          break;
        }
        case 98: {
          global::ComponentInventory subBuilder = new global::ComponentInventory();
          if (contentCase_ == ContentOneofCase.Inventory) {
            subBuilder.MergeFrom(Inventory);
          }
          input.ReadMessage(subBuilder);
          Inventory = subBuilder;
          break;
        }
        case 106: {
          global::ComponentCollector subBuilder = new global::ComponentCollector();
          if (contentCase_ == ContentOneofCase.Collector) {
            subBuilder.MergeFrom(Collector);
          }
          input.ReadMessage(subBuilder);
          Collector = subBuilder;
          break;
        }
        case 114: {
          global::ComponentProducer subBuilder = new global::ComponentProducer();
          if (contentCase_ == ContentOneofCase.Producer) {
            subBuilder.MergeFrom(Producer);
          }
          input.ReadMessage(subBuilder);
          Producer = subBuilder;
          break;
        }
        case 122: {
          global::ComponentSelector subBuilder = new global::ComponentSelector();
          if (contentCase_ == ContentOneofCase.Selector) {
            subBuilder.MergeFrom(Selector);
          }
          input.ReadMessage(subBuilder);
          Selector = subBuilder;
          break;
        }
        case 130: {
          global::ComponentBoxConveyor subBuilder = new global::ComponentBoxConveyor();
          if (contentCase_ == ContentOneofCase.BoxConveyor) {
            subBuilder.MergeFrom(BoxConveyor);
          }
          input.ReadMessage(subBuilder);
          BoxConveyor = subBuilder;
          break;
        }
        case 138: {
          global::ComponentBoxRouter subBuilder = new global::ComponentBoxRouter();
          if (contentCase_ == ContentOneofCase.BoxRouter) {
            subBuilder.MergeFrom(BoxRouter);
          }
          input.ReadMessage(subBuilder);
          BoxRouter = subBuilder;
          break;
        }
        case 146: {
          global::ComponentMap subBuilder = new global::ComponentMap();
          if (contentCase_ == ContentOneofCase.Map) {
            subBuilder.MergeFrom(Map);
          }
          input.ReadMessage(subBuilder);
          Map = subBuilder;
          break;
        }
        case 154: {
          global::ComponentTransform subBuilder = new global::ComponentTransform();
          if (contentCase_ == ContentOneofCase.Transform) {
            subBuilder.MergeFrom(Transform);
          }
          input.ReadMessage(subBuilder);
          Transform = subBuilder;
          break;
        }
      }
    }
  }

}

public sealed partial class ComponentCache : pb::IMessage<ComponentCache> {
  private static readonly pb::MessageParser<ComponentCache> _parser = new pb::MessageParser<ComponentCache>(() => new ComponentCache());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ComponentCache> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[37]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ComponentCache() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ComponentCache(ComponentCache other) : this() {
    cache_ = other.cache_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ComponentCache Clone() {
    return new ComponentCache(this);
  }

  /// <summary>Field number for the "cache" field.</summary>
  public const int CacheFieldNumber = 1;
  private static readonly pb::FieldCodec<global::ItemUnit> _repeated_cache_codec
      = pb::FieldCodec.ForMessage(10, global::ItemUnit.Parser);
  private readonly pbc::RepeatedField<global::ItemUnit> cache_ = new pbc::RepeatedField<global::ItemUnit>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ItemUnit> Cache {
    get { return cache_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ComponentCache);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ComponentCache other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!cache_.Equals(other.cache_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= cache_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    cache_.WriteTo(output, _repeated_cache_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += cache_.CalculateSize(_repeated_cache_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ComponentCache other) {
    if (other == null) {
      return;
    }
    cache_.Add(other.cache_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          cache_.AddEntriesFrom(input, _repeated_cache_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ComponentInventory : pb::IMessage<ComponentInventory> {
  private static readonly pb::MessageParser<ComponentInventory> _parser = new pb::MessageParser<ComponentInventory>(() => new ComponentInventory());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ComponentInventory> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[38]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ComponentInventory() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ComponentInventory(ComponentInventory other) : this() {
    store_ = other.store_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ComponentInventory Clone() {
    return new ComponentInventory(this);
  }

  /// <summary>Field number for the "store" field.</summary>
  public const int StoreFieldNumber = 1;
  private static readonly pb::FieldCodec<global::ItemUnit> _repeated_store_codec
      = pb::FieldCodec.ForMessage(10, global::ItemUnit.Parser);
  private readonly pbc::RepeatedField<global::ItemUnit> store_ = new pbc::RepeatedField<global::ItemUnit>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ItemUnit> Store {
    get { return store_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ComponentInventory);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ComponentInventory other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!store_.Equals(other.store_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= store_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    store_.WriteTo(output, _repeated_store_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += store_.CalculateSize(_repeated_store_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ComponentInventory other) {
    if (other == null) {
      return;
    }
    store_.Add(other.store_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          store_.AddEntriesFrom(input, _repeated_store_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ComponentCollector : pb::IMessage<ComponentCollector> {
  private static readonly pb::MessageParser<ComponentCollector> _parser = new pb::MessageParser<ComponentCollector>(() => new ComponentCollector());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ComponentCollector> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[39]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ComponentCollector() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ComponentCollector(ComponentCollector other) : this() {
    currentProgress_ = other.currentProgress_;
    progressPerRound_ = other.progressPerRound_;
    itemsPerRound_ = other.itemsPerRound_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ComponentCollector Clone() {
    return new ComponentCollector(this);
  }

  /// <summary>Field number for the "current_progress" field.</summary>
  public const int CurrentProgressFieldNumber = 1;
  private long currentProgress_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long CurrentProgress {
    get { return currentProgress_; }
    set {
      currentProgress_ = value;
    }
  }

  /// <summary>Field number for the "progress_per_round" field.</summary>
  public const int ProgressPerRoundFieldNumber = 2;
  private long progressPerRound_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long ProgressPerRound {
    get { return progressPerRound_; }
    set {
      progressPerRound_ = value;
    }
  }

  /// <summary>Field number for the "items_per_round" field.</summary>
  public const int ItemsPerRoundFieldNumber = 3;
  private static readonly pb::FieldCodec<global::ItemUnit> _repeated_itemsPerRound_codec
      = pb::FieldCodec.ForMessage(26, global::ItemUnit.Parser);
  private readonly pbc::RepeatedField<global::ItemUnit> itemsPerRound_ = new pbc::RepeatedField<global::ItemUnit>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ItemUnit> ItemsPerRound {
    get { return itemsPerRound_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ComponentCollector);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ComponentCollector other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (CurrentProgress != other.CurrentProgress) return false;
    if (ProgressPerRound != other.ProgressPerRound) return false;
    if(!itemsPerRound_.Equals(other.itemsPerRound_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (CurrentProgress != 0L) hash ^= CurrentProgress.GetHashCode();
    if (ProgressPerRound != 0L) hash ^= ProgressPerRound.GetHashCode();
    hash ^= itemsPerRound_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (CurrentProgress != 0L) {
      output.WriteRawTag(8);
      output.WriteInt64(CurrentProgress);
    }
    if (ProgressPerRound != 0L) {
      output.WriteRawTag(16);
      output.WriteInt64(ProgressPerRound);
    }
    itemsPerRound_.WriteTo(output, _repeated_itemsPerRound_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (CurrentProgress != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(CurrentProgress);
    }
    if (ProgressPerRound != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(ProgressPerRound);
    }
    size += itemsPerRound_.CalculateSize(_repeated_itemsPerRound_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ComponentCollector other) {
    if (other == null) {
      return;
    }
    if (other.CurrentProgress != 0L) {
      CurrentProgress = other.CurrentProgress;
    }
    if (other.ProgressPerRound != 0L) {
      ProgressPerRound = other.ProgressPerRound;
    }
    itemsPerRound_.Add(other.itemsPerRound_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          CurrentProgress = input.ReadInt64();
          break;
        }
        case 16: {
          ProgressPerRound = input.ReadInt64();
          break;
        }
        case 26: {
          itemsPerRound_.AddEntriesFrom(input, _repeated_itemsPerRound_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ComponentProducer : pb::IMessage<ComponentProducer> {
  private static readonly pb::MessageParser<ComponentProducer> _parser = new pb::MessageParser<ComponentProducer>(() => new ComponentProducer());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ComponentProducer> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[40]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ComponentProducer() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ComponentProducer(ComponentProducer other) : this() {
    currentProgress_ = other.currentProgress_;
    currentFormulaId_ = other.currentFormulaId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ComponentProducer Clone() {
    return new ComponentProducer(this);
  }

  /// <summary>Field number for the "current_progress" field.</summary>
  public const int CurrentProgressFieldNumber = 1;
  private long currentProgress_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long CurrentProgress {
    get { return currentProgress_; }
    set {
      currentProgress_ = value;
    }
  }

  /// <summary>Field number for the "current_formula_id" field.</summary>
  public const int CurrentFormulaIdFieldNumber = 2;
  private string currentFormulaId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string CurrentFormulaId {
    get { return currentFormulaId_; }
    set {
      currentFormulaId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ComponentProducer);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ComponentProducer other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (CurrentProgress != other.CurrentProgress) return false;
    if (CurrentFormulaId != other.CurrentFormulaId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (CurrentProgress != 0L) hash ^= CurrentProgress.GetHashCode();
    if (CurrentFormulaId.Length != 0) hash ^= CurrentFormulaId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (CurrentProgress != 0L) {
      output.WriteRawTag(8);
      output.WriteInt64(CurrentProgress);
    }
    if (CurrentFormulaId.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(CurrentFormulaId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (CurrentProgress != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(CurrentProgress);
    }
    if (CurrentFormulaId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(CurrentFormulaId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ComponentProducer other) {
    if (other == null) {
      return;
    }
    if (other.CurrentProgress != 0L) {
      CurrentProgress = other.CurrentProgress;
    }
    if (other.CurrentFormulaId.Length != 0) {
      CurrentFormulaId = other.CurrentFormulaId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          CurrentProgress = input.ReadInt64();
          break;
        }
        case 18: {
          CurrentFormulaId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class ComponentSelector : pb::IMessage<ComponentSelector> {
  private static readonly pb::MessageParser<ComponentSelector> _parser = new pb::MessageParser<ComponentSelector>(() => new ComponentSelector());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ComponentSelector> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[41]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ComponentSelector() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ComponentSelector(ComponentSelector other) : this() {
    selectedItemId_ = other.selectedItemId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ComponentSelector Clone() {
    return new ComponentSelector(this);
  }

  /// <summary>Field number for the "selected_item_id" field.</summary>
  public const int SelectedItemIdFieldNumber = 1;
  private string selectedItemId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string SelectedItemId {
    get { return selectedItemId_; }
    set {
      selectedItemId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ComponentSelector);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ComponentSelector other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SelectedItemId != other.SelectedItemId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SelectedItemId.Length != 0) hash ^= SelectedItemId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SelectedItemId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(SelectedItemId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SelectedItemId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(SelectedItemId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ComponentSelector other) {
    if (other == null) {
      return;
    }
    if (other.SelectedItemId.Length != 0) {
      SelectedItemId = other.SelectedItemId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          SelectedItemId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class ComponentBoxConveyor : pb::IMessage<ComponentBoxConveyor> {
  private static readonly pb::MessageParser<ComponentBoxConveyor> _parser = new pb::MessageParser<ComponentBoxConveyor>(() => new ComponentBoxConveyor());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ComponentBoxConveyor> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[42]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ComponentBoxConveyor() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ComponentBoxConveyor(ComponentBoxConveyor other) : this() {
    portIn_ = other.portIn_ != null ? other.portIn_.Clone() : null;
    portOut_ = other.portOut_ != null ? other.portOut_.Clone() : null;
    list_ = other.list_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ComponentBoxConveyor Clone() {
    return new ComponentBoxConveyor(this);
  }

  /// <summary>Field number for the "port_in" field.</summary>
  public const int PortInFieldNumber = 1;
  private global::SubPort portIn_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::SubPort PortIn {
    get { return portIn_; }
    set {
      portIn_ = value;
    }
  }

  /// <summary>Field number for the "port_out" field.</summary>
  public const int PortOutFieldNumber = 2;
  private global::SubPort portOut_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::SubPort PortOut {
    get { return portOut_; }
    set {
      portOut_ = value;
    }
  }

  /// <summary>Field number for the "list" field.</summary>
  public const int ListFieldNumber = 6;
  private static readonly pb::FieldCodec<global::ItemBox> _repeated_list_codec
      = pb::FieldCodec.ForMessage(50, global::ItemBox.Parser);
  private readonly pbc::RepeatedField<global::ItemBox> list_ = new pbc::RepeatedField<global::ItemBox>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ItemBox> List {
    get { return list_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ComponentBoxConveyor);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ComponentBoxConveyor other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!object.Equals(PortIn, other.PortIn)) return false;
    if (!object.Equals(PortOut, other.PortOut)) return false;
    if(!list_.Equals(other.list_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (portIn_ != null) hash ^= PortIn.GetHashCode();
    if (portOut_ != null) hash ^= PortOut.GetHashCode();
    hash ^= list_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (portIn_ != null) {
      output.WriteRawTag(10);
      output.WriteMessage(PortIn);
    }
    if (portOut_ != null) {
      output.WriteRawTag(18);
      output.WriteMessage(PortOut);
    }
    list_.WriteTo(output, _repeated_list_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (portIn_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(PortIn);
    }
    if (portOut_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(PortOut);
    }
    size += list_.CalculateSize(_repeated_list_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ComponentBoxConveyor other) {
    if (other == null) {
      return;
    }
    if (other.portIn_ != null) {
      if (portIn_ == null) {
        portIn_ = new global::SubPort();
      }
      PortIn.MergeFrom(other.PortIn);
    }
    if (other.portOut_ != null) {
      if (portOut_ == null) {
        portOut_ = new global::SubPort();
      }
      PortOut.MergeFrom(other.PortOut);
    }
    list_.Add(other.list_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          if (portIn_ == null) {
            portIn_ = new global::SubPort();
          }
          input.ReadMessage(portIn_);
          break;
        }
        case 18: {
          if (portOut_ == null) {
            portOut_ = new global::SubPort();
          }
          input.ReadMessage(portOut_);
          break;
        }
        case 50: {
          list_.AddEntriesFrom(input, _repeated_list_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ComponentBoxRouter : pb::IMessage<ComponentBoxRouter> {
  private static readonly pb::MessageParser<ComponentBoxRouter> _parser = new pb::MessageParser<ComponentBoxRouter>(() => new ComponentBoxRouter());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ComponentBoxRouter> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[43]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ComponentBoxRouter() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ComponentBoxRouter(ComponentBoxRouter other) : this() {
    content_ = other.content_ != null ? other.content_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ComponentBoxRouter Clone() {
    return new ComponentBoxRouter(this);
  }

  /// <summary>Field number for the "content" field.</summary>
  public const int ContentFieldNumber = 1;
  private global::ItemBox content_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ItemBox Content {
    get { return content_; }
    set {
      content_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ComponentBoxRouter);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ComponentBoxRouter other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!object.Equals(Content, other.Content)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (content_ != null) hash ^= Content.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (content_ != null) {
      output.WriteRawTag(10);
      output.WriteMessage(Content);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (content_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Content);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ComponentBoxRouter other) {
    if (other == null) {
      return;
    }
    if (other.content_ != null) {
      if (content_ == null) {
        content_ = new global::ItemBox();
      }
      Content.MergeFrom(other.Content);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          if (content_ == null) {
            content_ = new global::ItemBox();
          }
          input.ReadMessage(content_);
          break;
        }
      }
    }
  }

}

public sealed partial class ComponentMap : pb::IMessage<ComponentMap> {
  private static readonly pb::MessageParser<ComponentMap> _parser = new pb::MessageParser<ComponentMap>(() => new ComponentMap());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ComponentMap> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[44]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ComponentMap() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ComponentMap(ComponentMap other) : this() {
    comAsKind_ = other.comAsKind_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ComponentMap Clone() {
    return new ComponentMap(this);
  }

  /// <summary>Field number for the "com_as_kind" field.</summary>
  public const int ComAsKindFieldNumber = 1;
  private static readonly pbc::MapField<int, ulong>.Codec _map_comAsKind_codec
      = new pbc::MapField<int, ulong>.Codec(pb::FieldCodec.ForInt32(8), pb::FieldCodec.ForUInt64(16), 10);
  private readonly pbc::MapField<int, ulong> comAsKind_ = new pbc::MapField<int, ulong>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<int, ulong> ComAsKind {
    get { return comAsKind_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ComponentMap);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ComponentMap other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!ComAsKind.Equals(other.ComAsKind)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= ComAsKind.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    comAsKind_.WriteTo(output, _map_comAsKind_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += comAsKind_.CalculateSize(_map_comAsKind_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ComponentMap other) {
    if (other == null) {
      return;
    }
    comAsKind_.Add(other.comAsKind_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          comAsKind_.AddEntriesFrom(input, _map_comAsKind_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ComponentTransform : pb::IMessage<ComponentTransform> {
  private static readonly pb::MessageParser<ComponentTransform> _parser = new pb::MessageParser<ComponentTransform>(() => new ComponentTransform());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ComponentTransform> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[45]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ComponentTransform() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ComponentTransform(ComponentTransform other) : this() {
    position_ = other.position_ != null ? other.position_.Clone() : null;
    direction_ = other.direction_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ComponentTransform Clone() {
    return new ComponentTransform(this);
  }

  /// <summary>Field number for the "position" field.</summary>
  public const int PositionFieldNumber = 1;
  private global::Vector2 position_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::Vector2 Position {
    get { return position_; }
    set {
      position_ = value;
    }
  }

  /// <summary>Field number for the "direction" field.</summary>
  public const int DirectionFieldNumber = 2;
  private global::Direction direction_ = 0;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::Direction Direction {
    get { return direction_; }
    set {
      direction_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ComponentTransform);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ComponentTransform other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!object.Equals(Position, other.Position)) return false;
    if (Direction != other.Direction) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (position_ != null) hash ^= Position.GetHashCode();
    if (Direction != 0) hash ^= Direction.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (position_ != null) {
      output.WriteRawTag(10);
      output.WriteMessage(Position);
    }
    if (Direction != 0) {
      output.WriteRawTag(16);
      output.WriteEnum((int) Direction);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (position_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Position);
    }
    if (Direction != 0) {
      size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Direction);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ComponentTransform other) {
    if (other == null) {
      return;
    }
    if (other.position_ != null) {
      if (position_ == null) {
        position_ = new global::Vector2();
      }
      Position.MergeFrom(other.Position);
    }
    if (other.Direction != 0) {
      Direction = other.Direction;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          if (position_ == null) {
            position_ = new global::Vector2();
          }
          input.ReadMessage(position_);
          break;
        }
        case 16: {
          direction_ = (global::Direction) input.ReadEnum();
          break;
        }
      }
    }
  }

}

public sealed partial class ContextBrief : pb::IMessage<ContextBrief> {
  private static readonly pb::MessageParser<ContextBrief> _parser = new pb::MessageParser<ContextBrief>(() => new ContextBrief());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ContextBrief> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[46]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ContextBrief() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ContextBrief(ContextBrief other) : this() {
    cD_ = other.cD_;
    now_ = other.now_;
    isActive_ = other.isActive_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ContextBrief Clone() {
    return new ContextBrief(this);
  }

  /// <summary>Field number for the "c_d" field.</summary>
  public const int CDFieldNumber = 1;
  private ulong cD_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong CD {
    get { return cD_; }
    set {
      cD_ = value;
    }
  }

  /// <summary>Field number for the "now" field.</summary>
  public const int NowFieldNumber = 2;
  private long now_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long Now {
    get { return now_; }
    set {
      now_ = value;
    }
  }

  /// <summary>Field number for the "is_active" field.</summary>
  public const int IsActiveFieldNumber = 3;
  private bool isActive_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool IsActive {
    get { return isActive_; }
    set {
      isActive_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ContextBrief);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ContextBrief other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (CD != other.CD) return false;
    if (Now != other.Now) return false;
    if (IsActive != other.IsActive) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (CD != 0UL) hash ^= CD.GetHashCode();
    if (Now != 0L) hash ^= Now.GetHashCode();
    if (IsActive != false) hash ^= IsActive.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (CD != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(CD);
    }
    if (Now != 0L) {
      output.WriteRawTag(16);
      output.WriteInt64(Now);
    }
    if (IsActive != false) {
      output.WriteRawTag(24);
      output.WriteBool(IsActive);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (CD != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(CD);
    }
    if (Now != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(Now);
    }
    if (IsActive != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ContextBrief other) {
    if (other == null) {
      return;
    }
    if (other.CD != 0UL) {
      CD = other.CD;
    }
    if (other.Now != 0L) {
      Now = other.Now;
    }
    if (other.IsActive != false) {
      IsActive = other.IsActive;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          CD = input.ReadUInt64();
          break;
        }
        case 16: {
          Now = input.ReadInt64();
          break;
        }
        case 24: {
          IsActive = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class ContextBlackboard : pb::IMessage<ContextBlackboard> {
  private static readonly pb::MessageParser<ContextBlackboard> _parser = new pb::MessageParser<ContextBlackboard>(() => new ContextBlackboard());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ContextBlackboard> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[47]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ContextBlackboard() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ContextBlackboard(ContextBlackboard other) : this() {
    electricCurrent_ = other.electricCurrent_;
    electricMax_ = other.electricMax_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ContextBlackboard Clone() {
    return new ContextBlackboard(this);
  }

  /// <summary>Field number for the "electric_current" field.</summary>
  public const int ElectricCurrentFieldNumber = 1;
  private long electricCurrent_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long ElectricCurrent {
    get { return electricCurrent_; }
    set {
      electricCurrent_ = value;
    }
  }

  /// <summary>Field number for the "electric_max" field.</summary>
  public const int ElectricMaxFieldNumber = 2;
  private long electricMax_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long ElectricMax {
    get { return electricMax_; }
    set {
      electricMax_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ContextBlackboard);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ContextBlackboard other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ElectricCurrent != other.ElectricCurrent) return false;
    if (ElectricMax != other.ElectricMax) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ElectricCurrent != 0L) hash ^= ElectricCurrent.GetHashCode();
    if (ElectricMax != 0L) hash ^= ElectricMax.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ElectricCurrent != 0L) {
      output.WriteRawTag(8);
      output.WriteInt64(ElectricCurrent);
    }
    if (ElectricMax != 0L) {
      output.WriteRawTag(16);
      output.WriteInt64(ElectricMax);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ElectricCurrent != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(ElectricCurrent);
    }
    if (ElectricMax != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(ElectricMax);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ContextBlackboard other) {
    if (other == null) {
      return;
    }
    if (other.ElectricCurrent != 0L) {
      ElectricCurrent = other.ElectricCurrent;
    }
    if (other.ElectricMax != 0L) {
      ElectricMax = other.ElectricMax;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ElectricCurrent = input.ReadInt64();
          break;
        }
        case 16: {
          ElectricMax = input.ReadInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class ContextStatus : pb::IMessage<ContextStatus> {
  private static readonly pb::MessageParser<ContextStatus> _parser = new pb::MessageParser<ContextStatus>(() => new ContextStatus());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ContextStatus> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[48]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ContextStatus() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ContextStatus(ContextStatus other) : this() {
    brief_ = other.brief_ != null ? other.brief_.Clone() : null;
    blackboard_ = other.blackboard_ != null ? other.blackboard_.Clone() : null;
    nodeIds_ = other.nodeIds_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ContextStatus Clone() {
    return new ContextStatus(this);
  }

  /// <summary>Field number for the "brief" field.</summary>
  public const int BriefFieldNumber = 1;
  private global::ContextBrief brief_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ContextBrief Brief {
    get { return brief_; }
    set {
      brief_ = value;
    }
  }

  /// <summary>Field number for the "blackboard" field.</summary>
  public const int BlackboardFieldNumber = 2;
  private global::ContextBlackboard blackboard_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ContextBlackboard Blackboard {
    get { return blackboard_; }
    set {
      blackboard_ = value;
    }
  }

  /// <summary>Field number for the "node_ids" field.</summary>
  public const int NodeIdsFieldNumber = 3;
  private static readonly pb::FieldCodec<ulong> _repeated_nodeIds_codec
      = pb::FieldCodec.ForUInt64(26);
  private readonly pbc::RepeatedField<ulong> nodeIds_ = new pbc::RepeatedField<ulong>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<ulong> NodeIds {
    get { return nodeIds_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ContextStatus);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ContextStatus other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!object.Equals(Brief, other.Brief)) return false;
    if (!object.Equals(Blackboard, other.Blackboard)) return false;
    if(!nodeIds_.Equals(other.nodeIds_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (brief_ != null) hash ^= Brief.GetHashCode();
    if (blackboard_ != null) hash ^= Blackboard.GetHashCode();
    hash ^= nodeIds_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (brief_ != null) {
      output.WriteRawTag(10);
      output.WriteMessage(Brief);
    }
    if (blackboard_ != null) {
      output.WriteRawTag(18);
      output.WriteMessage(Blackboard);
    }
    nodeIds_.WriteTo(output, _repeated_nodeIds_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (brief_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Brief);
    }
    if (blackboard_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Blackboard);
    }
    size += nodeIds_.CalculateSize(_repeated_nodeIds_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ContextStatus other) {
    if (other == null) {
      return;
    }
    if (other.brief_ != null) {
      if (brief_ == null) {
        brief_ = new global::ContextBrief();
      }
      Brief.MergeFrom(other.Brief);
    }
    if (other.blackboard_ != null) {
      if (blackboard_ == null) {
        blackboard_ = new global::ContextBlackboard();
      }
      Blackboard.MergeFrom(other.Blackboard);
    }
    nodeIds_.Add(other.nodeIds_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          if (brief_ == null) {
            brief_ = new global::ContextBrief();
          }
          input.ReadMessage(brief_);
          break;
        }
        case 18: {
          if (blackboard_ == null) {
            blackboard_ = new global::ContextBlackboard();
          }
          input.ReadMessage(blackboard_);
          break;
        }
        case 26:
        case 24: {
          nodeIds_.AddEntriesFrom(input, _repeated_nodeIds_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class Event : pb::IMessage<Event> {
  private static readonly pb::MessageParser<Event> _parser = new pb::MessageParser<Event>(() => new Event());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<Event> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[49]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public Event() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public Event(Event other) : this() {
    timestampMS_ = other.timestampMS_;
    sequence_ = other.sequence_;
    type_ = other.type_;
    switch (other.PayloadCase) {
      case PayloadOneofCase.Prepared:
        Prepared = other.Prepared.Clone();
        break;
      case PayloadOneofCase.LayoutChg:
        LayoutChg = other.LayoutChg.Clone();
        break;
      case PayloadOneofCase.ComponentChg:
        ComponentChg = other.ComponentChg.Clone();
        break;
      case PayloadOneofCase.RelationChg:
        RelationChg = other.RelationChg.Clone();
        break;
    }

    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public Event Clone() {
    return new Event(this);
  }

  /// <summary>Field number for the "timestamp_m_s" field.</summary>
  public const int TimestampMSFieldNumber = 1;
  private long timestampMS_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long TimestampMS {
    get { return timestampMS_; }
    set {
      timestampMS_ = value;
    }
  }

  /// <summary>Field number for the "sequence" field.</summary>
  public const int SequenceFieldNumber = 2;
  private ulong sequence_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong Sequence {
    get { return sequence_; }
    set {
      sequence_ = value;
    }
  }

  /// <summary>Field number for the "type" field.</summary>
  public const int TypeFieldNumber = 3;
  private global::EventType type_ = 0;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::EventType Type {
    get { return type_; }
    set {
      type_ = value;
    }
  }

  /// <summary>Field number for the "prepared" field.</summary>
  public const int PreparedFieldNumber = 11;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::EventPrepared Prepared {
    get { return payloadCase_ == PayloadOneofCase.Prepared ? (global::EventPrepared) payload_ : null; }
    set {
      payload_ = value;
      payloadCase_ = value == null ? PayloadOneofCase.None : PayloadOneofCase.Prepared;
    }
  }

  /// <summary>Field number for the "layout_chg" field.</summary>
  public const int LayoutChgFieldNumber = 12;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::EventLayoutChg LayoutChg {
    get { return payloadCase_ == PayloadOneofCase.LayoutChg ? (global::EventLayoutChg) payload_ : null; }
    set {
      payload_ = value;
      payloadCase_ = value == null ? PayloadOneofCase.None : PayloadOneofCase.LayoutChg;
    }
  }

  /// <summary>Field number for the "component_chg" field.</summary>
  public const int ComponentChgFieldNumber = 13;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::EventComponentChg ComponentChg {
    get { return payloadCase_ == PayloadOneofCase.ComponentChg ? (global::EventComponentChg) payload_ : null; }
    set {
      payload_ = value;
      payloadCase_ = value == null ? PayloadOneofCase.None : PayloadOneofCase.ComponentChg;
    }
  }

  /// <summary>Field number for the "relation_chg" field.</summary>
  public const int RelationChgFieldNumber = 14;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::EventRelationChg RelationChg {
    get { return payloadCase_ == PayloadOneofCase.RelationChg ? (global::EventRelationChg) payload_ : null; }
    set {
      payload_ = value;
      payloadCase_ = value == null ? PayloadOneofCase.None : PayloadOneofCase.RelationChg;
    }
  }

  private object payload_;
  /// <summary>Enum of possible cases for the "payload" oneof.</summary>
  public enum PayloadOneofCase {
    None = 0,
    Prepared = 11,
    LayoutChg = 12,
    ComponentChg = 13,
    RelationChg = 14,
  }
  private PayloadOneofCase payloadCase_ = PayloadOneofCase.None;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public PayloadOneofCase PayloadCase {
    get { return payloadCase_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void ClearPayload() {
    payloadCase_ = PayloadOneofCase.None;
    payload_ = null;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as Event);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(Event other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (TimestampMS != other.TimestampMS) return false;
    if (Sequence != other.Sequence) return false;
    if (Type != other.Type) return false;
    if (!object.Equals(Prepared, other.Prepared)) return false;
    if (!object.Equals(LayoutChg, other.LayoutChg)) return false;
    if (!object.Equals(ComponentChg, other.ComponentChg)) return false;
    if (!object.Equals(RelationChg, other.RelationChg)) return false;
    if (PayloadCase != other.PayloadCase) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (TimestampMS != 0L) hash ^= TimestampMS.GetHashCode();
    if (Sequence != 0UL) hash ^= Sequence.GetHashCode();
    if (Type != 0) hash ^= Type.GetHashCode();
    if (payloadCase_ == PayloadOneofCase.Prepared) hash ^= Prepared.GetHashCode();
    if (payloadCase_ == PayloadOneofCase.LayoutChg) hash ^= LayoutChg.GetHashCode();
    if (payloadCase_ == PayloadOneofCase.ComponentChg) hash ^= ComponentChg.GetHashCode();
    if (payloadCase_ == PayloadOneofCase.RelationChg) hash ^= RelationChg.GetHashCode();
    hash ^= (int) payloadCase_;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (TimestampMS != 0L) {
      output.WriteRawTag(8);
      output.WriteInt64(TimestampMS);
    }
    if (Sequence != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(Sequence);
    }
    if (Type != 0) {
      output.WriteRawTag(24);
      output.WriteEnum((int) Type);
    }
    if (payloadCase_ == PayloadOneofCase.Prepared) {
      output.WriteRawTag(90);
      output.WriteMessage(Prepared);
    }
    if (payloadCase_ == PayloadOneofCase.LayoutChg) {
      output.WriteRawTag(98);
      output.WriteMessage(LayoutChg);
    }
    if (payloadCase_ == PayloadOneofCase.ComponentChg) {
      output.WriteRawTag(106);
      output.WriteMessage(ComponentChg);
    }
    if (payloadCase_ == PayloadOneofCase.RelationChg) {
      output.WriteRawTag(114);
      output.WriteMessage(RelationChg);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (TimestampMS != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(TimestampMS);
    }
    if (Sequence != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(Sequence);
    }
    if (Type != 0) {
      size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Type);
    }
    if (payloadCase_ == PayloadOneofCase.Prepared) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Prepared);
    }
    if (payloadCase_ == PayloadOneofCase.LayoutChg) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(LayoutChg);
    }
    if (payloadCase_ == PayloadOneofCase.ComponentChg) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(ComponentChg);
    }
    if (payloadCase_ == PayloadOneofCase.RelationChg) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(RelationChg);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(Event other) {
    if (other == null) {
      return;
    }
    if (other.TimestampMS != 0L) {
      TimestampMS = other.TimestampMS;
    }
    if (other.Sequence != 0UL) {
      Sequence = other.Sequence;
    }
    if (other.Type != 0) {
      Type = other.Type;
    }
    switch (other.PayloadCase) {
      case PayloadOneofCase.Prepared:
        if (Prepared == null) {
          Prepared = new global::EventPrepared();
        }
        Prepared.MergeFrom(other.Prepared);
        break;
      case PayloadOneofCase.LayoutChg:
        if (LayoutChg == null) {
          LayoutChg = new global::EventLayoutChg();
        }
        LayoutChg.MergeFrom(other.LayoutChg);
        break;
      case PayloadOneofCase.ComponentChg:
        if (ComponentChg == null) {
          ComponentChg = new global::EventComponentChg();
        }
        ComponentChg.MergeFrom(other.ComponentChg);
        break;
      case PayloadOneofCase.RelationChg:
        if (RelationChg == null) {
          RelationChg = new global::EventRelationChg();
        }
        RelationChg.MergeFrom(other.RelationChg);
        break;
    }

    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          TimestampMS = input.ReadInt64();
          break;
        }
        case 16: {
          Sequence = input.ReadUInt64();
          break;
        }
        case 24: {
          type_ = (global::EventType) input.ReadEnum();
          break;
        }
        case 90: {
          global::EventPrepared subBuilder = new global::EventPrepared();
          if (payloadCase_ == PayloadOneofCase.Prepared) {
            subBuilder.MergeFrom(Prepared);
          }
          input.ReadMessage(subBuilder);
          Prepared = subBuilder;
          break;
        }
        case 98: {
          global::EventLayoutChg subBuilder = new global::EventLayoutChg();
          if (payloadCase_ == PayloadOneofCase.LayoutChg) {
            subBuilder.MergeFrom(LayoutChg);
          }
          input.ReadMessage(subBuilder);
          LayoutChg = subBuilder;
          break;
        }
        case 106: {
          global::EventComponentChg subBuilder = new global::EventComponentChg();
          if (payloadCase_ == PayloadOneofCase.ComponentChg) {
            subBuilder.MergeFrom(ComponentChg);
          }
          input.ReadMessage(subBuilder);
          ComponentChg = subBuilder;
          break;
        }
        case 114: {
          global::EventRelationChg subBuilder = new global::EventRelationChg();
          if (payloadCase_ == PayloadOneofCase.RelationChg) {
            subBuilder.MergeFrom(RelationChg);
          }
          input.ReadMessage(subBuilder);
          RelationChg = subBuilder;
          break;
        }
      }
    }
  }

}

public sealed partial class EventPrepared : pb::IMessage<EventPrepared> {
  private static readonly pb::MessageParser<EventPrepared> _parser = new pb::MessageParser<EventPrepared>(() => new EventPrepared());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<EventPrepared> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[50]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public EventPrepared() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public EventPrepared(EventPrepared other) : this() {
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public EventPrepared Clone() {
    return new EventPrepared(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as EventPrepared);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(EventPrepared other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(EventPrepared other) {
    if (other == null) {
      return;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
      }
    }
  }

}

public sealed partial class EventLayoutChg : pb::IMessage<EventLayoutChg> {
  private static readonly pb::MessageParser<EventLayoutChg> _parser = new pb::MessageParser<EventLayoutChg>(() => new EventLayoutChg());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<EventLayoutChg> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[51]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public EventLayoutChg() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public EventLayoutChg(EventLayoutChg other) : this() {
    nodeIds_ = other.nodeIds_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public EventLayoutChg Clone() {
    return new EventLayoutChg(this);
  }

  /// <summary>Field number for the "node_ids" field.</summary>
  public const int NodeIdsFieldNumber = 1;
  private static readonly pb::FieldCodec<ulong> _repeated_nodeIds_codec
      = pb::FieldCodec.ForUInt64(10);
  private readonly pbc::RepeatedField<ulong> nodeIds_ = new pbc::RepeatedField<ulong>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<ulong> NodeIds {
    get { return nodeIds_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as EventLayoutChg);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(EventLayoutChg other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!nodeIds_.Equals(other.nodeIds_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= nodeIds_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    nodeIds_.WriteTo(output, _repeated_nodeIds_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += nodeIds_.CalculateSize(_repeated_nodeIds_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(EventLayoutChg other) {
    if (other == null) {
      return;
    }
    nodeIds_.Add(other.nodeIds_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10:
        case 8: {
          nodeIds_.AddEntriesFrom(input, _repeated_nodeIds_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class EventComponentChg : pb::IMessage<EventComponentChg> {
  private static readonly pb::MessageParser<EventComponentChg> _parser = new pb::MessageParser<EventComponentChg>(() => new EventComponentChg());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<EventComponentChg> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[52]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public EventComponentChg() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public EventComponentChg(EventComponentChg other) : this() {
    componentIds_ = other.componentIds_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public EventComponentChg Clone() {
    return new EventComponentChg(this);
  }

  /// <summary>Field number for the "component_ids" field.</summary>
  public const int ComponentIdsFieldNumber = 1;
  private static readonly pb::FieldCodec<ulong> _repeated_componentIds_codec
      = pb::FieldCodec.ForUInt64(10);
  private readonly pbc::RepeatedField<ulong> componentIds_ = new pbc::RepeatedField<ulong>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<ulong> ComponentIds {
    get { return componentIds_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as EventComponentChg);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(EventComponentChg other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!componentIds_.Equals(other.componentIds_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= componentIds_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    componentIds_.WriteTo(output, _repeated_componentIds_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += componentIds_.CalculateSize(_repeated_componentIds_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(EventComponentChg other) {
    if (other == null) {
      return;
    }
    componentIds_.Add(other.componentIds_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10:
        case 8: {
          componentIds_.AddEntriesFrom(input, _repeated_componentIds_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class EventRelationChg : pb::IMessage<EventRelationChg> {
  private static readonly pb::MessageParser<EventRelationChg> _parser = new pb::MessageParser<EventRelationChg>(() => new EventRelationChg());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<EventRelationChg> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[53]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public EventRelationChg() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public EventRelationChg(EventRelationChg other) : this() {
    isGot_ = other.isGot_;
    comId_ = other.comId_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public EventRelationChg Clone() {
    return new EventRelationChg(this);
  }

  /// <summary>Field number for the "is_got" field.</summary>
  public const int IsGotFieldNumber = 1;
  private bool isGot_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool IsGot {
    get { return isGot_; }
    set {
      isGot_ = value;
    }
  }

  /// <summary>Field number for the "com_id" field.</summary>
  public const int ComIdFieldNumber = 2;
  private static readonly pb::FieldCodec<ulong> _repeated_comId_codec
      = pb::FieldCodec.ForUInt64(18);
  private readonly pbc::RepeatedField<ulong> comId_ = new pbc::RepeatedField<ulong>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<ulong> ComId {
    get { return comId_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as EventRelationChg);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(EventRelationChg other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (IsGot != other.IsGot) return false;
    if(!comId_.Equals(other.comId_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (IsGot != false) hash ^= IsGot.GetHashCode();
    hash ^= comId_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (IsGot != false) {
      output.WriteRawTag(8);
      output.WriteBool(IsGot);
    }
    comId_.WriteTo(output, _repeated_comId_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (IsGot != false) {
      size += 1 + 1;
    }
    size += comId_.CalculateSize(_repeated_comId_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(EventRelationChg other) {
    if (other == null) {
      return;
    }
    if (other.IsGot != false) {
      IsGot = other.IsGot;
    }
    comId_.Add(other.comId_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          IsGot = input.ReadBool();
          break;
        }
        case 18:
        case 16: {
          comId_.AddEntriesFrom(input, _repeated_comId_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class Operate : pb::IMessage<Operate> {
  private static readonly pb::MessageParser<Operate> _parser = new pb::MessageParser<Operate>(() => new Operate());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<Operate> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[54]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public Operate() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public Operate(Operate other) : this() {
    type_ = other.type_;
    switch (other.PayloadCase) {
      case PayloadOneofCase.Place:
        Place = other.Place.Clone();
        break;
      case PayloadOneofCase.PlaceConveyor:
        PlaceConveyor = other.PlaceConveyor.Clone();
        break;
      case PayloadOneofCase.Dismantle:
        Dismantle = other.Dismantle.Clone();
        break;
      case PayloadOneofCase.SetCollectTarget:
        SetCollectTarget = other.SetCollectTarget.Clone();
        break;
      case PayloadOneofCase.SetUnloaderSelect:
        SetUnloaderSelect = other.SetUnloaderSelect.Clone();
        break;
      case PayloadOneofCase.PutInItemsToCache:
        PutInItemsToCache = other.PutInItemsToCache.Clone();
        break;
      case PayloadOneofCase.TakeOutItemsFromCache:
        TakeOutItemsFromCache = other.TakeOutItemsFromCache.Clone();
        break;
      case PayloadOneofCase.AddNewArea:
        AddNewArea = other.AddNewArea.Clone();
        break;
      case PayloadOneofCase.SetEventEnable:
        SetEventEnable = other.SetEventEnable.Clone();
        break;
    }

    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public Operate Clone() {
    return new Operate(this);
  }

  /// <summary>Field number for the "type" field.</summary>
  public const int TypeFieldNumber = 1;
  private global::OperateType type_ = 0;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::OperateType Type {
    get { return type_; }
    set {
      type_ = value;
    }
  }

  /// <summary>Field number for the "place" field.</summary>
  public const int PlaceFieldNumber = 11;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::OperatePayloadPlace Place {
    get { return payloadCase_ == PayloadOneofCase.Place ? (global::OperatePayloadPlace) payload_ : null; }
    set {
      payload_ = value;
      payloadCase_ = value == null ? PayloadOneofCase.None : PayloadOneofCase.Place;
    }
  }

  /// <summary>Field number for the "place_conveyor" field.</summary>
  public const int PlaceConveyorFieldNumber = 12;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::OperatePayloadPlaceConveyor PlaceConveyor {
    get { return payloadCase_ == PayloadOneofCase.PlaceConveyor ? (global::OperatePayloadPlaceConveyor) payload_ : null; }
    set {
      payload_ = value;
      payloadCase_ = value == null ? PayloadOneofCase.None : PayloadOneofCase.PlaceConveyor;
    }
  }

  /// <summary>Field number for the "dismantle" field.</summary>
  public const int DismantleFieldNumber = 13;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::OperatePayloadDismantle Dismantle {
    get { return payloadCase_ == PayloadOneofCase.Dismantle ? (global::OperatePayloadDismantle) payload_ : null; }
    set {
      payload_ = value;
      payloadCase_ = value == null ? PayloadOneofCase.None : PayloadOneofCase.Dismantle;
    }
  }

  /// <summary>Field number for the "set_collect_target" field.</summary>
  public const int SetCollectTargetFieldNumber = 14;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::OperatePayloadSetCollectTarget SetCollectTarget {
    get { return payloadCase_ == PayloadOneofCase.SetCollectTarget ? (global::OperatePayloadSetCollectTarget) payload_ : null; }
    set {
      payload_ = value;
      payloadCase_ = value == null ? PayloadOneofCase.None : PayloadOneofCase.SetCollectTarget;
    }
  }

  /// <summary>Field number for the "set_unloader_select" field.</summary>
  public const int SetUnloaderSelectFieldNumber = 15;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::OperatePayloadSetUnloaderSelect SetUnloaderSelect {
    get { return payloadCase_ == PayloadOneofCase.SetUnloaderSelect ? (global::OperatePayloadSetUnloaderSelect) payload_ : null; }
    set {
      payload_ = value;
      payloadCase_ = value == null ? PayloadOneofCase.None : PayloadOneofCase.SetUnloaderSelect;
    }
  }

  /// <summary>Field number for the "put_in_items_to_cache" field.</summary>
  public const int PutInItemsToCacheFieldNumber = 16;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::OperatePayloadPutInItemsToCache PutInItemsToCache {
    get { return payloadCase_ == PayloadOneofCase.PutInItemsToCache ? (global::OperatePayloadPutInItemsToCache) payload_ : null; }
    set {
      payload_ = value;
      payloadCase_ = value == null ? PayloadOneofCase.None : PayloadOneofCase.PutInItemsToCache;
    }
  }

  /// <summary>Field number for the "take_out_items_from_cache" field.</summary>
  public const int TakeOutItemsFromCacheFieldNumber = 17;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::OperatePayloadTakeOutItemsFromCache TakeOutItemsFromCache {
    get { return payloadCase_ == PayloadOneofCase.TakeOutItemsFromCache ? (global::OperatePayloadTakeOutItemsFromCache) payload_ : null; }
    set {
      payload_ = value;
      payloadCase_ = value == null ? PayloadOneofCase.None : PayloadOneofCase.TakeOutItemsFromCache;
    }
  }

  /// <summary>Field number for the "add_new_area" field.</summary>
  public const int AddNewAreaFieldNumber = 18;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::OperatePayloadAddNewArea AddNewArea {
    get { return payloadCase_ == PayloadOneofCase.AddNewArea ? (global::OperatePayloadAddNewArea) payload_ : null; }
    set {
      payload_ = value;
      payloadCase_ = value == null ? PayloadOneofCase.None : PayloadOneofCase.AddNewArea;
    }
  }

  /// <summary>Field number for the "set_event_enable" field.</summary>
  public const int SetEventEnableFieldNumber = 19;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::OperatePayloadSetEventEnable SetEventEnable {
    get { return payloadCase_ == PayloadOneofCase.SetEventEnable ? (global::OperatePayloadSetEventEnable) payload_ : null; }
    set {
      payload_ = value;
      payloadCase_ = value == null ? PayloadOneofCase.None : PayloadOneofCase.SetEventEnable;
    }
  }

  private object payload_;
  /// <summary>Enum of possible cases for the "payload" oneof.</summary>
  public enum PayloadOneofCase {
    None = 0,
    Place = 11,
    PlaceConveyor = 12,
    Dismantle = 13,
    SetCollectTarget = 14,
    SetUnloaderSelect = 15,
    PutInItemsToCache = 16,
    TakeOutItemsFromCache = 17,
    AddNewArea = 18,
    SetEventEnable = 19,
  }
  private PayloadOneofCase payloadCase_ = PayloadOneofCase.None;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public PayloadOneofCase PayloadCase {
    get { return payloadCase_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void ClearPayload() {
    payloadCase_ = PayloadOneofCase.None;
    payload_ = null;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as Operate);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(Operate other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Type != other.Type) return false;
    if (!object.Equals(Place, other.Place)) return false;
    if (!object.Equals(PlaceConveyor, other.PlaceConveyor)) return false;
    if (!object.Equals(Dismantle, other.Dismantle)) return false;
    if (!object.Equals(SetCollectTarget, other.SetCollectTarget)) return false;
    if (!object.Equals(SetUnloaderSelect, other.SetUnloaderSelect)) return false;
    if (!object.Equals(PutInItemsToCache, other.PutInItemsToCache)) return false;
    if (!object.Equals(TakeOutItemsFromCache, other.TakeOutItemsFromCache)) return false;
    if (!object.Equals(AddNewArea, other.AddNewArea)) return false;
    if (!object.Equals(SetEventEnable, other.SetEventEnable)) return false;
    if (PayloadCase != other.PayloadCase) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Type != 0) hash ^= Type.GetHashCode();
    if (payloadCase_ == PayloadOneofCase.Place) hash ^= Place.GetHashCode();
    if (payloadCase_ == PayloadOneofCase.PlaceConveyor) hash ^= PlaceConveyor.GetHashCode();
    if (payloadCase_ == PayloadOneofCase.Dismantle) hash ^= Dismantle.GetHashCode();
    if (payloadCase_ == PayloadOneofCase.SetCollectTarget) hash ^= SetCollectTarget.GetHashCode();
    if (payloadCase_ == PayloadOneofCase.SetUnloaderSelect) hash ^= SetUnloaderSelect.GetHashCode();
    if (payloadCase_ == PayloadOneofCase.PutInItemsToCache) hash ^= PutInItemsToCache.GetHashCode();
    if (payloadCase_ == PayloadOneofCase.TakeOutItemsFromCache) hash ^= TakeOutItemsFromCache.GetHashCode();
    if (payloadCase_ == PayloadOneofCase.AddNewArea) hash ^= AddNewArea.GetHashCode();
    if (payloadCase_ == PayloadOneofCase.SetEventEnable) hash ^= SetEventEnable.GetHashCode();
    hash ^= (int) payloadCase_;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Type != 0) {
      output.WriteRawTag(8);
      output.WriteEnum((int) Type);
    }
    if (payloadCase_ == PayloadOneofCase.Place) {
      output.WriteRawTag(90);
      output.WriteMessage(Place);
    }
    if (payloadCase_ == PayloadOneofCase.PlaceConveyor) {
      output.WriteRawTag(98);
      output.WriteMessage(PlaceConveyor);
    }
    if (payloadCase_ == PayloadOneofCase.Dismantle) {
      output.WriteRawTag(106);
      output.WriteMessage(Dismantle);
    }
    if (payloadCase_ == PayloadOneofCase.SetCollectTarget) {
      output.WriteRawTag(114);
      output.WriteMessage(SetCollectTarget);
    }
    if (payloadCase_ == PayloadOneofCase.SetUnloaderSelect) {
      output.WriteRawTag(122);
      output.WriteMessage(SetUnloaderSelect);
    }
    if (payloadCase_ == PayloadOneofCase.PutInItemsToCache) {
      output.WriteRawTag(130, 1);
      output.WriteMessage(PutInItemsToCache);
    }
    if (payloadCase_ == PayloadOneofCase.TakeOutItemsFromCache) {
      output.WriteRawTag(138, 1);
      output.WriteMessage(TakeOutItemsFromCache);
    }
    if (payloadCase_ == PayloadOneofCase.AddNewArea) {
      output.WriteRawTag(146, 1);
      output.WriteMessage(AddNewArea);
    }
    if (payloadCase_ == PayloadOneofCase.SetEventEnable) {
      output.WriteRawTag(154, 1);
      output.WriteMessage(SetEventEnable);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Type != 0) {
      size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Type);
    }
    if (payloadCase_ == PayloadOneofCase.Place) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Place);
    }
    if (payloadCase_ == PayloadOneofCase.PlaceConveyor) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(PlaceConveyor);
    }
    if (payloadCase_ == PayloadOneofCase.Dismantle) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Dismantle);
    }
    if (payloadCase_ == PayloadOneofCase.SetCollectTarget) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(SetCollectTarget);
    }
    if (payloadCase_ == PayloadOneofCase.SetUnloaderSelect) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(SetUnloaderSelect);
    }
    if (payloadCase_ == PayloadOneofCase.PutInItemsToCache) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(PutInItemsToCache);
    }
    if (payloadCase_ == PayloadOneofCase.TakeOutItemsFromCache) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(TakeOutItemsFromCache);
    }
    if (payloadCase_ == PayloadOneofCase.AddNewArea) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(AddNewArea);
    }
    if (payloadCase_ == PayloadOneofCase.SetEventEnable) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(SetEventEnable);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(Operate other) {
    if (other == null) {
      return;
    }
    if (other.Type != 0) {
      Type = other.Type;
    }
    switch (other.PayloadCase) {
      case PayloadOneofCase.Place:
        if (Place == null) {
          Place = new global::OperatePayloadPlace();
        }
        Place.MergeFrom(other.Place);
        break;
      case PayloadOneofCase.PlaceConveyor:
        if (PlaceConveyor == null) {
          PlaceConveyor = new global::OperatePayloadPlaceConveyor();
        }
        PlaceConveyor.MergeFrom(other.PlaceConveyor);
        break;
      case PayloadOneofCase.Dismantle:
        if (Dismantle == null) {
          Dismantle = new global::OperatePayloadDismantle();
        }
        Dismantle.MergeFrom(other.Dismantle);
        break;
      case PayloadOneofCase.SetCollectTarget:
        if (SetCollectTarget == null) {
          SetCollectTarget = new global::OperatePayloadSetCollectTarget();
        }
        SetCollectTarget.MergeFrom(other.SetCollectTarget);
        break;
      case PayloadOneofCase.SetUnloaderSelect:
        if (SetUnloaderSelect == null) {
          SetUnloaderSelect = new global::OperatePayloadSetUnloaderSelect();
        }
        SetUnloaderSelect.MergeFrom(other.SetUnloaderSelect);
        break;
      case PayloadOneofCase.PutInItemsToCache:
        if (PutInItemsToCache == null) {
          PutInItemsToCache = new global::OperatePayloadPutInItemsToCache();
        }
        PutInItemsToCache.MergeFrom(other.PutInItemsToCache);
        break;
      case PayloadOneofCase.TakeOutItemsFromCache:
        if (TakeOutItemsFromCache == null) {
          TakeOutItemsFromCache = new global::OperatePayloadTakeOutItemsFromCache();
        }
        TakeOutItemsFromCache.MergeFrom(other.TakeOutItemsFromCache);
        break;
      case PayloadOneofCase.AddNewArea:
        if (AddNewArea == null) {
          AddNewArea = new global::OperatePayloadAddNewArea();
        }
        AddNewArea.MergeFrom(other.AddNewArea);
        break;
      case PayloadOneofCase.SetEventEnable:
        if (SetEventEnable == null) {
          SetEventEnable = new global::OperatePayloadSetEventEnable();
        }
        SetEventEnable.MergeFrom(other.SetEventEnable);
        break;
    }

    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          type_ = (global::OperateType) input.ReadEnum();
          break;
        }
        case 90: {
          global::OperatePayloadPlace subBuilder = new global::OperatePayloadPlace();
          if (payloadCase_ == PayloadOneofCase.Place) {
            subBuilder.MergeFrom(Place);
          }
          input.ReadMessage(subBuilder);
          Place = subBuilder;
          break;
        }
        case 98: {
          global::OperatePayloadPlaceConveyor subBuilder = new global::OperatePayloadPlaceConveyor();
          if (payloadCase_ == PayloadOneofCase.PlaceConveyor) {
            subBuilder.MergeFrom(PlaceConveyor);
          }
          input.ReadMessage(subBuilder);
          PlaceConveyor = subBuilder;
          break;
        }
        case 106: {
          global::OperatePayloadDismantle subBuilder = new global::OperatePayloadDismantle();
          if (payloadCase_ == PayloadOneofCase.Dismantle) {
            subBuilder.MergeFrom(Dismantle);
          }
          input.ReadMessage(subBuilder);
          Dismantle = subBuilder;
          break;
        }
        case 114: {
          global::OperatePayloadSetCollectTarget subBuilder = new global::OperatePayloadSetCollectTarget();
          if (payloadCase_ == PayloadOneofCase.SetCollectTarget) {
            subBuilder.MergeFrom(SetCollectTarget);
          }
          input.ReadMessage(subBuilder);
          SetCollectTarget = subBuilder;
          break;
        }
        case 122: {
          global::OperatePayloadSetUnloaderSelect subBuilder = new global::OperatePayloadSetUnloaderSelect();
          if (payloadCase_ == PayloadOneofCase.SetUnloaderSelect) {
            subBuilder.MergeFrom(SetUnloaderSelect);
          }
          input.ReadMessage(subBuilder);
          SetUnloaderSelect = subBuilder;
          break;
        }
        case 130: {
          global::OperatePayloadPutInItemsToCache subBuilder = new global::OperatePayloadPutInItemsToCache();
          if (payloadCase_ == PayloadOneofCase.PutInItemsToCache) {
            subBuilder.MergeFrom(PutInItemsToCache);
          }
          input.ReadMessage(subBuilder);
          PutInItemsToCache = subBuilder;
          break;
        }
        case 138: {
          global::OperatePayloadTakeOutItemsFromCache subBuilder = new global::OperatePayloadTakeOutItemsFromCache();
          if (payloadCase_ == PayloadOneofCase.TakeOutItemsFromCache) {
            subBuilder.MergeFrom(TakeOutItemsFromCache);
          }
          input.ReadMessage(subBuilder);
          TakeOutItemsFromCache = subBuilder;
          break;
        }
        case 146: {
          global::OperatePayloadAddNewArea subBuilder = new global::OperatePayloadAddNewArea();
          if (payloadCase_ == PayloadOneofCase.AddNewArea) {
            subBuilder.MergeFrom(AddNewArea);
          }
          input.ReadMessage(subBuilder);
          AddNewArea = subBuilder;
          break;
        }
        case 154: {
          global::OperatePayloadSetEventEnable subBuilder = new global::OperatePayloadSetEventEnable();
          if (payloadCase_ == PayloadOneofCase.SetEventEnable) {
            subBuilder.MergeFrom(SetEventEnable);
          }
          input.ReadMessage(subBuilder);
          SetEventEnable = subBuilder;
          break;
        }
      }
    }
  }

}

public sealed partial class OperatePayloadPlace : pb::IMessage<OperatePayloadPlace> {
  private static readonly pb::MessageParser<OperatePayloadPlace> _parser = new pb::MessageParser<OperatePayloadPlace>(() => new OperatePayloadPlace());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<OperatePayloadPlace> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[55]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public OperatePayloadPlace() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public OperatePayloadPlace(OperatePayloadPlace other) : this() {
    templateId_ = other.templateId_;
    pos_ = other.pos_ != null ? other.pos_.Clone() : null;
    direction_ = other.direction_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public OperatePayloadPlace Clone() {
    return new OperatePayloadPlace(this);
  }

  /// <summary>Field number for the "template_id" field.</summary>
  public const int TemplateIdFieldNumber = 1;
  private string templateId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string TemplateId {
    get { return templateId_; }
    set {
      templateId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "pos" field.</summary>
  public const int PosFieldNumber = 2;
  private global::Vector2 pos_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::Vector2 Pos {
    get { return pos_; }
    set {
      pos_ = value;
    }
  }

  /// <summary>Field number for the "direction" field.</summary>
  public const int DirectionFieldNumber = 3;
  private global::Direction direction_ = 0;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::Direction Direction {
    get { return direction_; }
    set {
      direction_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as OperatePayloadPlace);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(OperatePayloadPlace other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (TemplateId != other.TemplateId) return false;
    if (!object.Equals(Pos, other.Pos)) return false;
    if (Direction != other.Direction) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (TemplateId.Length != 0) hash ^= TemplateId.GetHashCode();
    if (pos_ != null) hash ^= Pos.GetHashCode();
    if (Direction != 0) hash ^= Direction.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (TemplateId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(TemplateId);
    }
    if (pos_ != null) {
      output.WriteRawTag(18);
      output.WriteMessage(Pos);
    }
    if (Direction != 0) {
      output.WriteRawTag(24);
      output.WriteEnum((int) Direction);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (TemplateId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(TemplateId);
    }
    if (pos_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Pos);
    }
    if (Direction != 0) {
      size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Direction);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(OperatePayloadPlace other) {
    if (other == null) {
      return;
    }
    if (other.TemplateId.Length != 0) {
      TemplateId = other.TemplateId;
    }
    if (other.pos_ != null) {
      if (pos_ == null) {
        pos_ = new global::Vector2();
      }
      Pos.MergeFrom(other.Pos);
    }
    if (other.Direction != 0) {
      Direction = other.Direction;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          TemplateId = input.ReadString();
          break;
        }
        case 18: {
          if (pos_ == null) {
            pos_ = new global::Vector2();
          }
          input.ReadMessage(pos_);
          break;
        }
        case 24: {
          direction_ = (global::Direction) input.ReadEnum();
          break;
        }
      }
    }
  }

}

public sealed partial class OperatePayloadPlaceConveyor : pb::IMessage<OperatePayloadPlaceConveyor> {
  private static readonly pb::MessageParser<OperatePayloadPlaceConveyor> _parser = new pb::MessageParser<OperatePayloadPlaceConveyor>(() => new OperatePayloadPlaceConveyor());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<OperatePayloadPlaceConveyor> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[56]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public OperatePayloadPlaceConveyor() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public OperatePayloadPlaceConveyor(OperatePayloadPlaceConveyor other) : this() {
    templateId_ = other.templateId_;
    directionIn_ = other.directionIn_;
    directionOut_ = other.directionOut_;
    points_ = other.points_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public OperatePayloadPlaceConveyor Clone() {
    return new OperatePayloadPlaceConveyor(this);
  }

  /// <summary>Field number for the "template_id" field.</summary>
  public const int TemplateIdFieldNumber = 1;
  private string templateId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string TemplateId {
    get { return templateId_; }
    set {
      templateId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "direction_in" field.</summary>
  public const int DirectionInFieldNumber = 2;
  private global::Direction directionIn_ = 0;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::Direction DirectionIn {
    get { return directionIn_; }
    set {
      directionIn_ = value;
    }
  }

  /// <summary>Field number for the "direction_out" field.</summary>
  public const int DirectionOutFieldNumber = 3;
  private global::Direction directionOut_ = 0;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::Direction DirectionOut {
    get { return directionOut_; }
    set {
      directionOut_ = value;
    }
  }

  /// <summary>Field number for the "points" field.</summary>
  public const int PointsFieldNumber = 4;
  private static readonly pb::FieldCodec<global::Vector2> _repeated_points_codec
      = pb::FieldCodec.ForMessage(34, global::Vector2.Parser);
  private readonly pbc::RepeatedField<global::Vector2> points_ = new pbc::RepeatedField<global::Vector2>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::Vector2> Points {
    get { return points_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as OperatePayloadPlaceConveyor);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(OperatePayloadPlaceConveyor other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (TemplateId != other.TemplateId) return false;
    if (DirectionIn != other.DirectionIn) return false;
    if (DirectionOut != other.DirectionOut) return false;
    if(!points_.Equals(other.points_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (TemplateId.Length != 0) hash ^= TemplateId.GetHashCode();
    if (DirectionIn != 0) hash ^= DirectionIn.GetHashCode();
    if (DirectionOut != 0) hash ^= DirectionOut.GetHashCode();
    hash ^= points_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (TemplateId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(TemplateId);
    }
    if (DirectionIn != 0) {
      output.WriteRawTag(16);
      output.WriteEnum((int) DirectionIn);
    }
    if (DirectionOut != 0) {
      output.WriteRawTag(24);
      output.WriteEnum((int) DirectionOut);
    }
    points_.WriteTo(output, _repeated_points_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (TemplateId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(TemplateId);
    }
    if (DirectionIn != 0) {
      size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) DirectionIn);
    }
    if (DirectionOut != 0) {
      size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) DirectionOut);
    }
    size += points_.CalculateSize(_repeated_points_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(OperatePayloadPlaceConveyor other) {
    if (other == null) {
      return;
    }
    if (other.TemplateId.Length != 0) {
      TemplateId = other.TemplateId;
    }
    if (other.DirectionIn != 0) {
      DirectionIn = other.DirectionIn;
    }
    if (other.DirectionOut != 0) {
      DirectionOut = other.DirectionOut;
    }
    points_.Add(other.points_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          TemplateId = input.ReadString();
          break;
        }
        case 16: {
          directionIn_ = (global::Direction) input.ReadEnum();
          break;
        }
        case 24: {
          directionOut_ = (global::Direction) input.ReadEnum();
          break;
        }
        case 34: {
          points_.AddEntriesFrom(input, _repeated_points_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class OperatePayloadDismantle : pb::IMessage<OperatePayloadDismantle> {
  private static readonly pb::MessageParser<OperatePayloadDismantle> _parser = new pb::MessageParser<OperatePayloadDismantle>(() => new OperatePayloadDismantle());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<OperatePayloadDismantle> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[57]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public OperatePayloadDismantle() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public OperatePayloadDismantle(OperatePayloadDismantle other) : this() {
    nodeId_ = other.nodeId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public OperatePayloadDismantle Clone() {
    return new OperatePayloadDismantle(this);
  }

  /// <summary>Field number for the "node_id" field.</summary>
  public const int NodeIdFieldNumber = 1;
  private ulong nodeId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong NodeId {
    get { return nodeId_; }
    set {
      nodeId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as OperatePayloadDismantle);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(OperatePayloadDismantle other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (NodeId != other.NodeId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (NodeId != 0UL) hash ^= NodeId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (NodeId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(NodeId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (NodeId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(NodeId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(OperatePayloadDismantle other) {
    if (other == null) {
      return;
    }
    if (other.NodeId != 0UL) {
      NodeId = other.NodeId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          NodeId = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class OperatePayloadSetCollectTarget : pb::IMessage<OperatePayloadSetCollectTarget> {
  private static readonly pb::MessageParser<OperatePayloadSetCollectTarget> _parser = new pb::MessageParser<OperatePayloadSetCollectTarget>(() => new OperatePayloadSetCollectTarget());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<OperatePayloadSetCollectTarget> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[58]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public OperatePayloadSetCollectTarget() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public OperatePayloadSetCollectTarget(OperatePayloadSetCollectTarget other) : this() {
    nodeId_ = other.nodeId_;
    itemsPerRound_ = other.itemsPerRound_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public OperatePayloadSetCollectTarget Clone() {
    return new OperatePayloadSetCollectTarget(this);
  }

  /// <summary>Field number for the "node_id" field.</summary>
  public const int NodeIdFieldNumber = 1;
  private ulong nodeId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong NodeId {
    get { return nodeId_; }
    set {
      nodeId_ = value;
    }
  }

  /// <summary>Field number for the "items_per_round" field.</summary>
  public const int ItemsPerRoundFieldNumber = 2;
  private static readonly pb::FieldCodec<global::ItemUnit> _repeated_itemsPerRound_codec
      = pb::FieldCodec.ForMessage(18, global::ItemUnit.Parser);
  private readonly pbc::RepeatedField<global::ItemUnit> itemsPerRound_ = new pbc::RepeatedField<global::ItemUnit>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ItemUnit> ItemsPerRound {
    get { return itemsPerRound_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as OperatePayloadSetCollectTarget);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(OperatePayloadSetCollectTarget other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (NodeId != other.NodeId) return false;
    if(!itemsPerRound_.Equals(other.itemsPerRound_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (NodeId != 0UL) hash ^= NodeId.GetHashCode();
    hash ^= itemsPerRound_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (NodeId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(NodeId);
    }
    itemsPerRound_.WriteTo(output, _repeated_itemsPerRound_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (NodeId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(NodeId);
    }
    size += itemsPerRound_.CalculateSize(_repeated_itemsPerRound_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(OperatePayloadSetCollectTarget other) {
    if (other == null) {
      return;
    }
    if (other.NodeId != 0UL) {
      NodeId = other.NodeId;
    }
    itemsPerRound_.Add(other.itemsPerRound_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          NodeId = input.ReadUInt64();
          break;
        }
        case 18: {
          itemsPerRound_.AddEntriesFrom(input, _repeated_itemsPerRound_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class OperatePayloadSetUnloaderSelect : pb::IMessage<OperatePayloadSetUnloaderSelect> {
  private static readonly pb::MessageParser<OperatePayloadSetUnloaderSelect> _parser = new pb::MessageParser<OperatePayloadSetUnloaderSelect>(() => new OperatePayloadSetUnloaderSelect());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<OperatePayloadSetUnloaderSelect> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[59]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public OperatePayloadSetUnloaderSelect() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public OperatePayloadSetUnloaderSelect(OperatePayloadSetUnloaderSelect other) : this() {
    nodeId_ = other.nodeId_;
    itemId_ = other.itemId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public OperatePayloadSetUnloaderSelect Clone() {
    return new OperatePayloadSetUnloaderSelect(this);
  }

  /// <summary>Field number for the "node_id" field.</summary>
  public const int NodeIdFieldNumber = 1;
  private ulong nodeId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong NodeId {
    get { return nodeId_; }
    set {
      nodeId_ = value;
    }
  }

  /// <summary>Field number for the "item_id" field.</summary>
  public const int ItemIdFieldNumber = 2;
  private string itemId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ItemId {
    get { return itemId_; }
    set {
      itemId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as OperatePayloadSetUnloaderSelect);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(OperatePayloadSetUnloaderSelect other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (NodeId != other.NodeId) return false;
    if (ItemId != other.ItemId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (NodeId != 0UL) hash ^= NodeId.GetHashCode();
    if (ItemId.Length != 0) hash ^= ItemId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (NodeId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(NodeId);
    }
    if (ItemId.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(ItemId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (NodeId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(NodeId);
    }
    if (ItemId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ItemId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(OperatePayloadSetUnloaderSelect other) {
    if (other == null) {
      return;
    }
    if (other.NodeId != 0UL) {
      NodeId = other.NodeId;
    }
    if (other.ItemId.Length != 0) {
      ItemId = other.ItemId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          NodeId = input.ReadUInt64();
          break;
        }
        case 18: {
          ItemId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class OperatePayloadPutInItemsToCache : pb::IMessage<OperatePayloadPutInItemsToCache> {
  private static readonly pb::MessageParser<OperatePayloadPutInItemsToCache> _parser = new pb::MessageParser<OperatePayloadPutInItemsToCache>(() => new OperatePayloadPutInItemsToCache());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<OperatePayloadPutInItemsToCache> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[60]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public OperatePayloadPutInItemsToCache() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public OperatePayloadPutInItemsToCache(OperatePayloadPutInItemsToCache other) : this() {
    comId_ = other.comId_;
    items_ = other.items_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public OperatePayloadPutInItemsToCache Clone() {
    return new OperatePayloadPutInItemsToCache(this);
  }

  /// <summary>Field number for the "com_id" field.</summary>
  public const int ComIdFieldNumber = 1;
  private ulong comId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong ComId {
    get { return comId_; }
    set {
      comId_ = value;
    }
  }

  /// <summary>Field number for the "items" field.</summary>
  public const int ItemsFieldNumber = 2;
  private static readonly pb::FieldCodec<global::ItemUnit> _repeated_items_codec
      = pb::FieldCodec.ForMessage(18, global::ItemUnit.Parser);
  private readonly pbc::RepeatedField<global::ItemUnit> items_ = new pbc::RepeatedField<global::ItemUnit>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ItemUnit> Items {
    get { return items_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as OperatePayloadPutInItemsToCache);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(OperatePayloadPutInItemsToCache other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ComId != other.ComId) return false;
    if(!items_.Equals(other.items_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ComId != 0UL) hash ^= ComId.GetHashCode();
    hash ^= items_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ComId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(ComId);
    }
    items_.WriteTo(output, _repeated_items_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ComId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(ComId);
    }
    size += items_.CalculateSize(_repeated_items_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(OperatePayloadPutInItemsToCache other) {
    if (other == null) {
      return;
    }
    if (other.ComId != 0UL) {
      ComId = other.ComId;
    }
    items_.Add(other.items_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ComId = input.ReadUInt64();
          break;
        }
        case 18: {
          items_.AddEntriesFrom(input, _repeated_items_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class OperatePayloadTakeOutItemsFromCache : pb::IMessage<OperatePayloadTakeOutItemsFromCache> {
  private static readonly pb::MessageParser<OperatePayloadTakeOutItemsFromCache> _parser = new pb::MessageParser<OperatePayloadTakeOutItemsFromCache>(() => new OperatePayloadTakeOutItemsFromCache());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<OperatePayloadTakeOutItemsFromCache> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[61]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public OperatePayloadTakeOutItemsFromCache() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public OperatePayloadTakeOutItemsFromCache(OperatePayloadTakeOutItemsFromCache other) : this() {
    comId_ = other.comId_;
    items_ = other.items_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public OperatePayloadTakeOutItemsFromCache Clone() {
    return new OperatePayloadTakeOutItemsFromCache(this);
  }

  /// <summary>Field number for the "com_id" field.</summary>
  public const int ComIdFieldNumber = 1;
  private ulong comId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong ComId {
    get { return comId_; }
    set {
      comId_ = value;
    }
  }

  /// <summary>Field number for the "items" field.</summary>
  public const int ItemsFieldNumber = 2;
  private static readonly pb::FieldCodec<global::ItemUnit> _repeated_items_codec
      = pb::FieldCodec.ForMessage(18, global::ItemUnit.Parser);
  private readonly pbc::RepeatedField<global::ItemUnit> items_ = new pbc::RepeatedField<global::ItemUnit>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ItemUnit> Items {
    get { return items_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as OperatePayloadTakeOutItemsFromCache);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(OperatePayloadTakeOutItemsFromCache other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ComId != other.ComId) return false;
    if(!items_.Equals(other.items_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ComId != 0UL) hash ^= ComId.GetHashCode();
    hash ^= items_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ComId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(ComId);
    }
    items_.WriteTo(output, _repeated_items_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ComId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(ComId);
    }
    size += items_.CalculateSize(_repeated_items_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(OperatePayloadTakeOutItemsFromCache other) {
    if (other == null) {
      return;
    }
    if (other.ComId != 0UL) {
      ComId = other.ComId;
    }
    items_.Add(other.items_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ComId = input.ReadUInt64();
          break;
        }
        case 18: {
          items_.AddEntriesFrom(input, _repeated_items_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class OperatePayloadAddNewArea : pb::IMessage<OperatePayloadAddNewArea> {
  private static readonly pb::MessageParser<OperatePayloadAddNewArea> _parser = new pb::MessageParser<OperatePayloadAddNewArea>(() => new OperatePayloadAddNewArea());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<OperatePayloadAddNewArea> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[62]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public OperatePayloadAddNewArea() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public OperatePayloadAddNewArea(OperatePayloadAddNewArea other) : this() {
    area_ = other.area_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public OperatePayloadAddNewArea Clone() {
    return new OperatePayloadAddNewArea(this);
  }

  /// <summary>Field number for the "area" field.</summary>
  public const int AreaFieldNumber = 1;
  private static readonly pb::FieldCodec<global::Vector2> _repeated_area_codec
      = pb::FieldCodec.ForMessage(10, global::Vector2.Parser);
  private readonly pbc::RepeatedField<global::Vector2> area_ = new pbc::RepeatedField<global::Vector2>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::Vector2> Area {
    get { return area_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as OperatePayloadAddNewArea);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(OperatePayloadAddNewArea other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!area_.Equals(other.area_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= area_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    area_.WriteTo(output, _repeated_area_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += area_.CalculateSize(_repeated_area_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(OperatePayloadAddNewArea other) {
    if (other == null) {
      return;
    }
    area_.Add(other.area_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          area_.AddEntriesFrom(input, _repeated_area_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class OperatePayloadSetEventEnable : pb::IMessage<OperatePayloadSetEventEnable> {
  private static readonly pb::MessageParser<OperatePayloadSetEventEnable> _parser = new pb::MessageParser<OperatePayloadSetEventEnable>(() => new OperatePayloadSetEventEnable());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<OperatePayloadSetEventEnable> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[63]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public OperatePayloadSetEventEnable() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public OperatePayloadSetEventEnable(OperatePayloadSetEventEnable other) : this() {
    enable_ = other.enable_;
    eventTypeList_ = other.eventTypeList_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public OperatePayloadSetEventEnable Clone() {
    return new OperatePayloadSetEventEnable(this);
  }

  /// <summary>Field number for the "enable" field.</summary>
  public const int EnableFieldNumber = 1;
  private bool enable_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Enable {
    get { return enable_; }
    set {
      enable_ = value;
    }
  }

  /// <summary>Field number for the "event_type_list" field.</summary>
  public const int EventTypeListFieldNumber = 2;
  private static readonly pb::FieldCodec<global::EventType> _repeated_eventTypeList_codec
      = pb::FieldCodec.ForEnum(18, x => (int) x, x => (global::EventType) x);
  private readonly pbc::RepeatedField<global::EventType> eventTypeList_ = new pbc::RepeatedField<global::EventType>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::EventType> EventTypeList {
    get { return eventTypeList_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as OperatePayloadSetEventEnable);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(OperatePayloadSetEventEnable other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Enable != other.Enable) return false;
    if(!eventTypeList_.Equals(other.eventTypeList_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Enable != false) hash ^= Enable.GetHashCode();
    hash ^= eventTypeList_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Enable != false) {
      output.WriteRawTag(8);
      output.WriteBool(Enable);
    }
    eventTypeList_.WriteTo(output, _repeated_eventTypeList_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Enable != false) {
      size += 1 + 1;
    }
    size += eventTypeList_.CalculateSize(_repeated_eventTypeList_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(OperatePayloadSetEventEnable other) {
    if (other == null) {
      return;
    }
    if (other.Enable != false) {
      Enable = other.Enable;
    }
    eventTypeList_.Add(other.eventTypeList_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Enable = input.ReadBool();
          break;
        }
        case 18:
        case 16: {
          eventTypeList_.AddEntriesFrom(input, _repeated_eventTypeList_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class OperateReturn : pb::IMessage<OperateReturn> {
  private static readonly pb::MessageParser<OperateReturn> _parser = new pb::MessageParser<OperateReturn>(() => new OperateReturn());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<OperateReturn> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[64]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public OperateReturn() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public OperateReturn(OperateReturn other) : this() {
    retCode_ = other.retCode_;
    timestampMS_ = other.timestampMS_;
    sequence_ = other.sequence_;
    switch (other.PayloadCase) {
      case PayloadOneofCase.Place:
        Place = other.Place.Clone();
        break;
      case PayloadOneofCase.PlaceConveyor:
        PlaceConveyor = other.PlaceConveyor.Clone();
        break;
      case PayloadOneofCase.PutInItemsToCache:
        PutInItemsToCache = other.PutInItemsToCache.Clone();
        break;
      case PayloadOneofCase.TakeOutItemsFromCache:
        TakeOutItemsFromCache = other.TakeOutItemsFromCache.Clone();
        break;
    }

    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public OperateReturn Clone() {
    return new OperateReturn(this);
  }

  /// <summary>Field number for the "ret_code" field.</summary>
  public const int RetCodeFieldNumber = 1;
  private global::OperateRetCode retCode_ = 0;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::OperateRetCode RetCode {
    get { return retCode_; }
    set {
      retCode_ = value;
    }
  }

  /// <summary>Field number for the "timestamp_m_s" field.</summary>
  public const int TimestampMSFieldNumber = 2;
  private long timestampMS_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long TimestampMS {
    get { return timestampMS_; }
    set {
      timestampMS_ = value;
    }
  }

  /// <summary>Field number for the "sequence" field.</summary>
  public const int SequenceFieldNumber = 3;
  private ulong sequence_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong Sequence {
    get { return sequence_; }
    set {
      sequence_ = value;
    }
  }

  /// <summary>Field number for the "place" field.</summary>
  public const int PlaceFieldNumber = 11;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::OperateReturnPlace Place {
    get { return payloadCase_ == PayloadOneofCase.Place ? (global::OperateReturnPlace) payload_ : null; }
    set {
      payload_ = value;
      payloadCase_ = value == null ? PayloadOneofCase.None : PayloadOneofCase.Place;
    }
  }

  /// <summary>Field number for the "place_conveyor" field.</summary>
  public const int PlaceConveyorFieldNumber = 12;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::OperateReturnPlaceConveyor PlaceConveyor {
    get { return payloadCase_ == PayloadOneofCase.PlaceConveyor ? (global::OperateReturnPlaceConveyor) payload_ : null; }
    set {
      payload_ = value;
      payloadCase_ = value == null ? PayloadOneofCase.None : PayloadOneofCase.PlaceConveyor;
    }
  }

  /// <summary>Field number for the "put_in_items_to_cache" field.</summary>
  public const int PutInItemsToCacheFieldNumber = 13;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::OperateReturnPutInItemsToCache PutInItemsToCache {
    get { return payloadCase_ == PayloadOneofCase.PutInItemsToCache ? (global::OperateReturnPutInItemsToCache) payload_ : null; }
    set {
      payload_ = value;
      payloadCase_ = value == null ? PayloadOneofCase.None : PayloadOneofCase.PutInItemsToCache;
    }
  }

  /// <summary>Field number for the "take_out_items_from_cache" field.</summary>
  public const int TakeOutItemsFromCacheFieldNumber = 14;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::OperateReturnTakeOutItemsFromCache TakeOutItemsFromCache {
    get { return payloadCase_ == PayloadOneofCase.TakeOutItemsFromCache ? (global::OperateReturnTakeOutItemsFromCache) payload_ : null; }
    set {
      payload_ = value;
      payloadCase_ = value == null ? PayloadOneofCase.None : PayloadOneofCase.TakeOutItemsFromCache;
    }
  }

  private object payload_;
  /// <summary>Enum of possible cases for the "payload" oneof.</summary>
  public enum PayloadOneofCase {
    None = 0,
    Place = 11,
    PlaceConveyor = 12,
    PutInItemsToCache = 13,
    TakeOutItemsFromCache = 14,
  }
  private PayloadOneofCase payloadCase_ = PayloadOneofCase.None;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public PayloadOneofCase PayloadCase {
    get { return payloadCase_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void ClearPayload() {
    payloadCase_ = PayloadOneofCase.None;
    payload_ = null;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as OperateReturn);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(OperateReturn other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (RetCode != other.RetCode) return false;
    if (TimestampMS != other.TimestampMS) return false;
    if (Sequence != other.Sequence) return false;
    if (!object.Equals(Place, other.Place)) return false;
    if (!object.Equals(PlaceConveyor, other.PlaceConveyor)) return false;
    if (!object.Equals(PutInItemsToCache, other.PutInItemsToCache)) return false;
    if (!object.Equals(TakeOutItemsFromCache, other.TakeOutItemsFromCache)) return false;
    if (PayloadCase != other.PayloadCase) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (RetCode != 0) hash ^= RetCode.GetHashCode();
    if (TimestampMS != 0L) hash ^= TimestampMS.GetHashCode();
    if (Sequence != 0UL) hash ^= Sequence.GetHashCode();
    if (payloadCase_ == PayloadOneofCase.Place) hash ^= Place.GetHashCode();
    if (payloadCase_ == PayloadOneofCase.PlaceConveyor) hash ^= PlaceConveyor.GetHashCode();
    if (payloadCase_ == PayloadOneofCase.PutInItemsToCache) hash ^= PutInItemsToCache.GetHashCode();
    if (payloadCase_ == PayloadOneofCase.TakeOutItemsFromCache) hash ^= TakeOutItemsFromCache.GetHashCode();
    hash ^= (int) payloadCase_;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (RetCode != 0) {
      output.WriteRawTag(8);
      output.WriteEnum((int) RetCode);
    }
    if (TimestampMS != 0L) {
      output.WriteRawTag(16);
      output.WriteInt64(TimestampMS);
    }
    if (Sequence != 0UL) {
      output.WriteRawTag(24);
      output.WriteUInt64(Sequence);
    }
    if (payloadCase_ == PayloadOneofCase.Place) {
      output.WriteRawTag(90);
      output.WriteMessage(Place);
    }
    if (payloadCase_ == PayloadOneofCase.PlaceConveyor) {
      output.WriteRawTag(98);
      output.WriteMessage(PlaceConveyor);
    }
    if (payloadCase_ == PayloadOneofCase.PutInItemsToCache) {
      output.WriteRawTag(106);
      output.WriteMessage(PutInItemsToCache);
    }
    if (payloadCase_ == PayloadOneofCase.TakeOutItemsFromCache) {
      output.WriteRawTag(114);
      output.WriteMessage(TakeOutItemsFromCache);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (RetCode != 0) {
      size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) RetCode);
    }
    if (TimestampMS != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(TimestampMS);
    }
    if (Sequence != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(Sequence);
    }
    if (payloadCase_ == PayloadOneofCase.Place) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Place);
    }
    if (payloadCase_ == PayloadOneofCase.PlaceConveyor) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(PlaceConveyor);
    }
    if (payloadCase_ == PayloadOneofCase.PutInItemsToCache) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(PutInItemsToCache);
    }
    if (payloadCase_ == PayloadOneofCase.TakeOutItemsFromCache) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(TakeOutItemsFromCache);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(OperateReturn other) {
    if (other == null) {
      return;
    }
    if (other.RetCode != 0) {
      RetCode = other.RetCode;
    }
    if (other.TimestampMS != 0L) {
      TimestampMS = other.TimestampMS;
    }
    if (other.Sequence != 0UL) {
      Sequence = other.Sequence;
    }
    switch (other.PayloadCase) {
      case PayloadOneofCase.Place:
        if (Place == null) {
          Place = new global::OperateReturnPlace();
        }
        Place.MergeFrom(other.Place);
        break;
      case PayloadOneofCase.PlaceConveyor:
        if (PlaceConveyor == null) {
          PlaceConveyor = new global::OperateReturnPlaceConveyor();
        }
        PlaceConveyor.MergeFrom(other.PlaceConveyor);
        break;
      case PayloadOneofCase.PutInItemsToCache:
        if (PutInItemsToCache == null) {
          PutInItemsToCache = new global::OperateReturnPutInItemsToCache();
        }
        PutInItemsToCache.MergeFrom(other.PutInItemsToCache);
        break;
      case PayloadOneofCase.TakeOutItemsFromCache:
        if (TakeOutItemsFromCache == null) {
          TakeOutItemsFromCache = new global::OperateReturnTakeOutItemsFromCache();
        }
        TakeOutItemsFromCache.MergeFrom(other.TakeOutItemsFromCache);
        break;
    }

    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          retCode_ = (global::OperateRetCode) input.ReadEnum();
          break;
        }
        case 16: {
          TimestampMS = input.ReadInt64();
          break;
        }
        case 24: {
          Sequence = input.ReadUInt64();
          break;
        }
        case 90: {
          global::OperateReturnPlace subBuilder = new global::OperateReturnPlace();
          if (payloadCase_ == PayloadOneofCase.Place) {
            subBuilder.MergeFrom(Place);
          }
          input.ReadMessage(subBuilder);
          Place = subBuilder;
          break;
        }
        case 98: {
          global::OperateReturnPlaceConveyor subBuilder = new global::OperateReturnPlaceConveyor();
          if (payloadCase_ == PayloadOneofCase.PlaceConveyor) {
            subBuilder.MergeFrom(PlaceConveyor);
          }
          input.ReadMessage(subBuilder);
          PlaceConveyor = subBuilder;
          break;
        }
        case 106: {
          global::OperateReturnPutInItemsToCache subBuilder = new global::OperateReturnPutInItemsToCache();
          if (payloadCase_ == PayloadOneofCase.PutInItemsToCache) {
            subBuilder.MergeFrom(PutInItemsToCache);
          }
          input.ReadMessage(subBuilder);
          PutInItemsToCache = subBuilder;
          break;
        }
        case 114: {
          global::OperateReturnTakeOutItemsFromCache subBuilder = new global::OperateReturnTakeOutItemsFromCache();
          if (payloadCase_ == PayloadOneofCase.TakeOutItemsFromCache) {
            subBuilder.MergeFrom(TakeOutItemsFromCache);
          }
          input.ReadMessage(subBuilder);
          TakeOutItemsFromCache = subBuilder;
          break;
        }
      }
    }
  }

}

public sealed partial class OperateReturnPlace : pb::IMessage<OperateReturnPlace> {
  private static readonly pb::MessageParser<OperateReturnPlace> _parser = new pb::MessageParser<OperateReturnPlace>(() => new OperateReturnPlace());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<OperateReturnPlace> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[65]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public OperateReturnPlace() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public OperateReturnPlace(OperateReturnPlace other) : this() {
    nodeId_ = other.nodeId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public OperateReturnPlace Clone() {
    return new OperateReturnPlace(this);
  }

  /// <summary>Field number for the "node_id" field.</summary>
  public const int NodeIdFieldNumber = 1;
  private ulong nodeId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong NodeId {
    get { return nodeId_; }
    set {
      nodeId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as OperateReturnPlace);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(OperateReturnPlace other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (NodeId != other.NodeId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (NodeId != 0UL) hash ^= NodeId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (NodeId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(NodeId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (NodeId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(NodeId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(OperateReturnPlace other) {
    if (other == null) {
      return;
    }
    if (other.NodeId != 0UL) {
      NodeId = other.NodeId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          NodeId = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class OperateReturnPlaceConveyor : pb::IMessage<OperateReturnPlaceConveyor> {
  private static readonly pb::MessageParser<OperateReturnPlaceConveyor> _parser = new pb::MessageParser<OperateReturnPlaceConveyor>(() => new OperateReturnPlaceConveyor());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<OperateReturnPlaceConveyor> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[66]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public OperateReturnPlaceConveyor() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public OperateReturnPlaceConveyor(OperateReturnPlaceConveyor other) : this() {
    nodeId_ = other.nodeId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public OperateReturnPlaceConveyor Clone() {
    return new OperateReturnPlaceConveyor(this);
  }

  /// <summary>Field number for the "node_id" field.</summary>
  public const int NodeIdFieldNumber = 1;
  private ulong nodeId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong NodeId {
    get { return nodeId_; }
    set {
      nodeId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as OperateReturnPlaceConveyor);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(OperateReturnPlaceConveyor other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (NodeId != other.NodeId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (NodeId != 0UL) hash ^= NodeId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (NodeId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(NodeId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (NodeId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(NodeId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(OperateReturnPlaceConveyor other) {
    if (other == null) {
      return;
    }
    if (other.NodeId != 0UL) {
      NodeId = other.NodeId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          NodeId = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class OperateReturnPutInItemsToCache : pb::IMessage<OperateReturnPutInItemsToCache> {
  private static readonly pb::MessageParser<OperateReturnPutInItemsToCache> _parser = new pb::MessageParser<OperateReturnPutInItemsToCache>(() => new OperateReturnPutInItemsToCache());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<OperateReturnPutInItemsToCache> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[67]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public OperateReturnPutInItemsToCache() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public OperateReturnPutInItemsToCache(OperateReturnPutInItemsToCache other) : this() {
    leastItems_ = other.leastItems_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public OperateReturnPutInItemsToCache Clone() {
    return new OperateReturnPutInItemsToCache(this);
  }

  /// <summary>Field number for the "least_items" field.</summary>
  public const int LeastItemsFieldNumber = 1;
  private static readonly pb::FieldCodec<global::ItemUnit> _repeated_leastItems_codec
      = pb::FieldCodec.ForMessage(10, global::ItemUnit.Parser);
  private readonly pbc::RepeatedField<global::ItemUnit> leastItems_ = new pbc::RepeatedField<global::ItemUnit>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ItemUnit> LeastItems {
    get { return leastItems_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as OperateReturnPutInItemsToCache);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(OperateReturnPutInItemsToCache other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!leastItems_.Equals(other.leastItems_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= leastItems_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    leastItems_.WriteTo(output, _repeated_leastItems_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += leastItems_.CalculateSize(_repeated_leastItems_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(OperateReturnPutInItemsToCache other) {
    if (other == null) {
      return;
    }
    leastItems_.Add(other.leastItems_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          leastItems_.AddEntriesFrom(input, _repeated_leastItems_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class OperateReturnTakeOutItemsFromCache : pb::IMessage<OperateReturnTakeOutItemsFromCache> {
  private static readonly pb::MessageParser<OperateReturnTakeOutItemsFromCache> _parser = new pb::MessageParser<OperateReturnTakeOutItemsFromCache>(() => new OperateReturnTakeOutItemsFromCache());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<OperateReturnTakeOutItemsFromCache> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[68]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public OperateReturnTakeOutItemsFromCache() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public OperateReturnTakeOutItemsFromCache(OperateReturnTakeOutItemsFromCache other) : this() {
    gotItems_ = other.gotItems_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public OperateReturnTakeOutItemsFromCache Clone() {
    return new OperateReturnTakeOutItemsFromCache(this);
  }

  /// <summary>Field number for the "got_items" field.</summary>
  public const int GotItemsFieldNumber = 1;
  private static readonly pb::FieldCodec<global::ItemUnit> _repeated_gotItems_codec
      = pb::FieldCodec.ForMessage(10, global::ItemUnit.Parser);
  private readonly pbc::RepeatedField<global::ItemUnit> gotItems_ = new pbc::RepeatedField<global::ItemUnit>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ItemUnit> GotItems {
    get { return gotItems_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as OperateReturnTakeOutItemsFromCache);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(OperateReturnTakeOutItemsFromCache other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!gotItems_.Equals(other.gotItems_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= gotItems_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    gotItems_.WriteTo(output, _repeated_gotItems_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += gotItems_.CalculateSize(_repeated_gotItems_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(OperateReturnTakeOutItemsFromCache other) {
    if (other == null) {
      return;
    }
    gotItems_.Add(other.gotItems_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          gotItems_.AddEntriesFrom(input, _repeated_gotItems_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class MeshArea : pb::IMessage<MeshArea> {
  private static readonly pb::MessageParser<MeshArea> _parser = new pb::MessageParser<MeshArea>(() => new MeshArea());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<MeshArea> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[69]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public MeshArea() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public MeshArea(MeshArea other) : this() {
    range_ = other.range_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public MeshArea Clone() {
    return new MeshArea(this);
  }

  /// <summary>Field number for the "range" field.</summary>
  public const int RangeFieldNumber = 1;
  private static readonly pb::FieldCodec<global::Vector2> _repeated_range_codec
      = pb::FieldCodec.ForMessage(10, global::Vector2.Parser);
  private readonly pbc::RepeatedField<global::Vector2> range_ = new pbc::RepeatedField<global::Vector2>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::Vector2> Range {
    get { return range_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as MeshArea);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(MeshArea other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!range_.Equals(other.range_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= range_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    range_.WriteTo(output, _repeated_range_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += range_.CalculateSize(_repeated_range_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(MeshArea other) {
    if (other == null) {
      return;
    }
    range_.Add(other.range_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          range_.AddEntriesFrom(input, _repeated_range_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class MeshAreaBitmap : pb::IMessage<MeshAreaBitmap> {
  private static readonly pb::MessageParser<MeshAreaBitmap> _parser = new pb::MessageParser<MeshAreaBitmap>(() => new MeshAreaBitmap());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<MeshAreaBitmap> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[70]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public MeshAreaBitmap() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public MeshAreaBitmap(MeshAreaBitmap other) : this() {
    area_ = other.area_.Clone();
    bitmaps_ = other.bitmaps_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public MeshAreaBitmap Clone() {
    return new MeshAreaBitmap(this);
  }

  /// <summary>Field number for the "area" field.</summary>
  public const int AreaFieldNumber = 1;
  private static readonly pb::FieldCodec<global::Vector2> _repeated_area_codec
      = pb::FieldCodec.ForMessage(10, global::Vector2.Parser);
  private readonly pbc::RepeatedField<global::Vector2> area_ = new pbc::RepeatedField<global::Vector2>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::Vector2> Area {
    get { return area_; }
  }

  /// <summary>Field number for the "bitmaps" field.</summary>
  public const int BitmapsFieldNumber = 2;
  private static readonly pb::FieldCodec<ulong> _repeated_bitmaps_codec
      = pb::FieldCodec.ForUInt64(18);
  private readonly pbc::RepeatedField<ulong> bitmaps_ = new pbc::RepeatedField<ulong>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<ulong> Bitmaps {
    get { return bitmaps_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as MeshAreaBitmap);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(MeshAreaBitmap other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!area_.Equals(other.area_)) return false;
    if(!bitmaps_.Equals(other.bitmaps_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= area_.GetHashCode();
    hash ^= bitmaps_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    area_.WriteTo(output, _repeated_area_codec);
    bitmaps_.WriteTo(output, _repeated_bitmaps_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += area_.CalculateSize(_repeated_area_codec);
    size += bitmaps_.CalculateSize(_repeated_bitmaps_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(MeshAreaBitmap other) {
    if (other == null) {
      return;
    }
    area_.Add(other.area_);
    bitmaps_.Add(other.bitmaps_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          area_.AddEntriesFrom(input, _repeated_area_codec);
          break;
        }
        case 18:
        case 16: {
          bitmaps_.AddEntriesFrom(input, _repeated_bitmaps_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ContextArchive : pb::IMessage<ContextArchive> {
  private static readonly pb::MessageParser<ContextArchive> _parser = new pb::MessageParser<ContextArchive>(() => new ContextArchive());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ContextArchive> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[71]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ContextArchive() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ContextArchive(ContextArchive other) : this() {
    brief_ = other.brief_ != null ? other.brief_.Clone() : null;
    blackboard_ = other.blackboard_ != null ? other.blackboard_.Clone() : null;
    areas_ = other.areas_.Clone();
    nodes_ = other.nodes_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ContextArchive Clone() {
    return new ContextArchive(this);
  }

  /// <summary>Field number for the "brief" field.</summary>
  public const int BriefFieldNumber = 1;
  private global::ContextBrief brief_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ContextBrief Brief {
    get { return brief_; }
    set {
      brief_ = value;
    }
  }

  /// <summary>Field number for the "blackboard" field.</summary>
  public const int BlackboardFieldNumber = 2;
  private global::ContextBlackboard blackboard_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ContextBlackboard Blackboard {
    get { return blackboard_; }
    set {
      blackboard_ = value;
    }
  }

  /// <summary>Field number for the "areas" field.</summary>
  public const int AreasFieldNumber = 3;
  private static readonly pb::FieldCodec<global::MeshArea> _repeated_areas_codec
      = pb::FieldCodec.ForMessage(26, global::MeshArea.Parser);
  private readonly pbc::RepeatedField<global::MeshArea> areas_ = new pbc::RepeatedField<global::MeshArea>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::MeshArea> Areas {
    get { return areas_; }
  }

  /// <summary>Field number for the "nodes" field.</summary>
  public const int NodesFieldNumber = 11;
  private static readonly pb::FieldCodec<global::Node> _repeated_nodes_codec
      = pb::FieldCodec.ForMessage(90, global::Node.Parser);
  private readonly pbc::RepeatedField<global::Node> nodes_ = new pbc::RepeatedField<global::Node>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::Node> Nodes {
    get { return nodes_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ContextArchive);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ContextArchive other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!object.Equals(Brief, other.Brief)) return false;
    if (!object.Equals(Blackboard, other.Blackboard)) return false;
    if(!areas_.Equals(other.areas_)) return false;
    if(!nodes_.Equals(other.nodes_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (brief_ != null) hash ^= Brief.GetHashCode();
    if (blackboard_ != null) hash ^= Blackboard.GetHashCode();
    hash ^= areas_.GetHashCode();
    hash ^= nodes_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (brief_ != null) {
      output.WriteRawTag(10);
      output.WriteMessage(Brief);
    }
    if (blackboard_ != null) {
      output.WriteRawTag(18);
      output.WriteMessage(Blackboard);
    }
    areas_.WriteTo(output, _repeated_areas_codec);
    nodes_.WriteTo(output, _repeated_nodes_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (brief_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Brief);
    }
    if (blackboard_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Blackboard);
    }
    size += areas_.CalculateSize(_repeated_areas_codec);
    size += nodes_.CalculateSize(_repeated_nodes_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ContextArchive other) {
    if (other == null) {
      return;
    }
    if (other.brief_ != null) {
      if (brief_ == null) {
        brief_ = new global::ContextBrief();
      }
      Brief.MergeFrom(other.Brief);
    }
    if (other.blackboard_ != null) {
      if (blackboard_ == null) {
        blackboard_ = new global::ContextBlackboard();
      }
      Blackboard.MergeFrom(other.Blackboard);
    }
    areas_.Add(other.areas_);
    nodes_.Add(other.nodes_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          if (brief_ == null) {
            brief_ = new global::ContextBrief();
          }
          input.ReadMessage(brief_);
          break;
        }
        case 18: {
          if (blackboard_ == null) {
            blackboard_ = new global::ContextBlackboard();
          }
          input.ReadMessage(blackboard_);
          break;
        }
        case 26: {
          areas_.AddEntriesFrom(input, _repeated_areas_codec);
          break;
        }
        case 90: {
          nodes_.AddEntriesFrom(input, _repeated_nodes_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class BattleClientData : pb::IMessage<BattleClientData> {
  private static readonly pb::MessageParser<BattleClientData> _parser = new pb::MessageParser<BattleClientData>(() => new BattleClientData());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleClientData> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[72]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleClientData() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleClientData(BattleClientData other) : this() {
    opList_ = other.opList_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleClientData Clone() {
    return new BattleClientData(this);
  }

  /// <summary>Field number for the "op_list" field.</summary>
  public const int OpListFieldNumber = 1;
  private static readonly pb::FieldCodec<global::BattleClientOpData> _repeated_opList_codec
      = pb::FieldCodec.ForMessage(10, global::BattleClientOpData.Parser);
  private readonly pbc::RepeatedField<global::BattleClientOpData> opList_ = new pbc::RepeatedField<global::BattleClientOpData>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::BattleClientOpData> OpList {
    get { return opList_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleClientData);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleClientData other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!opList_.Equals(other.opList_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= opList_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    opList_.WriteTo(output, _repeated_opList_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += opList_.CalculateSize(_repeated_opList_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleClientData other) {
    if (other == null) {
      return;
    }
    opList_.Add(other.opList_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          opList_.AddEntriesFrom(input, _repeated_opList_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class BattleClientOpData : pb::IMessage<BattleClientOpData> {
  private static readonly pb::MessageParser<BattleClientOpData> _parser = new pb::MessageParser<BattleClientOpData>(() => new BattleClientOpData());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleClientOpData> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[73]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleClientOpData() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleClientOpData(BattleClientOpData other) : this() {
    ownerId_ = other.ownerId_;
    opType_ = other.opType_;
    generation_ = other.generation_;
    chapterMapId_ = other.chapterMapId_;
    switch (other.OpDataImplCase) {
      case OpDataImplOneofCase.AddBuffOpData:
        AddBuffOpData = other.AddBuffOpData.Clone();
        break;
      case OpDataImplOneofCase.FinishBuffOpData:
        FinishBuffOpData = other.FinishBuffOpData.Clone();
        break;
      case OpDataImplOneofCase.SkillAttachOpData:
        SkillAttachOpData = other.SkillAttachOpData.Clone();
        break;
      case OpDataImplOneofCase.SkillDetachOpData:
        SkillDetachOpData = other.SkillDetachOpData.Clone();
        break;
      case OpDataImplOneofCase.SkillStartCastOpData:
        SkillStartCastOpData = other.SkillStartCastOpData.Clone();
        break;
      case OpDataImplOneofCase.SkillEndCastOpData:
        SkillEndCastOpData = other.SkillEndCastOpData.Clone();
        break;
      case OpDataImplOneofCase.SkillSwitchModeOpData:
        SkillSwitchModeOpData = other.SkillSwitchModeOpData.Clone();
        break;
      case OpDataImplOneofCase.TriggerActionOpData:
        TriggerActionOpData = other.TriggerActionOpData.Clone();
        break;
      case OpDataImplOneofCase.UpdateHubOpData:
        UpdateHubOpData = other.UpdateHubOpData.Clone();
        break;
      case OpDataImplOneofCase.EntityDieOpData:
        EntityDieOpData = other.EntityDieOpData.Clone();
        break;
      case OpDataImplOneofCase.EntityValueModifyData:
        EntityValueModifyData = other.EntityValueModifyData.Clone();
        break;
      case OpDataImplOneofCase.ResetBattleOpData:
        ResetBattleOpData = other.ResetBattleOpData.Clone();
        break;
      case OpDataImplOneofCase.UpdateDataVersionOpData:
        UpdateDataVersionOpData = other.UpdateDataVersionOpData.Clone();
        break;
    }

    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleClientOpData Clone() {
    return new BattleClientOpData(this);
  }

  /// <summary>Field number for the "owner_id" field.</summary>
  public const int OwnerIdFieldNumber = 1;
  private ulong ownerId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong OwnerId {
    get { return ownerId_; }
    set {
      ownerId_ = value;
    }
  }

  /// <summary>Field number for the "op_type" field.</summary>
  public const int OpTypeFieldNumber = 2;
  private global::BattleActionOperateType opType_ = 0;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleActionOperateType OpType {
    get { return opType_; }
    set {
      opType_ = value;
    }
  }

  /// <summary>Field number for the "generation" field.</summary>
  public const int GenerationFieldNumber = 3;
  private uint generation_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint Generation {
    get { return generation_; }
    set {
      generation_ = value;
    }
  }

  /// <summary>Field number for the "chapter_map_id" field.</summary>
  public const int ChapterMapIdFieldNumber = 17;
  private int chapterMapId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ChapterMapId {
    get { return chapterMapId_; }
    set {
      chapterMapId_ = value;
    }
  }

  /// <summary>Field number for the "add_buff_op_data" field.</summary>
  public const int AddBuffOpDataFieldNumber = 4;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleAddBuffOpData AddBuffOpData {
    get { return opDataImplCase_ == OpDataImplOneofCase.AddBuffOpData ? (global::BattleAddBuffOpData) opDataImpl_ : null; }
    set {
      opDataImpl_ = value;
      opDataImplCase_ = value == null ? OpDataImplOneofCase.None : OpDataImplOneofCase.AddBuffOpData;
    }
  }

  /// <summary>Field number for the "finish_buff_op_data" field.</summary>
  public const int FinishBuffOpDataFieldNumber = 5;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleFinishBuffOpData FinishBuffOpData {
    get { return opDataImplCase_ == OpDataImplOneofCase.FinishBuffOpData ? (global::BattleFinishBuffOpData) opDataImpl_ : null; }
    set {
      opDataImpl_ = value;
      opDataImplCase_ = value == null ? OpDataImplOneofCase.None : OpDataImplOneofCase.FinishBuffOpData;
    }
  }

  /// <summary>Field number for the "skill_attach_op_data" field.</summary>
  public const int SkillAttachOpDataFieldNumber = 6;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleSkillAttachOpData SkillAttachOpData {
    get { return opDataImplCase_ == OpDataImplOneofCase.SkillAttachOpData ? (global::BattleSkillAttachOpData) opDataImpl_ : null; }
    set {
      opDataImpl_ = value;
      opDataImplCase_ = value == null ? OpDataImplOneofCase.None : OpDataImplOneofCase.SkillAttachOpData;
    }
  }

  /// <summary>Field number for the "skill_detach_op_data" field.</summary>
  public const int SkillDetachOpDataFieldNumber = 7;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleSkillDetachOpData SkillDetachOpData {
    get { return opDataImplCase_ == OpDataImplOneofCase.SkillDetachOpData ? (global::BattleSkillDetachOpData) opDataImpl_ : null; }
    set {
      opDataImpl_ = value;
      opDataImplCase_ = value == null ? OpDataImplOneofCase.None : OpDataImplOneofCase.SkillDetachOpData;
    }
  }

  /// <summary>Field number for the "skill_start_cast_op_data" field.</summary>
  public const int SkillStartCastOpDataFieldNumber = 8;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleSkillStartCastOpData SkillStartCastOpData {
    get { return opDataImplCase_ == OpDataImplOneofCase.SkillStartCastOpData ? (global::BattleSkillStartCastOpData) opDataImpl_ : null; }
    set {
      opDataImpl_ = value;
      opDataImplCase_ = value == null ? OpDataImplOneofCase.None : OpDataImplOneofCase.SkillStartCastOpData;
    }
  }

  /// <summary>Field number for the "skill_end_cast_op_data" field.</summary>
  public const int SkillEndCastOpDataFieldNumber = 9;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleSkillEndCastOpData SkillEndCastOpData {
    get { return opDataImplCase_ == OpDataImplOneofCase.SkillEndCastOpData ? (global::BattleSkillEndCastOpData) opDataImpl_ : null; }
    set {
      opDataImpl_ = value;
      opDataImplCase_ = value == null ? OpDataImplOneofCase.None : OpDataImplOneofCase.SkillEndCastOpData;
    }
  }

  /// <summary>Field number for the "skill_switch_mode_op_data" field.</summary>
  public const int SkillSwitchModeOpDataFieldNumber = 10;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleSwitchModeOpData SkillSwitchModeOpData {
    get { return opDataImplCase_ == OpDataImplOneofCase.SkillSwitchModeOpData ? (global::BattleSwitchModeOpData) opDataImpl_ : null; }
    set {
      opDataImpl_ = value;
      opDataImplCase_ = value == null ? OpDataImplOneofCase.None : OpDataImplOneofCase.SkillSwitchModeOpData;
    }
  }

  /// <summary>Field number for the "trigger_action_op_data" field.</summary>
  public const int TriggerActionOpDataFieldNumber = 11;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleTriggerActionOpData TriggerActionOpData {
    get { return opDataImplCase_ == OpDataImplOneofCase.TriggerActionOpData ? (global::BattleTriggerActionOpData) opDataImpl_ : null; }
    set {
      opDataImpl_ = value;
      opDataImplCase_ = value == null ? OpDataImplOneofCase.None : OpDataImplOneofCase.TriggerActionOpData;
    }
  }

  /// <summary>Field number for the "update_hub_op_data" field.</summary>
  public const int UpdateHubOpDataFieldNumber = 12;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleUpdateHubOpData UpdateHubOpData {
    get { return opDataImplCase_ == OpDataImplOneofCase.UpdateHubOpData ? (global::BattleUpdateHubOpData) opDataImpl_ : null; }
    set {
      opDataImpl_ = value;
      opDataImplCase_ = value == null ? OpDataImplOneofCase.None : OpDataImplOneofCase.UpdateHubOpData;
    }
  }

  /// <summary>Field number for the "entity_die_op_data" field.</summary>
  public const int EntityDieOpDataFieldNumber = 13;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleEntityDieOpData EntityDieOpData {
    get { return opDataImplCase_ == OpDataImplOneofCase.EntityDieOpData ? (global::BattleEntityDieOpData) opDataImpl_ : null; }
    set {
      opDataImpl_ = value;
      opDataImplCase_ = value == null ? OpDataImplOneofCase.None : OpDataImplOneofCase.EntityDieOpData;
    }
  }

  /// <summary>Field number for the "entity_value_modify_data" field.</summary>
  public const int EntityValueModifyDataFieldNumber = 14;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleEntityValueModifyData EntityValueModifyData {
    get { return opDataImplCase_ == OpDataImplOneofCase.EntityValueModifyData ? (global::BattleEntityValueModifyData) opDataImpl_ : null; }
    set {
      opDataImpl_ = value;
      opDataImplCase_ = value == null ? OpDataImplOneofCase.None : OpDataImplOneofCase.EntityValueModifyData;
    }
  }

  /// <summary>Field number for the "reset_battle_op_data" field.</summary>
  public const int ResetBattleOpDataFieldNumber = 15;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleResetBattleDataOpData ResetBattleOpData {
    get { return opDataImplCase_ == OpDataImplOneofCase.ResetBattleOpData ? (global::BattleResetBattleDataOpData) opDataImpl_ : null; }
    set {
      opDataImpl_ = value;
      opDataImplCase_ = value == null ? OpDataImplOneofCase.None : OpDataImplOneofCase.ResetBattleOpData;
    }
  }

  /// <summary>Field number for the "update_data_version_op_data" field.</summary>
  public const int UpdateDataVersionOpDataFieldNumber = 16;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleUpdateDataVersionOpData UpdateDataVersionOpData {
    get { return opDataImplCase_ == OpDataImplOneofCase.UpdateDataVersionOpData ? (global::BattleUpdateDataVersionOpData) opDataImpl_ : null; }
    set {
      opDataImpl_ = value;
      opDataImplCase_ = value == null ? OpDataImplOneofCase.None : OpDataImplOneofCase.UpdateDataVersionOpData;
    }
  }

  private object opDataImpl_;
  /// <summary>Enum of possible cases for the "op_data_impl" oneof.</summary>
  public enum OpDataImplOneofCase {
    None = 0,
    AddBuffOpData = 4,
    FinishBuffOpData = 5,
    SkillAttachOpData = 6,
    SkillDetachOpData = 7,
    SkillStartCastOpData = 8,
    SkillEndCastOpData = 9,
    SkillSwitchModeOpData = 10,
    TriggerActionOpData = 11,
    UpdateHubOpData = 12,
    EntityDieOpData = 13,
    EntityValueModifyData = 14,
    ResetBattleOpData = 15,
    UpdateDataVersionOpData = 16,
  }
  private OpDataImplOneofCase opDataImplCase_ = OpDataImplOneofCase.None;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public OpDataImplOneofCase OpDataImplCase {
    get { return opDataImplCase_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void ClearOpDataImpl() {
    opDataImplCase_ = OpDataImplOneofCase.None;
    opDataImpl_ = null;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleClientOpData);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleClientOpData other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (OwnerId != other.OwnerId) return false;
    if (OpType != other.OpType) return false;
    if (Generation != other.Generation) return false;
    if (ChapterMapId != other.ChapterMapId) return false;
    if (!object.Equals(AddBuffOpData, other.AddBuffOpData)) return false;
    if (!object.Equals(FinishBuffOpData, other.FinishBuffOpData)) return false;
    if (!object.Equals(SkillAttachOpData, other.SkillAttachOpData)) return false;
    if (!object.Equals(SkillDetachOpData, other.SkillDetachOpData)) return false;
    if (!object.Equals(SkillStartCastOpData, other.SkillStartCastOpData)) return false;
    if (!object.Equals(SkillEndCastOpData, other.SkillEndCastOpData)) return false;
    if (!object.Equals(SkillSwitchModeOpData, other.SkillSwitchModeOpData)) return false;
    if (!object.Equals(TriggerActionOpData, other.TriggerActionOpData)) return false;
    if (!object.Equals(UpdateHubOpData, other.UpdateHubOpData)) return false;
    if (!object.Equals(EntityDieOpData, other.EntityDieOpData)) return false;
    if (!object.Equals(EntityValueModifyData, other.EntityValueModifyData)) return false;
    if (!object.Equals(ResetBattleOpData, other.ResetBattleOpData)) return false;
    if (!object.Equals(UpdateDataVersionOpData, other.UpdateDataVersionOpData)) return false;
    if (OpDataImplCase != other.OpDataImplCase) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (OwnerId != 0UL) hash ^= OwnerId.GetHashCode();
    if (OpType != 0) hash ^= OpType.GetHashCode();
    if (Generation != 0) hash ^= Generation.GetHashCode();
    if (ChapterMapId != 0) hash ^= ChapterMapId.GetHashCode();
    if (opDataImplCase_ == OpDataImplOneofCase.AddBuffOpData) hash ^= AddBuffOpData.GetHashCode();
    if (opDataImplCase_ == OpDataImplOneofCase.FinishBuffOpData) hash ^= FinishBuffOpData.GetHashCode();
    if (opDataImplCase_ == OpDataImplOneofCase.SkillAttachOpData) hash ^= SkillAttachOpData.GetHashCode();
    if (opDataImplCase_ == OpDataImplOneofCase.SkillDetachOpData) hash ^= SkillDetachOpData.GetHashCode();
    if (opDataImplCase_ == OpDataImplOneofCase.SkillStartCastOpData) hash ^= SkillStartCastOpData.GetHashCode();
    if (opDataImplCase_ == OpDataImplOneofCase.SkillEndCastOpData) hash ^= SkillEndCastOpData.GetHashCode();
    if (opDataImplCase_ == OpDataImplOneofCase.SkillSwitchModeOpData) hash ^= SkillSwitchModeOpData.GetHashCode();
    if (opDataImplCase_ == OpDataImplOneofCase.TriggerActionOpData) hash ^= TriggerActionOpData.GetHashCode();
    if (opDataImplCase_ == OpDataImplOneofCase.UpdateHubOpData) hash ^= UpdateHubOpData.GetHashCode();
    if (opDataImplCase_ == OpDataImplOneofCase.EntityDieOpData) hash ^= EntityDieOpData.GetHashCode();
    if (opDataImplCase_ == OpDataImplOneofCase.EntityValueModifyData) hash ^= EntityValueModifyData.GetHashCode();
    if (opDataImplCase_ == OpDataImplOneofCase.ResetBattleOpData) hash ^= ResetBattleOpData.GetHashCode();
    if (opDataImplCase_ == OpDataImplOneofCase.UpdateDataVersionOpData) hash ^= UpdateDataVersionOpData.GetHashCode();
    hash ^= (int) opDataImplCase_;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (OwnerId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(OwnerId);
    }
    if (OpType != 0) {
      output.WriteRawTag(16);
      output.WriteEnum((int) OpType);
    }
    if (Generation != 0) {
      output.WriteRawTag(24);
      output.WriteUInt32(Generation);
    }
    if (opDataImplCase_ == OpDataImplOneofCase.AddBuffOpData) {
      output.WriteRawTag(34);
      output.WriteMessage(AddBuffOpData);
    }
    if (opDataImplCase_ == OpDataImplOneofCase.FinishBuffOpData) {
      output.WriteRawTag(42);
      output.WriteMessage(FinishBuffOpData);
    }
    if (opDataImplCase_ == OpDataImplOneofCase.SkillAttachOpData) {
      output.WriteRawTag(50);
      output.WriteMessage(SkillAttachOpData);
    }
    if (opDataImplCase_ == OpDataImplOneofCase.SkillDetachOpData) {
      output.WriteRawTag(58);
      output.WriteMessage(SkillDetachOpData);
    }
    if (opDataImplCase_ == OpDataImplOneofCase.SkillStartCastOpData) {
      output.WriteRawTag(66);
      output.WriteMessage(SkillStartCastOpData);
    }
    if (opDataImplCase_ == OpDataImplOneofCase.SkillEndCastOpData) {
      output.WriteRawTag(74);
      output.WriteMessage(SkillEndCastOpData);
    }
    if (opDataImplCase_ == OpDataImplOneofCase.SkillSwitchModeOpData) {
      output.WriteRawTag(82);
      output.WriteMessage(SkillSwitchModeOpData);
    }
    if (opDataImplCase_ == OpDataImplOneofCase.TriggerActionOpData) {
      output.WriteRawTag(90);
      output.WriteMessage(TriggerActionOpData);
    }
    if (opDataImplCase_ == OpDataImplOneofCase.UpdateHubOpData) {
      output.WriteRawTag(98);
      output.WriteMessage(UpdateHubOpData);
    }
    if (opDataImplCase_ == OpDataImplOneofCase.EntityDieOpData) {
      output.WriteRawTag(106);
      output.WriteMessage(EntityDieOpData);
    }
    if (opDataImplCase_ == OpDataImplOneofCase.EntityValueModifyData) {
      output.WriteRawTag(114);
      output.WriteMessage(EntityValueModifyData);
    }
    if (opDataImplCase_ == OpDataImplOneofCase.ResetBattleOpData) {
      output.WriteRawTag(122);
      output.WriteMessage(ResetBattleOpData);
    }
    if (opDataImplCase_ == OpDataImplOneofCase.UpdateDataVersionOpData) {
      output.WriteRawTag(130, 1);
      output.WriteMessage(UpdateDataVersionOpData);
    }
    if (ChapterMapId != 0) {
      output.WriteRawTag(136, 1);
      output.WriteInt32(ChapterMapId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (OwnerId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(OwnerId);
    }
    if (OpType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) OpType);
    }
    if (Generation != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Generation);
    }
    if (ChapterMapId != 0) {
      size += 2 + pb::CodedOutputStream.ComputeInt32Size(ChapterMapId);
    }
    if (opDataImplCase_ == OpDataImplOneofCase.AddBuffOpData) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(AddBuffOpData);
    }
    if (opDataImplCase_ == OpDataImplOneofCase.FinishBuffOpData) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(FinishBuffOpData);
    }
    if (opDataImplCase_ == OpDataImplOneofCase.SkillAttachOpData) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(SkillAttachOpData);
    }
    if (opDataImplCase_ == OpDataImplOneofCase.SkillDetachOpData) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(SkillDetachOpData);
    }
    if (opDataImplCase_ == OpDataImplOneofCase.SkillStartCastOpData) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(SkillStartCastOpData);
    }
    if (opDataImplCase_ == OpDataImplOneofCase.SkillEndCastOpData) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(SkillEndCastOpData);
    }
    if (opDataImplCase_ == OpDataImplOneofCase.SkillSwitchModeOpData) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(SkillSwitchModeOpData);
    }
    if (opDataImplCase_ == OpDataImplOneofCase.TriggerActionOpData) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(TriggerActionOpData);
    }
    if (opDataImplCase_ == OpDataImplOneofCase.UpdateHubOpData) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(UpdateHubOpData);
    }
    if (opDataImplCase_ == OpDataImplOneofCase.EntityDieOpData) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(EntityDieOpData);
    }
    if (opDataImplCase_ == OpDataImplOneofCase.EntityValueModifyData) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(EntityValueModifyData);
    }
    if (opDataImplCase_ == OpDataImplOneofCase.ResetBattleOpData) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(ResetBattleOpData);
    }
    if (opDataImplCase_ == OpDataImplOneofCase.UpdateDataVersionOpData) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(UpdateDataVersionOpData);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleClientOpData other) {
    if (other == null) {
      return;
    }
    if (other.OwnerId != 0UL) {
      OwnerId = other.OwnerId;
    }
    if (other.OpType != 0) {
      OpType = other.OpType;
    }
    if (other.Generation != 0) {
      Generation = other.Generation;
    }
    if (other.ChapterMapId != 0) {
      ChapterMapId = other.ChapterMapId;
    }
    switch (other.OpDataImplCase) {
      case OpDataImplOneofCase.AddBuffOpData:
        if (AddBuffOpData == null) {
          AddBuffOpData = new global::BattleAddBuffOpData();
        }
        AddBuffOpData.MergeFrom(other.AddBuffOpData);
        break;
      case OpDataImplOneofCase.FinishBuffOpData:
        if (FinishBuffOpData == null) {
          FinishBuffOpData = new global::BattleFinishBuffOpData();
        }
        FinishBuffOpData.MergeFrom(other.FinishBuffOpData);
        break;
      case OpDataImplOneofCase.SkillAttachOpData:
        if (SkillAttachOpData == null) {
          SkillAttachOpData = new global::BattleSkillAttachOpData();
        }
        SkillAttachOpData.MergeFrom(other.SkillAttachOpData);
        break;
      case OpDataImplOneofCase.SkillDetachOpData:
        if (SkillDetachOpData == null) {
          SkillDetachOpData = new global::BattleSkillDetachOpData();
        }
        SkillDetachOpData.MergeFrom(other.SkillDetachOpData);
        break;
      case OpDataImplOneofCase.SkillStartCastOpData:
        if (SkillStartCastOpData == null) {
          SkillStartCastOpData = new global::BattleSkillStartCastOpData();
        }
        SkillStartCastOpData.MergeFrom(other.SkillStartCastOpData);
        break;
      case OpDataImplOneofCase.SkillEndCastOpData:
        if (SkillEndCastOpData == null) {
          SkillEndCastOpData = new global::BattleSkillEndCastOpData();
        }
        SkillEndCastOpData.MergeFrom(other.SkillEndCastOpData);
        break;
      case OpDataImplOneofCase.SkillSwitchModeOpData:
        if (SkillSwitchModeOpData == null) {
          SkillSwitchModeOpData = new global::BattleSwitchModeOpData();
        }
        SkillSwitchModeOpData.MergeFrom(other.SkillSwitchModeOpData);
        break;
      case OpDataImplOneofCase.TriggerActionOpData:
        if (TriggerActionOpData == null) {
          TriggerActionOpData = new global::BattleTriggerActionOpData();
        }
        TriggerActionOpData.MergeFrom(other.TriggerActionOpData);
        break;
      case OpDataImplOneofCase.UpdateHubOpData:
        if (UpdateHubOpData == null) {
          UpdateHubOpData = new global::BattleUpdateHubOpData();
        }
        UpdateHubOpData.MergeFrom(other.UpdateHubOpData);
        break;
      case OpDataImplOneofCase.EntityDieOpData:
        if (EntityDieOpData == null) {
          EntityDieOpData = new global::BattleEntityDieOpData();
        }
        EntityDieOpData.MergeFrom(other.EntityDieOpData);
        break;
      case OpDataImplOneofCase.EntityValueModifyData:
        if (EntityValueModifyData == null) {
          EntityValueModifyData = new global::BattleEntityValueModifyData();
        }
        EntityValueModifyData.MergeFrom(other.EntityValueModifyData);
        break;
      case OpDataImplOneofCase.ResetBattleOpData:
        if (ResetBattleOpData == null) {
          ResetBattleOpData = new global::BattleResetBattleDataOpData();
        }
        ResetBattleOpData.MergeFrom(other.ResetBattleOpData);
        break;
      case OpDataImplOneofCase.UpdateDataVersionOpData:
        if (UpdateDataVersionOpData == null) {
          UpdateDataVersionOpData = new global::BattleUpdateDataVersionOpData();
        }
        UpdateDataVersionOpData.MergeFrom(other.UpdateDataVersionOpData);
        break;
    }

    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          OwnerId = input.ReadUInt64();
          break;
        }
        case 16: {
          opType_ = (global::BattleActionOperateType) input.ReadEnum();
          break;
        }
        case 24: {
          Generation = input.ReadUInt32();
          break;
        }
        case 34: {
          global::BattleAddBuffOpData subBuilder = new global::BattleAddBuffOpData();
          if (opDataImplCase_ == OpDataImplOneofCase.AddBuffOpData) {
            subBuilder.MergeFrom(AddBuffOpData);
          }
          input.ReadMessage(subBuilder);
          AddBuffOpData = subBuilder;
          break;
        }
        case 42: {
          global::BattleFinishBuffOpData subBuilder = new global::BattleFinishBuffOpData();
          if (opDataImplCase_ == OpDataImplOneofCase.FinishBuffOpData) {
            subBuilder.MergeFrom(FinishBuffOpData);
          }
          input.ReadMessage(subBuilder);
          FinishBuffOpData = subBuilder;
          break;
        }
        case 50: {
          global::BattleSkillAttachOpData subBuilder = new global::BattleSkillAttachOpData();
          if (opDataImplCase_ == OpDataImplOneofCase.SkillAttachOpData) {
            subBuilder.MergeFrom(SkillAttachOpData);
          }
          input.ReadMessage(subBuilder);
          SkillAttachOpData = subBuilder;
          break;
        }
        case 58: {
          global::BattleSkillDetachOpData subBuilder = new global::BattleSkillDetachOpData();
          if (opDataImplCase_ == OpDataImplOneofCase.SkillDetachOpData) {
            subBuilder.MergeFrom(SkillDetachOpData);
          }
          input.ReadMessage(subBuilder);
          SkillDetachOpData = subBuilder;
          break;
        }
        case 66: {
          global::BattleSkillStartCastOpData subBuilder = new global::BattleSkillStartCastOpData();
          if (opDataImplCase_ == OpDataImplOneofCase.SkillStartCastOpData) {
            subBuilder.MergeFrom(SkillStartCastOpData);
          }
          input.ReadMessage(subBuilder);
          SkillStartCastOpData = subBuilder;
          break;
        }
        case 74: {
          global::BattleSkillEndCastOpData subBuilder = new global::BattleSkillEndCastOpData();
          if (opDataImplCase_ == OpDataImplOneofCase.SkillEndCastOpData) {
            subBuilder.MergeFrom(SkillEndCastOpData);
          }
          input.ReadMessage(subBuilder);
          SkillEndCastOpData = subBuilder;
          break;
        }
        case 82: {
          global::BattleSwitchModeOpData subBuilder = new global::BattleSwitchModeOpData();
          if (opDataImplCase_ == OpDataImplOneofCase.SkillSwitchModeOpData) {
            subBuilder.MergeFrom(SkillSwitchModeOpData);
          }
          input.ReadMessage(subBuilder);
          SkillSwitchModeOpData = subBuilder;
          break;
        }
        case 90: {
          global::BattleTriggerActionOpData subBuilder = new global::BattleTriggerActionOpData();
          if (opDataImplCase_ == OpDataImplOneofCase.TriggerActionOpData) {
            subBuilder.MergeFrom(TriggerActionOpData);
          }
          input.ReadMessage(subBuilder);
          TriggerActionOpData = subBuilder;
          break;
        }
        case 98: {
          global::BattleUpdateHubOpData subBuilder = new global::BattleUpdateHubOpData();
          if (opDataImplCase_ == OpDataImplOneofCase.UpdateHubOpData) {
            subBuilder.MergeFrom(UpdateHubOpData);
          }
          input.ReadMessage(subBuilder);
          UpdateHubOpData = subBuilder;
          break;
        }
        case 106: {
          global::BattleEntityDieOpData subBuilder = new global::BattleEntityDieOpData();
          if (opDataImplCase_ == OpDataImplOneofCase.EntityDieOpData) {
            subBuilder.MergeFrom(EntityDieOpData);
          }
          input.ReadMessage(subBuilder);
          EntityDieOpData = subBuilder;
          break;
        }
        case 114: {
          global::BattleEntityValueModifyData subBuilder = new global::BattleEntityValueModifyData();
          if (opDataImplCase_ == OpDataImplOneofCase.EntityValueModifyData) {
            subBuilder.MergeFrom(EntityValueModifyData);
          }
          input.ReadMessage(subBuilder);
          EntityValueModifyData = subBuilder;
          break;
        }
        case 122: {
          global::BattleResetBattleDataOpData subBuilder = new global::BattleResetBattleDataOpData();
          if (opDataImplCase_ == OpDataImplOneofCase.ResetBattleOpData) {
            subBuilder.MergeFrom(ResetBattleOpData);
          }
          input.ReadMessage(subBuilder);
          ResetBattleOpData = subBuilder;
          break;
        }
        case 130: {
          global::BattleUpdateDataVersionOpData subBuilder = new global::BattleUpdateDataVersionOpData();
          if (opDataImplCase_ == OpDataImplOneofCase.UpdateDataVersionOpData) {
            subBuilder.MergeFrom(UpdateDataVersionOpData);
          }
          input.ReadMessage(subBuilder);
          UpdateDataVersionOpData = subBuilder;
          break;
        }
        case 136: {
          ChapterMapId = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class BattleAddBuffOpData : pb::IMessage<BattleAddBuffOpData> {
  private static readonly pb::MessageParser<BattleAddBuffOpData> _parser = new pb::MessageParser<BattleAddBuffOpData>(() => new BattleAddBuffOpData());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleAddBuffOpData> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[74]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleAddBuffOpData() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleAddBuffOpData(BattleAddBuffOpData other) : this() {
    srcInstId_ = other.srcInstId_;
    targetInstId_ = other.targetInstId_;
    buffId_ = other.buffId_;
    buffInstId_ = other.buffInstId_;
    clientAddTs_ = other.clientAddTs_;
    assignedItems_ = other.assignedItems_ != null ? other.assignedItems_.Clone() : null;
    buffSrcType_ = other.buffSrcType_;
    buffSrcArgs_ = other.buffSrcArgs_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleAddBuffOpData Clone() {
    return new BattleAddBuffOpData(this);
  }

  /// <summary>Field number for the "src_inst_id" field.</summary>
  public const int SrcInstIdFieldNumber = 1;
  private ulong srcInstId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong SrcInstId {
    get { return srcInstId_; }
    set {
      srcInstId_ = value;
    }
  }

  /// <summary>Field number for the "target_inst_id" field.</summary>
  public const int TargetInstIdFieldNumber = 2;
  private ulong targetInstId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong TargetInstId {
    get { return targetInstId_; }
    set {
      targetInstId_ = value;
    }
  }

  /// <summary>Field number for the "buff_id" field.</summary>
  public const int BuffIdFieldNumber = 3;
  private string buffId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string BuffId {
    get { return buffId_; }
    set {
      buffId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "buff_inst_id" field.</summary>
  public const int BuffInstIdFieldNumber = 4;
  private ulong buffInstId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong BuffInstId {
    get { return buffInstId_; }
    set {
      buffInstId_ = value;
    }
  }

  /// <summary>Field number for the "client_add_ts" field.</summary>
  public const int ClientAddTsFieldNumber = 5;
  private long clientAddTs_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long ClientAddTs {
    get { return clientAddTs_; }
    set {
      clientAddTs_ = value;
    }
  }

  /// <summary>Field number for the "assigned_items" field.</summary>
  public const int AssignedItemsFieldNumber = 6;
  private global::BattleBlackboard assignedItems_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleBlackboard AssignedItems {
    get { return assignedItems_; }
    set {
      assignedItems_ = value;
    }
  }

  /// <summary>Field number for the "buff_src_type" field.</summary>
  public const int BuffSrcTypeFieldNumber = 7;
  private int buffSrcType_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int BuffSrcType {
    get { return buffSrcType_; }
    set {
      buffSrcType_ = value;
    }
  }

  /// <summary>Field number for the "buff_src_args" field.</summary>
  public const int BuffSrcArgsFieldNumber = 8;
  private string buffSrcArgs_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string BuffSrcArgs {
    get { return buffSrcArgs_; }
    set {
      buffSrcArgs_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleAddBuffOpData);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleAddBuffOpData other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SrcInstId != other.SrcInstId) return false;
    if (TargetInstId != other.TargetInstId) return false;
    if (BuffId != other.BuffId) return false;
    if (BuffInstId != other.BuffInstId) return false;
    if (ClientAddTs != other.ClientAddTs) return false;
    if (!object.Equals(AssignedItems, other.AssignedItems)) return false;
    if (BuffSrcType != other.BuffSrcType) return false;
    if (BuffSrcArgs != other.BuffSrcArgs) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SrcInstId != 0UL) hash ^= SrcInstId.GetHashCode();
    if (TargetInstId != 0UL) hash ^= TargetInstId.GetHashCode();
    if (BuffId.Length != 0) hash ^= BuffId.GetHashCode();
    if (BuffInstId != 0UL) hash ^= BuffInstId.GetHashCode();
    if (ClientAddTs != 0L) hash ^= ClientAddTs.GetHashCode();
    if (assignedItems_ != null) hash ^= AssignedItems.GetHashCode();
    if (BuffSrcType != 0) hash ^= BuffSrcType.GetHashCode();
    if (BuffSrcArgs.Length != 0) hash ^= BuffSrcArgs.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SrcInstId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(SrcInstId);
    }
    if (TargetInstId != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(TargetInstId);
    }
    if (BuffId.Length != 0) {
      output.WriteRawTag(26);
      output.WriteString(BuffId);
    }
    if (BuffInstId != 0UL) {
      output.WriteRawTag(32);
      output.WriteUInt64(BuffInstId);
    }
    if (ClientAddTs != 0L) {
      output.WriteRawTag(40);
      output.WriteInt64(ClientAddTs);
    }
    if (assignedItems_ != null) {
      output.WriteRawTag(50);
      output.WriteMessage(AssignedItems);
    }
    if (BuffSrcType != 0) {
      output.WriteRawTag(56);
      output.WriteInt32(BuffSrcType);
    }
    if (BuffSrcArgs.Length != 0) {
      output.WriteRawTag(66);
      output.WriteString(BuffSrcArgs);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SrcInstId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(SrcInstId);
    }
    if (TargetInstId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(TargetInstId);
    }
    if (BuffId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(BuffId);
    }
    if (BuffInstId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(BuffInstId);
    }
    if (ClientAddTs != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(ClientAddTs);
    }
    if (assignedItems_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(AssignedItems);
    }
    if (BuffSrcType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(BuffSrcType);
    }
    if (BuffSrcArgs.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(BuffSrcArgs);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleAddBuffOpData other) {
    if (other == null) {
      return;
    }
    if (other.SrcInstId != 0UL) {
      SrcInstId = other.SrcInstId;
    }
    if (other.TargetInstId != 0UL) {
      TargetInstId = other.TargetInstId;
    }
    if (other.BuffId.Length != 0) {
      BuffId = other.BuffId;
    }
    if (other.BuffInstId != 0UL) {
      BuffInstId = other.BuffInstId;
    }
    if (other.ClientAddTs != 0L) {
      ClientAddTs = other.ClientAddTs;
    }
    if (other.assignedItems_ != null) {
      if (assignedItems_ == null) {
        assignedItems_ = new global::BattleBlackboard();
      }
      AssignedItems.MergeFrom(other.AssignedItems);
    }
    if (other.BuffSrcType != 0) {
      BuffSrcType = other.BuffSrcType;
    }
    if (other.BuffSrcArgs.Length != 0) {
      BuffSrcArgs = other.BuffSrcArgs;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          SrcInstId = input.ReadUInt64();
          break;
        }
        case 16: {
          TargetInstId = input.ReadUInt64();
          break;
        }
        case 26: {
          BuffId = input.ReadString();
          break;
        }
        case 32: {
          BuffInstId = input.ReadUInt64();
          break;
        }
        case 40: {
          ClientAddTs = input.ReadInt64();
          break;
        }
        case 50: {
          if (assignedItems_ == null) {
            assignedItems_ = new global::BattleBlackboard();
          }
          input.ReadMessage(assignedItems_);
          break;
        }
        case 56: {
          BuffSrcType = input.ReadInt32();
          break;
        }
        case 66: {
          BuffSrcArgs = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class BattleBlackboard : pb::IMessage<BattleBlackboard> {
  private static readonly pb::MessageParser<BattleBlackboard> _parser = new pb::MessageParser<BattleBlackboard>(() => new BattleBlackboard());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleBlackboard> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[75]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleBlackboard() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleBlackboard(BattleBlackboard other) : this() {
    blackboard_ = other.blackboard_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleBlackboard Clone() {
    return new BattleBlackboard(this);
  }

  /// <summary>Field number for the "blackboard" field.</summary>
  public const int BlackboardFieldNumber = 1;
  private static readonly pbc::MapField<string, global::BattleBlackboardData>.Codec _map_blackboard_codec
      = new pbc::MapField<string, global::BattleBlackboardData>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForMessage(18, global::BattleBlackboardData.Parser), 10);
  private readonly pbc::MapField<string, global::BattleBlackboardData> blackboard_ = new pbc::MapField<string, global::BattleBlackboardData>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<string, global::BattleBlackboardData> Blackboard {
    get { return blackboard_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleBlackboard);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleBlackboard other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!Blackboard.Equals(other.Blackboard)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= Blackboard.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    blackboard_.WriteTo(output, _map_blackboard_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += blackboard_.CalculateSize(_map_blackboard_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleBlackboard other) {
    if (other == null) {
      return;
    }
    blackboard_.Add(other.blackboard_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          blackboard_.AddEntriesFrom(input, _map_blackboard_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class BattleBlackboardData : pb::IMessage<BattleBlackboardData> {
  private static readonly pb::MessageParser<BattleBlackboardData> _parser = new pb::MessageParser<BattleBlackboardData>(() => new BattleBlackboardData());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleBlackboardData> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[76]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleBlackboardData() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleBlackboardData(BattleBlackboardData other) : this() {
    strValue_ = other.strValue_;
    floatValue_ = other.floatValue_;
    isDynamic_ = other.isDynamic_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleBlackboardData Clone() {
    return new BattleBlackboardData(this);
  }

  /// <summary>Field number for the "str_value" field.</summary>
  public const int StrValueFieldNumber = 1;
  private string strValue_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string StrValue {
    get { return strValue_; }
    set {
      strValue_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "float_value" field.</summary>
  public const int FloatValueFieldNumber = 2;
  private double floatValue_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public double FloatValue {
    get { return floatValue_; }
    set {
      floatValue_ = value;
    }
  }

  /// <summary>Field number for the "is_dynamic" field.</summary>
  public const int IsDynamicFieldNumber = 3;
  private bool isDynamic_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool IsDynamic {
    get { return isDynamic_; }
    set {
      isDynamic_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleBlackboardData);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleBlackboardData other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (StrValue != other.StrValue) return false;
    if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(FloatValue, other.FloatValue)) return false;
    if (IsDynamic != other.IsDynamic) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (StrValue.Length != 0) hash ^= StrValue.GetHashCode();
    if (FloatValue != 0D) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(FloatValue);
    if (IsDynamic != false) hash ^= IsDynamic.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (StrValue.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(StrValue);
    }
    if (FloatValue != 0D) {
      output.WriteRawTag(17);
      output.WriteDouble(FloatValue);
    }
    if (IsDynamic != false) {
      output.WriteRawTag(24);
      output.WriteBool(IsDynamic);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (StrValue.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(StrValue);
    }
    if (FloatValue != 0D) {
      size += 1 + 8;
    }
    if (IsDynamic != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleBlackboardData other) {
    if (other == null) {
      return;
    }
    if (other.StrValue.Length != 0) {
      StrValue = other.StrValue;
    }
    if (other.FloatValue != 0D) {
      FloatValue = other.FloatValue;
    }
    if (other.IsDynamic != false) {
      IsDynamic = other.IsDynamic;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          StrValue = input.ReadString();
          break;
        }
        case 17: {
          FloatValue = input.ReadDouble();
          break;
        }
        case 24: {
          IsDynamic = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class BattleFinishBuffOpData : pb::IMessage<BattleFinishBuffOpData> {
  private static readonly pb::MessageParser<BattleFinishBuffOpData> _parser = new pb::MessageParser<BattleFinishBuffOpData>(() => new BattleFinishBuffOpData());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleFinishBuffOpData> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[77]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleFinishBuffOpData() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleFinishBuffOpData(BattleFinishBuffOpData other) : this() {
    buffInstId_ = other.buffInstId_;
    reduceLayer_ = other.reduceLayer_;
    force_ = other.force_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleFinishBuffOpData Clone() {
    return new BattleFinishBuffOpData(this);
  }

  /// <summary>Field number for the "buff_inst_id" field.</summary>
  public const int BuffInstIdFieldNumber = 1;
  private ulong buffInstId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong BuffInstId {
    get { return buffInstId_; }
    set {
      buffInstId_ = value;
    }
  }

  /// <summary>Field number for the "reduce_layer" field.</summary>
  public const int ReduceLayerFieldNumber = 2;
  private int reduceLayer_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ReduceLayer {
    get { return reduceLayer_; }
    set {
      reduceLayer_ = value;
    }
  }

  /// <summary>Field number for the "force" field.</summary>
  public const int ForceFieldNumber = 3;
  private bool force_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Force {
    get { return force_; }
    set {
      force_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleFinishBuffOpData);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleFinishBuffOpData other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (BuffInstId != other.BuffInstId) return false;
    if (ReduceLayer != other.ReduceLayer) return false;
    if (Force != other.Force) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (BuffInstId != 0UL) hash ^= BuffInstId.GetHashCode();
    if (ReduceLayer != 0) hash ^= ReduceLayer.GetHashCode();
    if (Force != false) hash ^= Force.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (BuffInstId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(BuffInstId);
    }
    if (ReduceLayer != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(ReduceLayer);
    }
    if (Force != false) {
      output.WriteRawTag(24);
      output.WriteBool(Force);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (BuffInstId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(BuffInstId);
    }
    if (ReduceLayer != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ReduceLayer);
    }
    if (Force != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleFinishBuffOpData other) {
    if (other == null) {
      return;
    }
    if (other.BuffInstId != 0UL) {
      BuffInstId = other.BuffInstId;
    }
    if (other.ReduceLayer != 0) {
      ReduceLayer = other.ReduceLayer;
    }
    if (other.Force != false) {
      Force = other.Force;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          BuffInstId = input.ReadUInt64();
          break;
        }
        case 16: {
          ReduceLayer = input.ReadInt32();
          break;
        }
        case 24: {
          Force = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class BattleSkillAttachOpData : pb::IMessage<BattleSkillAttachOpData> {
  private static readonly pb::MessageParser<BattleSkillAttachOpData> _parser = new pb::MessageParser<BattleSkillAttachOpData>(() => new BattleSkillAttachOpData());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleSkillAttachOpData> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[78]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleSkillAttachOpData() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleSkillAttachOpData(BattleSkillAttachOpData other) : this() {
    srcInstId_ = other.srcInstId_;
    skillId_ = other.skillId_;
    skillLv_ = other.skillLv_;
    skillSource_ = other.skillSource_;
    skillInstId_ = other.skillInstId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleSkillAttachOpData Clone() {
    return new BattleSkillAttachOpData(this);
  }

  /// <summary>Field number for the "src_inst_id" field.</summary>
  public const int SrcInstIdFieldNumber = 1;
  private ulong srcInstId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong SrcInstId {
    get { return srcInstId_; }
    set {
      srcInstId_ = value;
    }
  }

  /// <summary>Field number for the "skill_id" field.</summary>
  public const int SkillIdFieldNumber = 2;
  private string skillId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string SkillId {
    get { return skillId_; }
    set {
      skillId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "skill_lv" field.</summary>
  public const int SkillLvFieldNumber = 3;
  private int skillLv_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int SkillLv {
    get { return skillLv_; }
    set {
      skillLv_ = value;
    }
  }

  /// <summary>Field number for the "skill_source" field.</summary>
  public const int SkillSourceFieldNumber = 4;
  private global::BattleSkillSource skillSource_ = 0;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleSkillSource SkillSource {
    get { return skillSource_; }
    set {
      skillSource_ = value;
    }
  }

  /// <summary>Field number for the "skill_inst_id" field.</summary>
  public const int SkillInstIdFieldNumber = 5;
  private ulong skillInstId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong SkillInstId {
    get { return skillInstId_; }
    set {
      skillInstId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleSkillAttachOpData);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleSkillAttachOpData other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SrcInstId != other.SrcInstId) return false;
    if (SkillId != other.SkillId) return false;
    if (SkillLv != other.SkillLv) return false;
    if (SkillSource != other.SkillSource) return false;
    if (SkillInstId != other.SkillInstId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SrcInstId != 0UL) hash ^= SrcInstId.GetHashCode();
    if (SkillId.Length != 0) hash ^= SkillId.GetHashCode();
    if (SkillLv != 0) hash ^= SkillLv.GetHashCode();
    if (SkillSource != 0) hash ^= SkillSource.GetHashCode();
    if (SkillInstId != 0UL) hash ^= SkillInstId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SrcInstId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(SrcInstId);
    }
    if (SkillId.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(SkillId);
    }
    if (SkillLv != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(SkillLv);
    }
    if (SkillSource != 0) {
      output.WriteRawTag(32);
      output.WriteEnum((int) SkillSource);
    }
    if (SkillInstId != 0UL) {
      output.WriteRawTag(40);
      output.WriteUInt64(SkillInstId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SrcInstId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(SrcInstId);
    }
    if (SkillId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(SkillId);
    }
    if (SkillLv != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(SkillLv);
    }
    if (SkillSource != 0) {
      size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) SkillSource);
    }
    if (SkillInstId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(SkillInstId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleSkillAttachOpData other) {
    if (other == null) {
      return;
    }
    if (other.SrcInstId != 0UL) {
      SrcInstId = other.SrcInstId;
    }
    if (other.SkillId.Length != 0) {
      SkillId = other.SkillId;
    }
    if (other.SkillLv != 0) {
      SkillLv = other.SkillLv;
    }
    if (other.SkillSource != 0) {
      SkillSource = other.SkillSource;
    }
    if (other.SkillInstId != 0UL) {
      SkillInstId = other.SkillInstId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          SrcInstId = input.ReadUInt64();
          break;
        }
        case 18: {
          SkillId = input.ReadString();
          break;
        }
        case 24: {
          SkillLv = input.ReadInt32();
          break;
        }
        case 32: {
          skillSource_ = (global::BattleSkillSource) input.ReadEnum();
          break;
        }
        case 40: {
          SkillInstId = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class BattleSkillDetachOpData : pb::IMessage<BattleSkillDetachOpData> {
  private static readonly pb::MessageParser<BattleSkillDetachOpData> _parser = new pb::MessageParser<BattleSkillDetachOpData>(() => new BattleSkillDetachOpData());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleSkillDetachOpData> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[79]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleSkillDetachOpData() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleSkillDetachOpData(BattleSkillDetachOpData other) : this() {
    skillInstId_ = other.skillInstId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleSkillDetachOpData Clone() {
    return new BattleSkillDetachOpData(this);
  }

  /// <summary>Field number for the "skill_inst_id" field.</summary>
  public const int SkillInstIdFieldNumber = 1;
  private ulong skillInstId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong SkillInstId {
    get { return skillInstId_; }
    set {
      skillInstId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleSkillDetachOpData);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleSkillDetachOpData other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SkillInstId != other.SkillInstId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SkillInstId != 0UL) hash ^= SkillInstId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SkillInstId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(SkillInstId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SkillInstId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(SkillInstId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleSkillDetachOpData other) {
    if (other == null) {
      return;
    }
    if (other.SkillInstId != 0UL) {
      SkillInstId = other.SkillInstId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          SkillInstId = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class BattleSkillStartCastOpData : pb::IMessage<BattleSkillStartCastOpData> {
  private static readonly pb::MessageParser<BattleSkillStartCastOpData> _parser = new pb::MessageParser<BattleSkillStartCastOpData>(() => new BattleSkillStartCastOpData());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleSkillStartCastOpData> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[80]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleSkillStartCastOpData() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleSkillStartCastOpData(BattleSkillStartCastOpData other) : this() {
    instId_ = other.instId_;
    target_ = other.target_ != null ? other.target_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleSkillStartCastOpData Clone() {
    return new BattleSkillStartCastOpData(this);
  }

  /// <summary>Field number for the "inst_id" field.</summary>
  public const int InstIdFieldNumber = 1;
  private ulong instId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong InstId {
    get { return instId_; }
    set {
      instId_ = value;
    }
  }

  /// <summary>Field number for the "target" field.</summary>
  public const int TargetFieldNumber = 2;
  private global::BattleTargetHandle target_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleTargetHandle Target {
    get { return target_; }
    set {
      target_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleSkillStartCastOpData);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleSkillStartCastOpData other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (InstId != other.InstId) return false;
    if (!object.Equals(Target, other.Target)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (InstId != 0UL) hash ^= InstId.GetHashCode();
    if (target_ != null) hash ^= Target.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (InstId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(InstId);
    }
    if (target_ != null) {
      output.WriteRawTag(18);
      output.WriteMessage(Target);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (InstId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(InstId);
    }
    if (target_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Target);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleSkillStartCastOpData other) {
    if (other == null) {
      return;
    }
    if (other.InstId != 0UL) {
      InstId = other.InstId;
    }
    if (other.target_ != null) {
      if (target_ == null) {
        target_ = new global::BattleTargetHandle();
      }
      Target.MergeFrom(other.Target);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          InstId = input.ReadUInt64();
          break;
        }
        case 18: {
          if (target_ == null) {
            target_ = new global::BattleTargetHandle();
          }
          input.ReadMessage(target_);
          break;
        }
      }
    }
  }

}

public sealed partial class BattleTargetHandle : pb::IMessage<BattleTargetHandle> {
  private static readonly pb::MessageParser<BattleTargetHandle> _parser = new pb::MessageParser<BattleTargetHandle>(() => new BattleTargetHandle());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleTargetHandle> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[81]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleTargetHandle() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleTargetHandle(BattleTargetHandle other) : this() {
    targets_ = other.targets_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleTargetHandle Clone() {
    return new BattleTargetHandle(this);
  }

  /// <summary>Field number for the "targets" field.</summary>
  public const int TargetsFieldNumber = 1;
  private static readonly pb::FieldCodec<global::BattleTargetWrapper> _repeated_targets_codec
      = pb::FieldCodec.ForMessage(10, global::BattleTargetWrapper.Parser);
  private readonly pbc::RepeatedField<global::BattleTargetWrapper> targets_ = new pbc::RepeatedField<global::BattleTargetWrapper>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::BattleTargetWrapper> Targets {
    get { return targets_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleTargetHandle);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleTargetHandle other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!targets_.Equals(other.targets_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= targets_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    targets_.WriteTo(output, _repeated_targets_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += targets_.CalculateSize(_repeated_targets_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleTargetHandle other) {
    if (other == null) {
      return;
    }
    targets_.Add(other.targets_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          targets_.AddEntriesFrom(input, _repeated_targets_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class BattleTargetWrapper : pb::IMessage<BattleTargetWrapper> {
  private static readonly pb::MessageParser<BattleTargetWrapper> _parser = new pb::MessageParser<BattleTargetWrapper>(() => new BattleTargetWrapper());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleTargetWrapper> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[82]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleTargetWrapper() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleTargetWrapper(BattleTargetWrapper other) : this() {
    targetId_ = other.targetId_;
    targetPos_ = other.targetPos_ != null ? other.targetPos_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleTargetWrapper Clone() {
    return new BattleTargetWrapper(this);
  }

  /// <summary>Field number for the "target_id" field.</summary>
  public const int TargetIdFieldNumber = 1;
  private ulong targetId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong TargetId {
    get { return targetId_; }
    set {
      targetId_ = value;
    }
  }

  /// <summary>Field number for the "target_pos" field.</summary>
  public const int TargetPosFieldNumber = 2;
  private global::Vector targetPos_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::Vector TargetPos {
    get { return targetPos_; }
    set {
      targetPos_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleTargetWrapper);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleTargetWrapper other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (TargetId != other.TargetId) return false;
    if (!object.Equals(TargetPos, other.TargetPos)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (TargetId != 0UL) hash ^= TargetId.GetHashCode();
    if (targetPos_ != null) hash ^= TargetPos.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (TargetId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(TargetId);
    }
    if (targetPos_ != null) {
      output.WriteRawTag(18);
      output.WriteMessage(TargetPos);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (TargetId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(TargetId);
    }
    if (targetPos_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(TargetPos);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleTargetWrapper other) {
    if (other == null) {
      return;
    }
    if (other.TargetId != 0UL) {
      TargetId = other.TargetId;
    }
    if (other.targetPos_ != null) {
      if (targetPos_ == null) {
        targetPos_ = new global::Vector();
      }
      TargetPos.MergeFrom(other.TargetPos);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          TargetId = input.ReadUInt64();
          break;
        }
        case 18: {
          if (targetPos_ == null) {
            targetPos_ = new global::Vector();
          }
          input.ReadMessage(targetPos_);
          break;
        }
      }
    }
  }

}

public sealed partial class Vector : pb::IMessage<Vector> {
  private static readonly pb::MessageParser<Vector> _parser = new pb::MessageParser<Vector>(() => new Vector());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<Vector> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[83]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public Vector() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public Vector(Vector other) : this() {
    x_ = other.x_;
    y_ = other.y_;
    z_ = other.z_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public Vector Clone() {
    return new Vector(this);
  }

  /// <summary>Field number for the "x" field.</summary>
  public const int XFieldNumber = 1;
  private float x_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public float X {
    get { return x_; }
    set {
      x_ = value;
    }
  }

  /// <summary>Field number for the "y" field.</summary>
  public const int YFieldNumber = 2;
  private float y_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public float Y {
    get { return y_; }
    set {
      y_ = value;
    }
  }

  /// <summary>Field number for the "z" field.</summary>
  public const int ZFieldNumber = 3;
  private float z_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public float Z {
    get { return z_; }
    set {
      z_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as Vector);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(Vector other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(X, other.X)) return false;
    if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(Y, other.Y)) return false;
    if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(Z, other.Z)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (X != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(X);
    if (Y != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(Y);
    if (Z != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(Z);
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (X != 0F) {
      output.WriteRawTag(13);
      output.WriteFloat(X);
    }
    if (Y != 0F) {
      output.WriteRawTag(21);
      output.WriteFloat(Y);
    }
    if (Z != 0F) {
      output.WriteRawTag(29);
      output.WriteFloat(Z);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (X != 0F) {
      size += 1 + 4;
    }
    if (Y != 0F) {
      size += 1 + 4;
    }
    if (Z != 0F) {
      size += 1 + 4;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(Vector other) {
    if (other == null) {
      return;
    }
    if (other.X != 0F) {
      X = other.X;
    }
    if (other.Y != 0F) {
      Y = other.Y;
    }
    if (other.Z != 0F) {
      Z = other.Z;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 13: {
          X = input.ReadFloat();
          break;
        }
        case 21: {
          Y = input.ReadFloat();
          break;
        }
        case 29: {
          Z = input.ReadFloat();
          break;
        }
      }
    }
  }

}

public sealed partial class BattleSkillEndCastOpData : pb::IMessage<BattleSkillEndCastOpData> {
  private static readonly pb::MessageParser<BattleSkillEndCastOpData> _parser = new pb::MessageParser<BattleSkillEndCastOpData>(() => new BattleSkillEndCastOpData());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleSkillEndCastOpData> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[84]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleSkillEndCastOpData() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleSkillEndCastOpData(BattleSkillEndCastOpData other) : this() {
    instId_ = other.instId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleSkillEndCastOpData Clone() {
    return new BattleSkillEndCastOpData(this);
  }

  /// <summary>Field number for the "inst_id" field.</summary>
  public const int InstIdFieldNumber = 1;
  private ulong instId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong InstId {
    get { return instId_; }
    set {
      instId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleSkillEndCastOpData);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleSkillEndCastOpData other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (InstId != other.InstId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (InstId != 0UL) hash ^= InstId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (InstId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(InstId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (InstId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(InstId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleSkillEndCastOpData other) {
    if (other == null) {
      return;
    }
    if (other.InstId != 0UL) {
      InstId = other.InstId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          InstId = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class BattleSwitchModeOpData : pb::IMessage<BattleSwitchModeOpData> {
  private static readonly pb::MessageParser<BattleSwitchModeOpData> _parser = new pb::MessageParser<BattleSwitchModeOpData>(() => new BattleSwitchModeOpData());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleSwitchModeOpData> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[85]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleSwitchModeOpData() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleSwitchModeOpData(BattleSwitchModeOpData other) : this() {
    modeInstId_ = other.modeInstId_;
    modeId_ = other.modeId_;
    modeChangeType_ = other.modeChangeType_;
    isEnable_ = other.isEnable_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleSwitchModeOpData Clone() {
    return new BattleSwitchModeOpData(this);
  }

  /// <summary>Field number for the "mode_inst_id" field.</summary>
  public const int ModeInstIdFieldNumber = 1;
  private uint modeInstId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint ModeInstId {
    get { return modeInstId_; }
    set {
      modeInstId_ = value;
    }
  }

  /// <summary>Field number for the "mode_id" field.</summary>
  public const int ModeIdFieldNumber = 2;
  private string modeId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ModeId {
    get { return modeId_; }
    set {
      modeId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "mode_change_type" field.</summary>
  public const int ModeChangeTypeFieldNumber = 3;
  private int modeChangeType_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ModeChangeType {
    get { return modeChangeType_; }
    set {
      modeChangeType_ = value;
    }
  }

  /// <summary>Field number for the "is_enable" field.</summary>
  public const int IsEnableFieldNumber = 4;
  private bool isEnable_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool IsEnable {
    get { return isEnable_; }
    set {
      isEnable_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleSwitchModeOpData);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleSwitchModeOpData other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ModeInstId != other.ModeInstId) return false;
    if (ModeId != other.ModeId) return false;
    if (ModeChangeType != other.ModeChangeType) return false;
    if (IsEnable != other.IsEnable) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ModeInstId != 0) hash ^= ModeInstId.GetHashCode();
    if (ModeId.Length != 0) hash ^= ModeId.GetHashCode();
    if (ModeChangeType != 0) hash ^= ModeChangeType.GetHashCode();
    if (IsEnable != false) hash ^= IsEnable.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ModeInstId != 0) {
      output.WriteRawTag(8);
      output.WriteUInt32(ModeInstId);
    }
    if (ModeId.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(ModeId);
    }
    if (ModeChangeType != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(ModeChangeType);
    }
    if (IsEnable != false) {
      output.WriteRawTag(32);
      output.WriteBool(IsEnable);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ModeInstId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(ModeInstId);
    }
    if (ModeId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ModeId);
    }
    if (ModeChangeType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ModeChangeType);
    }
    if (IsEnable != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleSwitchModeOpData other) {
    if (other == null) {
      return;
    }
    if (other.ModeInstId != 0) {
      ModeInstId = other.ModeInstId;
    }
    if (other.ModeId.Length != 0) {
      ModeId = other.ModeId;
    }
    if (other.ModeChangeType != 0) {
      ModeChangeType = other.ModeChangeType;
    }
    if (other.IsEnable != false) {
      IsEnable = other.IsEnable;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ModeInstId = input.ReadUInt32();
          break;
        }
        case 18: {
          ModeId = input.ReadString();
          break;
        }
        case 24: {
          ModeChangeType = input.ReadInt32();
          break;
        }
        case 32: {
          IsEnable = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class BattleTriggerActionOpData : pb::IMessage<BattleTriggerActionOpData> {
  private static readonly pb::MessageParser<BattleTriggerActionOpData> _parser = new pb::MessageParser<BattleTriggerActionOpData>(() => new BattleTriggerActionOpData());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleTriggerActionOpData> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[86]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleTriggerActionOpData() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleTriggerActionOpData(BattleTriggerActionOpData other) : this() {
    ownerId_ = other.ownerId_;
    instId_ = other.instId_;
    templateId_ = other.templateId_;
    inputTargets_ = other.inputTargets_ != null ? other.inputTargets_.Clone() : null;
    action_ = other.action_ != null ? other.action_.Clone() : null;
    triggerType_ = other.triggerType_;
    ownerType_ = other.ownerType_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleTriggerActionOpData Clone() {
    return new BattleTriggerActionOpData(this);
  }

  /// <summary>Field number for the "owner_id" field.</summary>
  public const int OwnerIdFieldNumber = 1;
  private ulong ownerId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong OwnerId {
    get { return ownerId_; }
    set {
      ownerId_ = value;
    }
  }

  /// <summary>Field number for the "inst_id" field.</summary>
  public const int InstIdFieldNumber = 2;
  private ulong instId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong InstId {
    get { return instId_; }
    set {
      instId_ = value;
    }
  }

  /// <summary>Field number for the "template_id" field.</summary>
  public const int TemplateIdFieldNumber = 3;
  private string templateId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string TemplateId {
    get { return templateId_; }
    set {
      templateId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "input_targets" field.</summary>
  public const int InputTargetsFieldNumber = 4;
  private global::BattleTargetHandle inputTargets_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleTargetHandle InputTargets {
    get { return inputTargets_; }
    set {
      inputTargets_ = value;
    }
  }

  /// <summary>Field number for the "action" field.</summary>
  public const int ActionFieldNumber = 5;
  private global::BattleActionInst action_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleActionInst Action {
    get { return action_; }
    set {
      action_ = value;
    }
  }

  /// <summary>Field number for the "trigger_type" field.</summary>
  public const int TriggerTypeFieldNumber = 6;
  private global::BattleTriggerType triggerType_ = 0;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleTriggerType TriggerType {
    get { return triggerType_; }
    set {
      triggerType_ = value;
    }
  }

  /// <summary>Field number for the "owner_type" field.</summary>
  public const int OwnerTypeFieldNumber = 7;
  private global::BattleActionOwnerType ownerType_ = 0;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleActionOwnerType OwnerType {
    get { return ownerType_; }
    set {
      ownerType_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleTriggerActionOpData);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleTriggerActionOpData other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (OwnerId != other.OwnerId) return false;
    if (InstId != other.InstId) return false;
    if (TemplateId != other.TemplateId) return false;
    if (!object.Equals(InputTargets, other.InputTargets)) return false;
    if (!object.Equals(Action, other.Action)) return false;
    if (TriggerType != other.TriggerType) return false;
    if (OwnerType != other.OwnerType) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (OwnerId != 0UL) hash ^= OwnerId.GetHashCode();
    if (InstId != 0UL) hash ^= InstId.GetHashCode();
    if (TemplateId.Length != 0) hash ^= TemplateId.GetHashCode();
    if (inputTargets_ != null) hash ^= InputTargets.GetHashCode();
    if (action_ != null) hash ^= Action.GetHashCode();
    if (TriggerType != 0) hash ^= TriggerType.GetHashCode();
    if (OwnerType != 0) hash ^= OwnerType.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (OwnerId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(OwnerId);
    }
    if (InstId != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(InstId);
    }
    if (TemplateId.Length != 0) {
      output.WriteRawTag(26);
      output.WriteString(TemplateId);
    }
    if (inputTargets_ != null) {
      output.WriteRawTag(34);
      output.WriteMessage(InputTargets);
    }
    if (action_ != null) {
      output.WriteRawTag(42);
      output.WriteMessage(Action);
    }
    if (TriggerType != 0) {
      output.WriteRawTag(48);
      output.WriteEnum((int) TriggerType);
    }
    if (OwnerType != 0) {
      output.WriteRawTag(56);
      output.WriteEnum((int) OwnerType);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (OwnerId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(OwnerId);
    }
    if (InstId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(InstId);
    }
    if (TemplateId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(TemplateId);
    }
    if (inputTargets_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(InputTargets);
    }
    if (action_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Action);
    }
    if (TriggerType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) TriggerType);
    }
    if (OwnerType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) OwnerType);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleTriggerActionOpData other) {
    if (other == null) {
      return;
    }
    if (other.OwnerId != 0UL) {
      OwnerId = other.OwnerId;
    }
    if (other.InstId != 0UL) {
      InstId = other.InstId;
    }
    if (other.TemplateId.Length != 0) {
      TemplateId = other.TemplateId;
    }
    if (other.inputTargets_ != null) {
      if (inputTargets_ == null) {
        inputTargets_ = new global::BattleTargetHandle();
      }
      InputTargets.MergeFrom(other.InputTargets);
    }
    if (other.action_ != null) {
      if (action_ == null) {
        action_ = new global::BattleActionInst();
      }
      Action.MergeFrom(other.Action);
    }
    if (other.TriggerType != 0) {
      TriggerType = other.TriggerType;
    }
    if (other.OwnerType != 0) {
      OwnerType = other.OwnerType;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          OwnerId = input.ReadUInt64();
          break;
        }
        case 16: {
          InstId = input.ReadUInt64();
          break;
        }
        case 26: {
          TemplateId = input.ReadString();
          break;
        }
        case 34: {
          if (inputTargets_ == null) {
            inputTargets_ = new global::BattleTargetHandle();
          }
          input.ReadMessage(inputTargets_);
          break;
        }
        case 42: {
          if (action_ == null) {
            action_ = new global::BattleActionInst();
          }
          input.ReadMessage(action_);
          break;
        }
        case 48: {
          triggerType_ = (global::BattleTriggerType) input.ReadEnum();
          break;
        }
        case 56: {
          ownerType_ = (global::BattleActionOwnerType) input.ReadEnum();
          break;
        }
      }
    }
  }

}

public sealed partial class BattleActionInst : pb::IMessage<BattleActionInst> {
  private static readonly pb::MessageParser<BattleActionInst> _parser = new pb::MessageParser<BattleActionInst>(() => new BattleActionInst());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleActionInst> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[87]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleActionInst() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleActionInst(BattleActionInst other) : this() {
    actionId_ = other.actionId_;
    actionType_ = other.actionType_;
    switch (other.InstImplCase) {
      case InstImplOneofCase.DamageAction:
        DamageAction = other.DamageAction.Clone();
        break;
      case InstImplOneofCase.CreateBuffAction:
        CreateBuffAction = other.CreateBuffAction.Clone();
        break;
      case InstImplOneofCase.FinishBuffAction:
        FinishBuffAction = other.FinishBuffAction.Clone();
        break;
      case InstImplOneofCase.GainCostAction:
        GainCostAction = other.GainCostAction.Clone();
        break;
      case InstImplOneofCase.HealAction:
        HealAction = other.HealAction.Clone();
        break;
      case InstImplOneofCase.SwitchModeAction:
        SwitchModeAction = other.SwitchModeAction.Clone();
        break;
      case InstImplOneofCase.ModifyDynamicBlackboardAction:
        ModifyDynamicBlackboardAction = other.ModifyDynamicBlackboardAction.Clone();
        break;
      case InstImplOneofCase.SpawnEnemyAction:
        SpawnEnemyAction = other.SpawnEnemyAction.Clone();
        break;
      case InstImplOneofCase.CheckDamageTypeAction:
        CheckDamageTypeAction = other.CheckDamageTypeAction.Clone();
        break;
      case InstImplOneofCase.CheckDamageDecorateMaskAction:
        CheckDamageDecorateMaskAction = other.CheckDamageDecorateMaskAction.Clone();
        break;
      case InstImplOneofCase.CheckDistanceConditionAction:
        CheckDistanceConditionAction = other.CheckDistanceConditionAction.Clone();
        break;
      case InstImplOneofCase.CheckEntityNumAction:
        CheckEntityNumAction = other.CheckEntityNumAction.Clone();
        break;
      case InstImplOneofCase.CheckHpAction:
        CheckHpAction = other.CheckHpAction.Clone();
        break;
      case InstImplOneofCase.CheckIsCriticalDamageAction:
        CheckIsCriticalDamageAction = other.CheckIsCriticalDamageAction.Clone();
        break;
      case InstImplOneofCase.CheckMainCharacterAction:
        CheckMainCharacterAction = other.CheckMainCharacterAction.Clone();
        break;
      case InstImplOneofCase.CheckObjectTypeMatchAction:
        CheckObjectTypeMatchAction = other.CheckObjectTypeMatchAction.Clone();
        break;
      case InstImplOneofCase.CheckSkillTypeAction:
        CheckSkillTypeAction = other.CheckSkillTypeAction.Clone();
        break;
      case InstImplOneofCase.CheckSquadInFightAction:
        CheckSquadInFightAction = other.CheckSquadInFightAction.Clone();
        break;
      case InstImplOneofCase.CheckTagMatchAction:
        CheckTagMatchAction = other.CheckTagMatchAction.Clone();
        break;
      case InstImplOneofCase.CheckTargetAngleAction:
        CheckTargetAngleAction = other.CheckTargetAngleAction.Clone();
        break;
      case InstImplOneofCase.CompareFloatAction:
        CompareFloatAction = other.CompareFloatAction.Clone();
        break;
      case InstImplOneofCase.ProbabilityAction:
        ProbabilityAction = other.ProbabilityAction.Clone();
        break;
      case InstImplOneofCase.LaunchProjectileAction:
        LaunchProjectileAction = other.LaunchProjectileAction.Clone();
        break;
      case InstImplOneofCase.SpawnAbilityEntityAction:
        SpawnAbilityEntityAction = other.SpawnAbilityEntityAction.Clone();
        break;
      case InstImplOneofCase.SpawnCustomSummonAction:
        SpawnCustomSummonAction = other.SpawnCustomSummonAction.Clone();
        break;
      case InstImplOneofCase.RefreshBuffAttrModifierValueAction:
        RefreshBuffAttrModifierValueAction = other.RefreshBuffAttrModifierValueAction.Clone();
        break;
      case InstImplOneofCase.StoreAttributeValueAction:
        StoreAttributeValueAction = other.StoreAttributeValueAction.Clone();
        break;
      case InstImplOneofCase.SetBlackboardFromPresetAction:
        SetBlackboardFromPresetAction = other.SetBlackboardFromPresetAction.Clone();
        break;
      case InstImplOneofCase.EmptyAction:
        EmptyAction = other.EmptyAction.Clone();
        break;
    }

    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleActionInst Clone() {
    return new BattleActionInst(this);
  }

  /// <summary>Field number for the "action_id" field.</summary>
  public const int ActionIdFieldNumber = 1;
  private int actionId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ActionId {
    get { return actionId_; }
    set {
      actionId_ = value;
    }
  }

  /// <summary>Field number for the "action_type" field.</summary>
  public const int ActionTypeFieldNumber = 2;
  private global::ServerBattleActionType actionType_ = 0;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ServerBattleActionType ActionType {
    get { return actionType_; }
    set {
      actionType_ = value;
    }
  }

  /// <summary>Field number for the "damage_action" field.</summary>
  public const int DamageActionFieldNumber = 3;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleDamageActionRuntime DamageAction {
    get { return instImplCase_ == InstImplOneofCase.DamageAction ? (global::BattleDamageActionRuntime) instImpl_ : null; }
    set {
      instImpl_ = value;
      instImplCase_ = value == null ? InstImplOneofCase.None : InstImplOneofCase.DamageAction;
    }
  }

  /// <summary>Field number for the "create_buff_action" field.</summary>
  public const int CreateBuffActionFieldNumber = 4;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleCreateBuffActionRuntime CreateBuffAction {
    get { return instImplCase_ == InstImplOneofCase.CreateBuffAction ? (global::BattleCreateBuffActionRuntime) instImpl_ : null; }
    set {
      instImpl_ = value;
      instImplCase_ = value == null ? InstImplOneofCase.None : InstImplOneofCase.CreateBuffAction;
    }
  }

  /// <summary>Field number for the "finish_buff_action" field.</summary>
  public const int FinishBuffActionFieldNumber = 5;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleFinishBuffActionRuntime FinishBuffAction {
    get { return instImplCase_ == InstImplOneofCase.FinishBuffAction ? (global::BattleFinishBuffActionRuntime) instImpl_ : null; }
    set {
      instImpl_ = value;
      instImplCase_ = value == null ? InstImplOneofCase.None : InstImplOneofCase.FinishBuffAction;
    }
  }

  /// <summary>Field number for the "gain_cost_action" field.</summary>
  public const int GainCostActionFieldNumber = 6;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleGainCostActionRuntime GainCostAction {
    get { return instImplCase_ == InstImplOneofCase.GainCostAction ? (global::BattleGainCostActionRuntime) instImpl_ : null; }
    set {
      instImpl_ = value;
      instImplCase_ = value == null ? InstImplOneofCase.None : InstImplOneofCase.GainCostAction;
    }
  }

  /// <summary>Field number for the "heal_action" field.</summary>
  public const int HealActionFieldNumber = 7;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleHealActionRuntime HealAction {
    get { return instImplCase_ == InstImplOneofCase.HealAction ? (global::BattleHealActionRuntime) instImpl_ : null; }
    set {
      instImpl_ = value;
      instImplCase_ = value == null ? InstImplOneofCase.None : InstImplOneofCase.HealAction;
    }
  }

  /// <summary>Field number for the "switch_mode_action" field.</summary>
  public const int SwitchModeActionFieldNumber = 8;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleSwitchModeActionRuntime SwitchModeAction {
    get { return instImplCase_ == InstImplOneofCase.SwitchModeAction ? (global::BattleSwitchModeActionRuntime) instImpl_ : null; }
    set {
      instImpl_ = value;
      instImplCase_ = value == null ? InstImplOneofCase.None : InstImplOneofCase.SwitchModeAction;
    }
  }

  /// <summary>Field number for the "modify_dynamic_blackboard_action" field.</summary>
  public const int ModifyDynamicBlackboardActionFieldNumber = 9;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleModifyDynamicBlackboardActionRuntime ModifyDynamicBlackboardAction {
    get { return instImplCase_ == InstImplOneofCase.ModifyDynamicBlackboardAction ? (global::BattleModifyDynamicBlackboardActionRuntime) instImpl_ : null; }
    set {
      instImpl_ = value;
      instImplCase_ = value == null ? InstImplOneofCase.None : InstImplOneofCase.ModifyDynamicBlackboardAction;
    }
  }

  /// <summary>Field number for the "spawn_enemy_action" field.</summary>
  public const int SpawnEnemyActionFieldNumber = 10;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleSpawnEnemyActionRuntime SpawnEnemyAction {
    get { return instImplCase_ == InstImplOneofCase.SpawnEnemyAction ? (global::BattleSpawnEnemyActionRuntime) instImpl_ : null; }
    set {
      instImpl_ = value;
      instImplCase_ = value == null ? InstImplOneofCase.None : InstImplOneofCase.SpawnEnemyAction;
    }
  }

  /// <summary>Field number for the "check_damage_type_action" field.</summary>
  public const int CheckDamageTypeActionFieldNumber = 11;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleCheckDamageTypeActionRuntime CheckDamageTypeAction {
    get { return instImplCase_ == InstImplOneofCase.CheckDamageTypeAction ? (global::BattleCheckDamageTypeActionRuntime) instImpl_ : null; }
    set {
      instImpl_ = value;
      instImplCase_ = value == null ? InstImplOneofCase.None : InstImplOneofCase.CheckDamageTypeAction;
    }
  }

  /// <summary>Field number for the "check_damage_decorate_mask_action" field.</summary>
  public const int CheckDamageDecorateMaskActionFieldNumber = 12;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleCheckDamageDecorateMaskActionRuntime CheckDamageDecorateMaskAction {
    get { return instImplCase_ == InstImplOneofCase.CheckDamageDecorateMaskAction ? (global::BattleCheckDamageDecorateMaskActionRuntime) instImpl_ : null; }
    set {
      instImpl_ = value;
      instImplCase_ = value == null ? InstImplOneofCase.None : InstImplOneofCase.CheckDamageDecorateMaskAction;
    }
  }

  /// <summary>Field number for the "check_distance_condition_action" field.</summary>
  public const int CheckDistanceConditionActionFieldNumber = 13;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleCheckDistanceConditionActionRuntime CheckDistanceConditionAction {
    get { return instImplCase_ == InstImplOneofCase.CheckDistanceConditionAction ? (global::BattleCheckDistanceConditionActionRuntime) instImpl_ : null; }
    set {
      instImpl_ = value;
      instImplCase_ = value == null ? InstImplOneofCase.None : InstImplOneofCase.CheckDistanceConditionAction;
    }
  }

  /// <summary>Field number for the "check_entity_num_action" field.</summary>
  public const int CheckEntityNumActionFieldNumber = 14;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleCheckEntityNumActionRuntime CheckEntityNumAction {
    get { return instImplCase_ == InstImplOneofCase.CheckEntityNumAction ? (global::BattleCheckEntityNumActionRuntime) instImpl_ : null; }
    set {
      instImpl_ = value;
      instImplCase_ = value == null ? InstImplOneofCase.None : InstImplOneofCase.CheckEntityNumAction;
    }
  }

  /// <summary>Field number for the "check_hp_action" field.</summary>
  public const int CheckHpActionFieldNumber = 15;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleCheckHpActionRuntime CheckHpAction {
    get { return instImplCase_ == InstImplOneofCase.CheckHpAction ? (global::BattleCheckHpActionRuntime) instImpl_ : null; }
    set {
      instImpl_ = value;
      instImplCase_ = value == null ? InstImplOneofCase.None : InstImplOneofCase.CheckHpAction;
    }
  }

  /// <summary>Field number for the "check_is_critical_damage_action" field.</summary>
  public const int CheckIsCriticalDamageActionFieldNumber = 16;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleCheckIsCriticalDamageActionRuntime CheckIsCriticalDamageAction {
    get { return instImplCase_ == InstImplOneofCase.CheckIsCriticalDamageAction ? (global::BattleCheckIsCriticalDamageActionRuntime) instImpl_ : null; }
    set {
      instImpl_ = value;
      instImplCase_ = value == null ? InstImplOneofCase.None : InstImplOneofCase.CheckIsCriticalDamageAction;
    }
  }

  /// <summary>Field number for the "check_main_character_action" field.</summary>
  public const int CheckMainCharacterActionFieldNumber = 17;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleCheckMainCharacterActionRuntime CheckMainCharacterAction {
    get { return instImplCase_ == InstImplOneofCase.CheckMainCharacterAction ? (global::BattleCheckMainCharacterActionRuntime) instImpl_ : null; }
    set {
      instImpl_ = value;
      instImplCase_ = value == null ? InstImplOneofCase.None : InstImplOneofCase.CheckMainCharacterAction;
    }
  }

  /// <summary>Field number for the "check_object_type_match_action" field.</summary>
  public const int CheckObjectTypeMatchActionFieldNumber = 18;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleCheckObjectTypeMatchActionRuntime CheckObjectTypeMatchAction {
    get { return instImplCase_ == InstImplOneofCase.CheckObjectTypeMatchAction ? (global::BattleCheckObjectTypeMatchActionRuntime) instImpl_ : null; }
    set {
      instImpl_ = value;
      instImplCase_ = value == null ? InstImplOneofCase.None : InstImplOneofCase.CheckObjectTypeMatchAction;
    }
  }

  /// <summary>Field number for the "check_skill_type_action" field.</summary>
  public const int CheckSkillTypeActionFieldNumber = 19;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleCheckSkillTypeActionRuntime CheckSkillTypeAction {
    get { return instImplCase_ == InstImplOneofCase.CheckSkillTypeAction ? (global::BattleCheckSkillTypeActionRuntime) instImpl_ : null; }
    set {
      instImpl_ = value;
      instImplCase_ = value == null ? InstImplOneofCase.None : InstImplOneofCase.CheckSkillTypeAction;
    }
  }

  /// <summary>Field number for the "check_squad_in_fight_action" field.</summary>
  public const int CheckSquadInFightActionFieldNumber = 20;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleCheckSquadInFightActionRuntime CheckSquadInFightAction {
    get { return instImplCase_ == InstImplOneofCase.CheckSquadInFightAction ? (global::BattleCheckSquadInFightActionRuntime) instImpl_ : null; }
    set {
      instImpl_ = value;
      instImplCase_ = value == null ? InstImplOneofCase.None : InstImplOneofCase.CheckSquadInFightAction;
    }
  }

  /// <summary>Field number for the "check_tag_match_action" field.</summary>
  public const int CheckTagMatchActionFieldNumber = 21;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleCheckTagMatchActionRuntime CheckTagMatchAction {
    get { return instImplCase_ == InstImplOneofCase.CheckTagMatchAction ? (global::BattleCheckTagMatchActionRuntime) instImpl_ : null; }
    set {
      instImpl_ = value;
      instImplCase_ = value == null ? InstImplOneofCase.None : InstImplOneofCase.CheckTagMatchAction;
    }
  }

  /// <summary>Field number for the "check_target_angle_action" field.</summary>
  public const int CheckTargetAngleActionFieldNumber = 22;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleCheckTargetAngleActionRuntime CheckTargetAngleAction {
    get { return instImplCase_ == InstImplOneofCase.CheckTargetAngleAction ? (global::BattleCheckTargetAngleActionRuntime) instImpl_ : null; }
    set {
      instImpl_ = value;
      instImplCase_ = value == null ? InstImplOneofCase.None : InstImplOneofCase.CheckTargetAngleAction;
    }
  }

  /// <summary>Field number for the "compare_float_action" field.</summary>
  public const int CompareFloatActionFieldNumber = 23;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleCompareFloatActionRuntime CompareFloatAction {
    get { return instImplCase_ == InstImplOneofCase.CompareFloatAction ? (global::BattleCompareFloatActionRuntime) instImpl_ : null; }
    set {
      instImpl_ = value;
      instImplCase_ = value == null ? InstImplOneofCase.None : InstImplOneofCase.CompareFloatAction;
    }
  }

  /// <summary>Field number for the "probability_action" field.</summary>
  public const int ProbabilityActionFieldNumber = 24;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleProbabilityActionRuntime ProbabilityAction {
    get { return instImplCase_ == InstImplOneofCase.ProbabilityAction ? (global::BattleProbabilityActionRuntime) instImpl_ : null; }
    set {
      instImpl_ = value;
      instImplCase_ = value == null ? InstImplOneofCase.None : InstImplOneofCase.ProbabilityAction;
    }
  }

  /// <summary>Field number for the "launch_projectile_action" field.</summary>
  public const int LaunchProjectileActionFieldNumber = 25;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleLaunchProjectileActionRuntime LaunchProjectileAction {
    get { return instImplCase_ == InstImplOneofCase.LaunchProjectileAction ? (global::BattleLaunchProjectileActionRuntime) instImpl_ : null; }
    set {
      instImpl_ = value;
      instImplCase_ = value == null ? InstImplOneofCase.None : InstImplOneofCase.LaunchProjectileAction;
    }
  }

  /// <summary>Field number for the "spawn_ability_entity_action" field.</summary>
  public const int SpawnAbilityEntityActionFieldNumber = 26;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleSpawnAbilityEntityActionRuntime SpawnAbilityEntityAction {
    get { return instImplCase_ == InstImplOneofCase.SpawnAbilityEntityAction ? (global::BattleSpawnAbilityEntityActionRuntime) instImpl_ : null; }
    set {
      instImpl_ = value;
      instImplCase_ = value == null ? InstImplOneofCase.None : InstImplOneofCase.SpawnAbilityEntityAction;
    }
  }

  /// <summary>Field number for the "spawn_custom_summon_action" field.</summary>
  public const int SpawnCustomSummonActionFieldNumber = 27;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleSpawnCustomSummonActionRuntime SpawnCustomSummonAction {
    get { return instImplCase_ == InstImplOneofCase.SpawnCustomSummonAction ? (global::BattleSpawnCustomSummonActionRuntime) instImpl_ : null; }
    set {
      instImpl_ = value;
      instImplCase_ = value == null ? InstImplOneofCase.None : InstImplOneofCase.SpawnCustomSummonAction;
    }
  }

  /// <summary>Field number for the "refresh_buff_attr_modifier_value_action" field.</summary>
  public const int RefreshBuffAttrModifierValueActionFieldNumber = 28;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleRefreshBuffAttrModifierValueActionRuntime RefreshBuffAttrModifierValueAction {
    get { return instImplCase_ == InstImplOneofCase.RefreshBuffAttrModifierValueAction ? (global::BattleRefreshBuffAttrModifierValueActionRuntime) instImpl_ : null; }
    set {
      instImpl_ = value;
      instImplCase_ = value == null ? InstImplOneofCase.None : InstImplOneofCase.RefreshBuffAttrModifierValueAction;
    }
  }

  /// <summary>Field number for the "store_attribute_value_action" field.</summary>
  public const int StoreAttributeValueActionFieldNumber = 29;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleStoreAttributeValueActionRuntime StoreAttributeValueAction {
    get { return instImplCase_ == InstImplOneofCase.StoreAttributeValueAction ? (global::BattleStoreAttributeValueActionRuntime) instImpl_ : null; }
    set {
      instImpl_ = value;
      instImplCase_ = value == null ? InstImplOneofCase.None : InstImplOneofCase.StoreAttributeValueAction;
    }
  }

  /// <summary>Field number for the "set_blackboard_from_preset_action" field.</summary>
  public const int SetBlackboardFromPresetActionFieldNumber = 30;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleSetBlackboardFromPresetRuntime SetBlackboardFromPresetAction {
    get { return instImplCase_ == InstImplOneofCase.SetBlackboardFromPresetAction ? (global::BattleSetBlackboardFromPresetRuntime) instImpl_ : null; }
    set {
      instImpl_ = value;
      instImplCase_ = value == null ? InstImplOneofCase.None : InstImplOneofCase.SetBlackboardFromPresetAction;
    }
  }

  /// <summary>Field number for the "empty_action" field.</summary>
  public const int EmptyActionFieldNumber = 999;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::EmptyBattleAction EmptyAction {
    get { return instImplCase_ == InstImplOneofCase.EmptyAction ? (global::EmptyBattleAction) instImpl_ : null; }
    set {
      instImpl_ = value;
      instImplCase_ = value == null ? InstImplOneofCase.None : InstImplOneofCase.EmptyAction;
    }
  }

  private object instImpl_;
  /// <summary>Enum of possible cases for the "inst_impl" oneof.</summary>
  public enum InstImplOneofCase {
    None = 0,
    DamageAction = 3,
    CreateBuffAction = 4,
    FinishBuffAction = 5,
    GainCostAction = 6,
    HealAction = 7,
    SwitchModeAction = 8,
    ModifyDynamicBlackboardAction = 9,
    SpawnEnemyAction = 10,
    CheckDamageTypeAction = 11,
    CheckDamageDecorateMaskAction = 12,
    CheckDistanceConditionAction = 13,
    CheckEntityNumAction = 14,
    CheckHpAction = 15,
    CheckIsCriticalDamageAction = 16,
    CheckMainCharacterAction = 17,
    CheckObjectTypeMatchAction = 18,
    CheckSkillTypeAction = 19,
    CheckSquadInFightAction = 20,
    CheckTagMatchAction = 21,
    CheckTargetAngleAction = 22,
    CompareFloatAction = 23,
    ProbabilityAction = 24,
    LaunchProjectileAction = 25,
    SpawnAbilityEntityAction = 26,
    SpawnCustomSummonAction = 27,
    RefreshBuffAttrModifierValueAction = 28,
    StoreAttributeValueAction = 29,
    SetBlackboardFromPresetAction = 30,
    EmptyAction = 999,
  }
  private InstImplOneofCase instImplCase_ = InstImplOneofCase.None;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public InstImplOneofCase InstImplCase {
    get { return instImplCase_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void ClearInstImpl() {
    instImplCase_ = InstImplOneofCase.None;
    instImpl_ = null;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleActionInst);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleActionInst other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ActionId != other.ActionId) return false;
    if (ActionType != other.ActionType) return false;
    if (!object.Equals(DamageAction, other.DamageAction)) return false;
    if (!object.Equals(CreateBuffAction, other.CreateBuffAction)) return false;
    if (!object.Equals(FinishBuffAction, other.FinishBuffAction)) return false;
    if (!object.Equals(GainCostAction, other.GainCostAction)) return false;
    if (!object.Equals(HealAction, other.HealAction)) return false;
    if (!object.Equals(SwitchModeAction, other.SwitchModeAction)) return false;
    if (!object.Equals(ModifyDynamicBlackboardAction, other.ModifyDynamicBlackboardAction)) return false;
    if (!object.Equals(SpawnEnemyAction, other.SpawnEnemyAction)) return false;
    if (!object.Equals(CheckDamageTypeAction, other.CheckDamageTypeAction)) return false;
    if (!object.Equals(CheckDamageDecorateMaskAction, other.CheckDamageDecorateMaskAction)) return false;
    if (!object.Equals(CheckDistanceConditionAction, other.CheckDistanceConditionAction)) return false;
    if (!object.Equals(CheckEntityNumAction, other.CheckEntityNumAction)) return false;
    if (!object.Equals(CheckHpAction, other.CheckHpAction)) return false;
    if (!object.Equals(CheckIsCriticalDamageAction, other.CheckIsCriticalDamageAction)) return false;
    if (!object.Equals(CheckMainCharacterAction, other.CheckMainCharacterAction)) return false;
    if (!object.Equals(CheckObjectTypeMatchAction, other.CheckObjectTypeMatchAction)) return false;
    if (!object.Equals(CheckSkillTypeAction, other.CheckSkillTypeAction)) return false;
    if (!object.Equals(CheckSquadInFightAction, other.CheckSquadInFightAction)) return false;
    if (!object.Equals(CheckTagMatchAction, other.CheckTagMatchAction)) return false;
    if (!object.Equals(CheckTargetAngleAction, other.CheckTargetAngleAction)) return false;
    if (!object.Equals(CompareFloatAction, other.CompareFloatAction)) return false;
    if (!object.Equals(ProbabilityAction, other.ProbabilityAction)) return false;
    if (!object.Equals(LaunchProjectileAction, other.LaunchProjectileAction)) return false;
    if (!object.Equals(SpawnAbilityEntityAction, other.SpawnAbilityEntityAction)) return false;
    if (!object.Equals(SpawnCustomSummonAction, other.SpawnCustomSummonAction)) return false;
    if (!object.Equals(RefreshBuffAttrModifierValueAction, other.RefreshBuffAttrModifierValueAction)) return false;
    if (!object.Equals(StoreAttributeValueAction, other.StoreAttributeValueAction)) return false;
    if (!object.Equals(SetBlackboardFromPresetAction, other.SetBlackboardFromPresetAction)) return false;
    if (!object.Equals(EmptyAction, other.EmptyAction)) return false;
    if (InstImplCase != other.InstImplCase) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ActionId != 0) hash ^= ActionId.GetHashCode();
    if (ActionType != 0) hash ^= ActionType.GetHashCode();
    if (instImplCase_ == InstImplOneofCase.DamageAction) hash ^= DamageAction.GetHashCode();
    if (instImplCase_ == InstImplOneofCase.CreateBuffAction) hash ^= CreateBuffAction.GetHashCode();
    if (instImplCase_ == InstImplOneofCase.FinishBuffAction) hash ^= FinishBuffAction.GetHashCode();
    if (instImplCase_ == InstImplOneofCase.GainCostAction) hash ^= GainCostAction.GetHashCode();
    if (instImplCase_ == InstImplOneofCase.HealAction) hash ^= HealAction.GetHashCode();
    if (instImplCase_ == InstImplOneofCase.SwitchModeAction) hash ^= SwitchModeAction.GetHashCode();
    if (instImplCase_ == InstImplOneofCase.ModifyDynamicBlackboardAction) hash ^= ModifyDynamicBlackboardAction.GetHashCode();
    if (instImplCase_ == InstImplOneofCase.SpawnEnemyAction) hash ^= SpawnEnemyAction.GetHashCode();
    if (instImplCase_ == InstImplOneofCase.CheckDamageTypeAction) hash ^= CheckDamageTypeAction.GetHashCode();
    if (instImplCase_ == InstImplOneofCase.CheckDamageDecorateMaskAction) hash ^= CheckDamageDecorateMaskAction.GetHashCode();
    if (instImplCase_ == InstImplOneofCase.CheckDistanceConditionAction) hash ^= CheckDistanceConditionAction.GetHashCode();
    if (instImplCase_ == InstImplOneofCase.CheckEntityNumAction) hash ^= CheckEntityNumAction.GetHashCode();
    if (instImplCase_ == InstImplOneofCase.CheckHpAction) hash ^= CheckHpAction.GetHashCode();
    if (instImplCase_ == InstImplOneofCase.CheckIsCriticalDamageAction) hash ^= CheckIsCriticalDamageAction.GetHashCode();
    if (instImplCase_ == InstImplOneofCase.CheckMainCharacterAction) hash ^= CheckMainCharacterAction.GetHashCode();
    if (instImplCase_ == InstImplOneofCase.CheckObjectTypeMatchAction) hash ^= CheckObjectTypeMatchAction.GetHashCode();
    if (instImplCase_ == InstImplOneofCase.CheckSkillTypeAction) hash ^= CheckSkillTypeAction.GetHashCode();
    if (instImplCase_ == InstImplOneofCase.CheckSquadInFightAction) hash ^= CheckSquadInFightAction.GetHashCode();
    if (instImplCase_ == InstImplOneofCase.CheckTagMatchAction) hash ^= CheckTagMatchAction.GetHashCode();
    if (instImplCase_ == InstImplOneofCase.CheckTargetAngleAction) hash ^= CheckTargetAngleAction.GetHashCode();
    if (instImplCase_ == InstImplOneofCase.CompareFloatAction) hash ^= CompareFloatAction.GetHashCode();
    if (instImplCase_ == InstImplOneofCase.ProbabilityAction) hash ^= ProbabilityAction.GetHashCode();
    if (instImplCase_ == InstImplOneofCase.LaunchProjectileAction) hash ^= LaunchProjectileAction.GetHashCode();
    if (instImplCase_ == InstImplOneofCase.SpawnAbilityEntityAction) hash ^= SpawnAbilityEntityAction.GetHashCode();
    if (instImplCase_ == InstImplOneofCase.SpawnCustomSummonAction) hash ^= SpawnCustomSummonAction.GetHashCode();
    if (instImplCase_ == InstImplOneofCase.RefreshBuffAttrModifierValueAction) hash ^= RefreshBuffAttrModifierValueAction.GetHashCode();
    if (instImplCase_ == InstImplOneofCase.StoreAttributeValueAction) hash ^= StoreAttributeValueAction.GetHashCode();
    if (instImplCase_ == InstImplOneofCase.SetBlackboardFromPresetAction) hash ^= SetBlackboardFromPresetAction.GetHashCode();
    if (instImplCase_ == InstImplOneofCase.EmptyAction) hash ^= EmptyAction.GetHashCode();
    hash ^= (int) instImplCase_;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ActionId != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(ActionId);
    }
    if (ActionType != 0) {
      output.WriteRawTag(16);
      output.WriteEnum((int) ActionType);
    }
    if (instImplCase_ == InstImplOneofCase.DamageAction) {
      output.WriteRawTag(26);
      output.WriteMessage(DamageAction);
    }
    if (instImplCase_ == InstImplOneofCase.CreateBuffAction) {
      output.WriteRawTag(34);
      output.WriteMessage(CreateBuffAction);
    }
    if (instImplCase_ == InstImplOneofCase.FinishBuffAction) {
      output.WriteRawTag(42);
      output.WriteMessage(FinishBuffAction);
    }
    if (instImplCase_ == InstImplOneofCase.GainCostAction) {
      output.WriteRawTag(50);
      output.WriteMessage(GainCostAction);
    }
    if (instImplCase_ == InstImplOneofCase.HealAction) {
      output.WriteRawTag(58);
      output.WriteMessage(HealAction);
    }
    if (instImplCase_ == InstImplOneofCase.SwitchModeAction) {
      output.WriteRawTag(66);
      output.WriteMessage(SwitchModeAction);
    }
    if (instImplCase_ == InstImplOneofCase.ModifyDynamicBlackboardAction) {
      output.WriteRawTag(74);
      output.WriteMessage(ModifyDynamicBlackboardAction);
    }
    if (instImplCase_ == InstImplOneofCase.SpawnEnemyAction) {
      output.WriteRawTag(82);
      output.WriteMessage(SpawnEnemyAction);
    }
    if (instImplCase_ == InstImplOneofCase.CheckDamageTypeAction) {
      output.WriteRawTag(90);
      output.WriteMessage(CheckDamageTypeAction);
    }
    if (instImplCase_ == InstImplOneofCase.CheckDamageDecorateMaskAction) {
      output.WriteRawTag(98);
      output.WriteMessage(CheckDamageDecorateMaskAction);
    }
    if (instImplCase_ == InstImplOneofCase.CheckDistanceConditionAction) {
      output.WriteRawTag(106);
      output.WriteMessage(CheckDistanceConditionAction);
    }
    if (instImplCase_ == InstImplOneofCase.CheckEntityNumAction) {
      output.WriteRawTag(114);
      output.WriteMessage(CheckEntityNumAction);
    }
    if (instImplCase_ == InstImplOneofCase.CheckHpAction) {
      output.WriteRawTag(122);
      output.WriteMessage(CheckHpAction);
    }
    if (instImplCase_ == InstImplOneofCase.CheckIsCriticalDamageAction) {
      output.WriteRawTag(130, 1);
      output.WriteMessage(CheckIsCriticalDamageAction);
    }
    if (instImplCase_ == InstImplOneofCase.CheckMainCharacterAction) {
      output.WriteRawTag(138, 1);
      output.WriteMessage(CheckMainCharacterAction);
    }
    if (instImplCase_ == InstImplOneofCase.CheckObjectTypeMatchAction) {
      output.WriteRawTag(146, 1);
      output.WriteMessage(CheckObjectTypeMatchAction);
    }
    if (instImplCase_ == InstImplOneofCase.CheckSkillTypeAction) {
      output.WriteRawTag(154, 1);
      output.WriteMessage(CheckSkillTypeAction);
    }
    if (instImplCase_ == InstImplOneofCase.CheckSquadInFightAction) {
      output.WriteRawTag(162, 1);
      output.WriteMessage(CheckSquadInFightAction);
    }
    if (instImplCase_ == InstImplOneofCase.CheckTagMatchAction) {
      output.WriteRawTag(170, 1);
      output.WriteMessage(CheckTagMatchAction);
    }
    if (instImplCase_ == InstImplOneofCase.CheckTargetAngleAction) {
      output.WriteRawTag(178, 1);
      output.WriteMessage(CheckTargetAngleAction);
    }
    if (instImplCase_ == InstImplOneofCase.CompareFloatAction) {
      output.WriteRawTag(186, 1);
      output.WriteMessage(CompareFloatAction);
    }
    if (instImplCase_ == InstImplOneofCase.ProbabilityAction) {
      output.WriteRawTag(194, 1);
      output.WriteMessage(ProbabilityAction);
    }
    if (instImplCase_ == InstImplOneofCase.LaunchProjectileAction) {
      output.WriteRawTag(202, 1);
      output.WriteMessage(LaunchProjectileAction);
    }
    if (instImplCase_ == InstImplOneofCase.SpawnAbilityEntityAction) {
      output.WriteRawTag(210, 1);
      output.WriteMessage(SpawnAbilityEntityAction);
    }
    if (instImplCase_ == InstImplOneofCase.SpawnCustomSummonAction) {
      output.WriteRawTag(218, 1);
      output.WriteMessage(SpawnCustomSummonAction);
    }
    if (instImplCase_ == InstImplOneofCase.RefreshBuffAttrModifierValueAction) {
      output.WriteRawTag(226, 1);
      output.WriteMessage(RefreshBuffAttrModifierValueAction);
    }
    if (instImplCase_ == InstImplOneofCase.StoreAttributeValueAction) {
      output.WriteRawTag(234, 1);
      output.WriteMessage(StoreAttributeValueAction);
    }
    if (instImplCase_ == InstImplOneofCase.SetBlackboardFromPresetAction) {
      output.WriteRawTag(242, 1);
      output.WriteMessage(SetBlackboardFromPresetAction);
    }
    if (instImplCase_ == InstImplOneofCase.EmptyAction) {
      output.WriteRawTag(186, 62);
      output.WriteMessage(EmptyAction);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ActionId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ActionId);
    }
    if (ActionType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) ActionType);
    }
    if (instImplCase_ == InstImplOneofCase.DamageAction) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(DamageAction);
    }
    if (instImplCase_ == InstImplOneofCase.CreateBuffAction) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(CreateBuffAction);
    }
    if (instImplCase_ == InstImplOneofCase.FinishBuffAction) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(FinishBuffAction);
    }
    if (instImplCase_ == InstImplOneofCase.GainCostAction) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(GainCostAction);
    }
    if (instImplCase_ == InstImplOneofCase.HealAction) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(HealAction);
    }
    if (instImplCase_ == InstImplOneofCase.SwitchModeAction) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(SwitchModeAction);
    }
    if (instImplCase_ == InstImplOneofCase.ModifyDynamicBlackboardAction) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(ModifyDynamicBlackboardAction);
    }
    if (instImplCase_ == InstImplOneofCase.SpawnEnemyAction) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(SpawnEnemyAction);
    }
    if (instImplCase_ == InstImplOneofCase.CheckDamageTypeAction) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(CheckDamageTypeAction);
    }
    if (instImplCase_ == InstImplOneofCase.CheckDamageDecorateMaskAction) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(CheckDamageDecorateMaskAction);
    }
    if (instImplCase_ == InstImplOneofCase.CheckDistanceConditionAction) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(CheckDistanceConditionAction);
    }
    if (instImplCase_ == InstImplOneofCase.CheckEntityNumAction) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(CheckEntityNumAction);
    }
    if (instImplCase_ == InstImplOneofCase.CheckHpAction) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(CheckHpAction);
    }
    if (instImplCase_ == InstImplOneofCase.CheckIsCriticalDamageAction) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(CheckIsCriticalDamageAction);
    }
    if (instImplCase_ == InstImplOneofCase.CheckMainCharacterAction) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(CheckMainCharacterAction);
    }
    if (instImplCase_ == InstImplOneofCase.CheckObjectTypeMatchAction) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(CheckObjectTypeMatchAction);
    }
    if (instImplCase_ == InstImplOneofCase.CheckSkillTypeAction) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(CheckSkillTypeAction);
    }
    if (instImplCase_ == InstImplOneofCase.CheckSquadInFightAction) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(CheckSquadInFightAction);
    }
    if (instImplCase_ == InstImplOneofCase.CheckTagMatchAction) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(CheckTagMatchAction);
    }
    if (instImplCase_ == InstImplOneofCase.CheckTargetAngleAction) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(CheckTargetAngleAction);
    }
    if (instImplCase_ == InstImplOneofCase.CompareFloatAction) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(CompareFloatAction);
    }
    if (instImplCase_ == InstImplOneofCase.ProbabilityAction) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(ProbabilityAction);
    }
    if (instImplCase_ == InstImplOneofCase.LaunchProjectileAction) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(LaunchProjectileAction);
    }
    if (instImplCase_ == InstImplOneofCase.SpawnAbilityEntityAction) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(SpawnAbilityEntityAction);
    }
    if (instImplCase_ == InstImplOneofCase.SpawnCustomSummonAction) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(SpawnCustomSummonAction);
    }
    if (instImplCase_ == InstImplOneofCase.RefreshBuffAttrModifierValueAction) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(RefreshBuffAttrModifierValueAction);
    }
    if (instImplCase_ == InstImplOneofCase.StoreAttributeValueAction) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(StoreAttributeValueAction);
    }
    if (instImplCase_ == InstImplOneofCase.SetBlackboardFromPresetAction) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(SetBlackboardFromPresetAction);
    }
    if (instImplCase_ == InstImplOneofCase.EmptyAction) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(EmptyAction);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleActionInst other) {
    if (other == null) {
      return;
    }
    if (other.ActionId != 0) {
      ActionId = other.ActionId;
    }
    if (other.ActionType != 0) {
      ActionType = other.ActionType;
    }
    switch (other.InstImplCase) {
      case InstImplOneofCase.DamageAction:
        if (DamageAction == null) {
          DamageAction = new global::BattleDamageActionRuntime();
        }
        DamageAction.MergeFrom(other.DamageAction);
        break;
      case InstImplOneofCase.CreateBuffAction:
        if (CreateBuffAction == null) {
          CreateBuffAction = new global::BattleCreateBuffActionRuntime();
        }
        CreateBuffAction.MergeFrom(other.CreateBuffAction);
        break;
      case InstImplOneofCase.FinishBuffAction:
        if (FinishBuffAction == null) {
          FinishBuffAction = new global::BattleFinishBuffActionRuntime();
        }
        FinishBuffAction.MergeFrom(other.FinishBuffAction);
        break;
      case InstImplOneofCase.GainCostAction:
        if (GainCostAction == null) {
          GainCostAction = new global::BattleGainCostActionRuntime();
        }
        GainCostAction.MergeFrom(other.GainCostAction);
        break;
      case InstImplOneofCase.HealAction:
        if (HealAction == null) {
          HealAction = new global::BattleHealActionRuntime();
        }
        HealAction.MergeFrom(other.HealAction);
        break;
      case InstImplOneofCase.SwitchModeAction:
        if (SwitchModeAction == null) {
          SwitchModeAction = new global::BattleSwitchModeActionRuntime();
        }
        SwitchModeAction.MergeFrom(other.SwitchModeAction);
        break;
      case InstImplOneofCase.ModifyDynamicBlackboardAction:
        if (ModifyDynamicBlackboardAction == null) {
          ModifyDynamicBlackboardAction = new global::BattleModifyDynamicBlackboardActionRuntime();
        }
        ModifyDynamicBlackboardAction.MergeFrom(other.ModifyDynamicBlackboardAction);
        break;
      case InstImplOneofCase.SpawnEnemyAction:
        if (SpawnEnemyAction == null) {
          SpawnEnemyAction = new global::BattleSpawnEnemyActionRuntime();
        }
        SpawnEnemyAction.MergeFrom(other.SpawnEnemyAction);
        break;
      case InstImplOneofCase.CheckDamageTypeAction:
        if (CheckDamageTypeAction == null) {
          CheckDamageTypeAction = new global::BattleCheckDamageTypeActionRuntime();
        }
        CheckDamageTypeAction.MergeFrom(other.CheckDamageTypeAction);
        break;
      case InstImplOneofCase.CheckDamageDecorateMaskAction:
        if (CheckDamageDecorateMaskAction == null) {
          CheckDamageDecorateMaskAction = new global::BattleCheckDamageDecorateMaskActionRuntime();
        }
        CheckDamageDecorateMaskAction.MergeFrom(other.CheckDamageDecorateMaskAction);
        break;
      case InstImplOneofCase.CheckDistanceConditionAction:
        if (CheckDistanceConditionAction == null) {
          CheckDistanceConditionAction = new global::BattleCheckDistanceConditionActionRuntime();
        }
        CheckDistanceConditionAction.MergeFrom(other.CheckDistanceConditionAction);
        break;
      case InstImplOneofCase.CheckEntityNumAction:
        if (CheckEntityNumAction == null) {
          CheckEntityNumAction = new global::BattleCheckEntityNumActionRuntime();
        }
        CheckEntityNumAction.MergeFrom(other.CheckEntityNumAction);
        break;
      case InstImplOneofCase.CheckHpAction:
        if (CheckHpAction == null) {
          CheckHpAction = new global::BattleCheckHpActionRuntime();
        }
        CheckHpAction.MergeFrom(other.CheckHpAction);
        break;
      case InstImplOneofCase.CheckIsCriticalDamageAction:
        if (CheckIsCriticalDamageAction == null) {
          CheckIsCriticalDamageAction = new global::BattleCheckIsCriticalDamageActionRuntime();
        }
        CheckIsCriticalDamageAction.MergeFrom(other.CheckIsCriticalDamageAction);
        break;
      case InstImplOneofCase.CheckMainCharacterAction:
        if (CheckMainCharacterAction == null) {
          CheckMainCharacterAction = new global::BattleCheckMainCharacterActionRuntime();
        }
        CheckMainCharacterAction.MergeFrom(other.CheckMainCharacterAction);
        break;
      case InstImplOneofCase.CheckObjectTypeMatchAction:
        if (CheckObjectTypeMatchAction == null) {
          CheckObjectTypeMatchAction = new global::BattleCheckObjectTypeMatchActionRuntime();
        }
        CheckObjectTypeMatchAction.MergeFrom(other.CheckObjectTypeMatchAction);
        break;
      case InstImplOneofCase.CheckSkillTypeAction:
        if (CheckSkillTypeAction == null) {
          CheckSkillTypeAction = new global::BattleCheckSkillTypeActionRuntime();
        }
        CheckSkillTypeAction.MergeFrom(other.CheckSkillTypeAction);
        break;
      case InstImplOneofCase.CheckSquadInFightAction:
        if (CheckSquadInFightAction == null) {
          CheckSquadInFightAction = new global::BattleCheckSquadInFightActionRuntime();
        }
        CheckSquadInFightAction.MergeFrom(other.CheckSquadInFightAction);
        break;
      case InstImplOneofCase.CheckTagMatchAction:
        if (CheckTagMatchAction == null) {
          CheckTagMatchAction = new global::BattleCheckTagMatchActionRuntime();
        }
        CheckTagMatchAction.MergeFrom(other.CheckTagMatchAction);
        break;
      case InstImplOneofCase.CheckTargetAngleAction:
        if (CheckTargetAngleAction == null) {
          CheckTargetAngleAction = new global::BattleCheckTargetAngleActionRuntime();
        }
        CheckTargetAngleAction.MergeFrom(other.CheckTargetAngleAction);
        break;
      case InstImplOneofCase.CompareFloatAction:
        if (CompareFloatAction == null) {
          CompareFloatAction = new global::BattleCompareFloatActionRuntime();
        }
        CompareFloatAction.MergeFrom(other.CompareFloatAction);
        break;
      case InstImplOneofCase.ProbabilityAction:
        if (ProbabilityAction == null) {
          ProbabilityAction = new global::BattleProbabilityActionRuntime();
        }
        ProbabilityAction.MergeFrom(other.ProbabilityAction);
        break;
      case InstImplOneofCase.LaunchProjectileAction:
        if (LaunchProjectileAction == null) {
          LaunchProjectileAction = new global::BattleLaunchProjectileActionRuntime();
        }
        LaunchProjectileAction.MergeFrom(other.LaunchProjectileAction);
        break;
      case InstImplOneofCase.SpawnAbilityEntityAction:
        if (SpawnAbilityEntityAction == null) {
          SpawnAbilityEntityAction = new global::BattleSpawnAbilityEntityActionRuntime();
        }
        SpawnAbilityEntityAction.MergeFrom(other.SpawnAbilityEntityAction);
        break;
      case InstImplOneofCase.SpawnCustomSummonAction:
        if (SpawnCustomSummonAction == null) {
          SpawnCustomSummonAction = new global::BattleSpawnCustomSummonActionRuntime();
        }
        SpawnCustomSummonAction.MergeFrom(other.SpawnCustomSummonAction);
        break;
      case InstImplOneofCase.RefreshBuffAttrModifierValueAction:
        if (RefreshBuffAttrModifierValueAction == null) {
          RefreshBuffAttrModifierValueAction = new global::BattleRefreshBuffAttrModifierValueActionRuntime();
        }
        RefreshBuffAttrModifierValueAction.MergeFrom(other.RefreshBuffAttrModifierValueAction);
        break;
      case InstImplOneofCase.StoreAttributeValueAction:
        if (StoreAttributeValueAction == null) {
          StoreAttributeValueAction = new global::BattleStoreAttributeValueActionRuntime();
        }
        StoreAttributeValueAction.MergeFrom(other.StoreAttributeValueAction);
        break;
      case InstImplOneofCase.SetBlackboardFromPresetAction:
        if (SetBlackboardFromPresetAction == null) {
          SetBlackboardFromPresetAction = new global::BattleSetBlackboardFromPresetRuntime();
        }
        SetBlackboardFromPresetAction.MergeFrom(other.SetBlackboardFromPresetAction);
        break;
      case InstImplOneofCase.EmptyAction:
        if (EmptyAction == null) {
          EmptyAction = new global::EmptyBattleAction();
        }
        EmptyAction.MergeFrom(other.EmptyAction);
        break;
    }

    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ActionId = input.ReadInt32();
          break;
        }
        case 16: {
          actionType_ = (global::ServerBattleActionType) input.ReadEnum();
          break;
        }
        case 26: {
          global::BattleDamageActionRuntime subBuilder = new global::BattleDamageActionRuntime();
          if (instImplCase_ == InstImplOneofCase.DamageAction) {
            subBuilder.MergeFrom(DamageAction);
          }
          input.ReadMessage(subBuilder);
          DamageAction = subBuilder;
          break;
        }
        case 34: {
          global::BattleCreateBuffActionRuntime subBuilder = new global::BattleCreateBuffActionRuntime();
          if (instImplCase_ == InstImplOneofCase.CreateBuffAction) {
            subBuilder.MergeFrom(CreateBuffAction);
          }
          input.ReadMessage(subBuilder);
          CreateBuffAction = subBuilder;
          break;
        }
        case 42: {
          global::BattleFinishBuffActionRuntime subBuilder = new global::BattleFinishBuffActionRuntime();
          if (instImplCase_ == InstImplOneofCase.FinishBuffAction) {
            subBuilder.MergeFrom(FinishBuffAction);
          }
          input.ReadMessage(subBuilder);
          FinishBuffAction = subBuilder;
          break;
        }
        case 50: {
          global::BattleGainCostActionRuntime subBuilder = new global::BattleGainCostActionRuntime();
          if (instImplCase_ == InstImplOneofCase.GainCostAction) {
            subBuilder.MergeFrom(GainCostAction);
          }
          input.ReadMessage(subBuilder);
          GainCostAction = subBuilder;
          break;
        }
        case 58: {
          global::BattleHealActionRuntime subBuilder = new global::BattleHealActionRuntime();
          if (instImplCase_ == InstImplOneofCase.HealAction) {
            subBuilder.MergeFrom(HealAction);
          }
          input.ReadMessage(subBuilder);
          HealAction = subBuilder;
          break;
        }
        case 66: {
          global::BattleSwitchModeActionRuntime subBuilder = new global::BattleSwitchModeActionRuntime();
          if (instImplCase_ == InstImplOneofCase.SwitchModeAction) {
            subBuilder.MergeFrom(SwitchModeAction);
          }
          input.ReadMessage(subBuilder);
          SwitchModeAction = subBuilder;
          break;
        }
        case 74: {
          global::BattleModifyDynamicBlackboardActionRuntime subBuilder = new global::BattleModifyDynamicBlackboardActionRuntime();
          if (instImplCase_ == InstImplOneofCase.ModifyDynamicBlackboardAction) {
            subBuilder.MergeFrom(ModifyDynamicBlackboardAction);
          }
          input.ReadMessage(subBuilder);
          ModifyDynamicBlackboardAction = subBuilder;
          break;
        }
        case 82: {
          global::BattleSpawnEnemyActionRuntime subBuilder = new global::BattleSpawnEnemyActionRuntime();
          if (instImplCase_ == InstImplOneofCase.SpawnEnemyAction) {
            subBuilder.MergeFrom(SpawnEnemyAction);
          }
          input.ReadMessage(subBuilder);
          SpawnEnemyAction = subBuilder;
          break;
        }
        case 90: {
          global::BattleCheckDamageTypeActionRuntime subBuilder = new global::BattleCheckDamageTypeActionRuntime();
          if (instImplCase_ == InstImplOneofCase.CheckDamageTypeAction) {
            subBuilder.MergeFrom(CheckDamageTypeAction);
          }
          input.ReadMessage(subBuilder);
          CheckDamageTypeAction = subBuilder;
          break;
        }
        case 98: {
          global::BattleCheckDamageDecorateMaskActionRuntime subBuilder = new global::BattleCheckDamageDecorateMaskActionRuntime();
          if (instImplCase_ == InstImplOneofCase.CheckDamageDecorateMaskAction) {
            subBuilder.MergeFrom(CheckDamageDecorateMaskAction);
          }
          input.ReadMessage(subBuilder);
          CheckDamageDecorateMaskAction = subBuilder;
          break;
        }
        case 106: {
          global::BattleCheckDistanceConditionActionRuntime subBuilder = new global::BattleCheckDistanceConditionActionRuntime();
          if (instImplCase_ == InstImplOneofCase.CheckDistanceConditionAction) {
            subBuilder.MergeFrom(CheckDistanceConditionAction);
          }
          input.ReadMessage(subBuilder);
          CheckDistanceConditionAction = subBuilder;
          break;
        }
        case 114: {
          global::BattleCheckEntityNumActionRuntime subBuilder = new global::BattleCheckEntityNumActionRuntime();
          if (instImplCase_ == InstImplOneofCase.CheckEntityNumAction) {
            subBuilder.MergeFrom(CheckEntityNumAction);
          }
          input.ReadMessage(subBuilder);
          CheckEntityNumAction = subBuilder;
          break;
        }
        case 122: {
          global::BattleCheckHpActionRuntime subBuilder = new global::BattleCheckHpActionRuntime();
          if (instImplCase_ == InstImplOneofCase.CheckHpAction) {
            subBuilder.MergeFrom(CheckHpAction);
          }
          input.ReadMessage(subBuilder);
          CheckHpAction = subBuilder;
          break;
        }
        case 130: {
          global::BattleCheckIsCriticalDamageActionRuntime subBuilder = new global::BattleCheckIsCriticalDamageActionRuntime();
          if (instImplCase_ == InstImplOneofCase.CheckIsCriticalDamageAction) {
            subBuilder.MergeFrom(CheckIsCriticalDamageAction);
          }
          input.ReadMessage(subBuilder);
          CheckIsCriticalDamageAction = subBuilder;
          break;
        }
        case 138: {
          global::BattleCheckMainCharacterActionRuntime subBuilder = new global::BattleCheckMainCharacterActionRuntime();
          if (instImplCase_ == InstImplOneofCase.CheckMainCharacterAction) {
            subBuilder.MergeFrom(CheckMainCharacterAction);
          }
          input.ReadMessage(subBuilder);
          CheckMainCharacterAction = subBuilder;
          break;
        }
        case 146: {
          global::BattleCheckObjectTypeMatchActionRuntime subBuilder = new global::BattleCheckObjectTypeMatchActionRuntime();
          if (instImplCase_ == InstImplOneofCase.CheckObjectTypeMatchAction) {
            subBuilder.MergeFrom(CheckObjectTypeMatchAction);
          }
          input.ReadMessage(subBuilder);
          CheckObjectTypeMatchAction = subBuilder;
          break;
        }
        case 154: {
          global::BattleCheckSkillTypeActionRuntime subBuilder = new global::BattleCheckSkillTypeActionRuntime();
          if (instImplCase_ == InstImplOneofCase.CheckSkillTypeAction) {
            subBuilder.MergeFrom(CheckSkillTypeAction);
          }
          input.ReadMessage(subBuilder);
          CheckSkillTypeAction = subBuilder;
          break;
        }
        case 162: {
          global::BattleCheckSquadInFightActionRuntime subBuilder = new global::BattleCheckSquadInFightActionRuntime();
          if (instImplCase_ == InstImplOneofCase.CheckSquadInFightAction) {
            subBuilder.MergeFrom(CheckSquadInFightAction);
          }
          input.ReadMessage(subBuilder);
          CheckSquadInFightAction = subBuilder;
          break;
        }
        case 170: {
          global::BattleCheckTagMatchActionRuntime subBuilder = new global::BattleCheckTagMatchActionRuntime();
          if (instImplCase_ == InstImplOneofCase.CheckTagMatchAction) {
            subBuilder.MergeFrom(CheckTagMatchAction);
          }
          input.ReadMessage(subBuilder);
          CheckTagMatchAction = subBuilder;
          break;
        }
        case 178: {
          global::BattleCheckTargetAngleActionRuntime subBuilder = new global::BattleCheckTargetAngleActionRuntime();
          if (instImplCase_ == InstImplOneofCase.CheckTargetAngleAction) {
            subBuilder.MergeFrom(CheckTargetAngleAction);
          }
          input.ReadMessage(subBuilder);
          CheckTargetAngleAction = subBuilder;
          break;
        }
        case 186: {
          global::BattleCompareFloatActionRuntime subBuilder = new global::BattleCompareFloatActionRuntime();
          if (instImplCase_ == InstImplOneofCase.CompareFloatAction) {
            subBuilder.MergeFrom(CompareFloatAction);
          }
          input.ReadMessage(subBuilder);
          CompareFloatAction = subBuilder;
          break;
        }
        case 194: {
          global::BattleProbabilityActionRuntime subBuilder = new global::BattleProbabilityActionRuntime();
          if (instImplCase_ == InstImplOneofCase.ProbabilityAction) {
            subBuilder.MergeFrom(ProbabilityAction);
          }
          input.ReadMessage(subBuilder);
          ProbabilityAction = subBuilder;
          break;
        }
        case 202: {
          global::BattleLaunchProjectileActionRuntime subBuilder = new global::BattleLaunchProjectileActionRuntime();
          if (instImplCase_ == InstImplOneofCase.LaunchProjectileAction) {
            subBuilder.MergeFrom(LaunchProjectileAction);
          }
          input.ReadMessage(subBuilder);
          LaunchProjectileAction = subBuilder;
          break;
        }
        case 210: {
          global::BattleSpawnAbilityEntityActionRuntime subBuilder = new global::BattleSpawnAbilityEntityActionRuntime();
          if (instImplCase_ == InstImplOneofCase.SpawnAbilityEntityAction) {
            subBuilder.MergeFrom(SpawnAbilityEntityAction);
          }
          input.ReadMessage(subBuilder);
          SpawnAbilityEntityAction = subBuilder;
          break;
        }
        case 218: {
          global::BattleSpawnCustomSummonActionRuntime subBuilder = new global::BattleSpawnCustomSummonActionRuntime();
          if (instImplCase_ == InstImplOneofCase.SpawnCustomSummonAction) {
            subBuilder.MergeFrom(SpawnCustomSummonAction);
          }
          input.ReadMessage(subBuilder);
          SpawnCustomSummonAction = subBuilder;
          break;
        }
        case 226: {
          global::BattleRefreshBuffAttrModifierValueActionRuntime subBuilder = new global::BattleRefreshBuffAttrModifierValueActionRuntime();
          if (instImplCase_ == InstImplOneofCase.RefreshBuffAttrModifierValueAction) {
            subBuilder.MergeFrom(RefreshBuffAttrModifierValueAction);
          }
          input.ReadMessage(subBuilder);
          RefreshBuffAttrModifierValueAction = subBuilder;
          break;
        }
        case 234: {
          global::BattleStoreAttributeValueActionRuntime subBuilder = new global::BattleStoreAttributeValueActionRuntime();
          if (instImplCase_ == InstImplOneofCase.StoreAttributeValueAction) {
            subBuilder.MergeFrom(StoreAttributeValueAction);
          }
          input.ReadMessage(subBuilder);
          StoreAttributeValueAction = subBuilder;
          break;
        }
        case 242: {
          global::BattleSetBlackboardFromPresetRuntime subBuilder = new global::BattleSetBlackboardFromPresetRuntime();
          if (instImplCase_ == InstImplOneofCase.SetBlackboardFromPresetAction) {
            subBuilder.MergeFrom(SetBlackboardFromPresetAction);
          }
          input.ReadMessage(subBuilder);
          SetBlackboardFromPresetAction = subBuilder;
          break;
        }
        case 7994: {
          global::EmptyBattleAction subBuilder = new global::EmptyBattleAction();
          if (instImplCase_ == InstImplOneofCase.EmptyAction) {
            subBuilder.MergeFrom(EmptyAction);
          }
          input.ReadMessage(subBuilder);
          EmptyAction = subBuilder;
          break;
        }
      }
    }
  }

}

public sealed partial class BattleDamageActionRuntime : pb::IMessage<BattleDamageActionRuntime> {
  private static readonly pb::MessageParser<BattleDamageActionRuntime> _parser = new pb::MessageParser<BattleDamageActionRuntime>(() => new BattleDamageActionRuntime());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleDamageActionRuntime> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[88]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleDamageActionRuntime() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleDamageActionRuntime(BattleDamageActionRuntime other) : this() {
    attackerId_ = other.attackerId_;
    details_ = other.details_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleDamageActionRuntime Clone() {
    return new BattleDamageActionRuntime(this);
  }

  /// <summary>Field number for the "attacker_id" field.</summary>
  public const int AttackerIdFieldNumber = 1;
  private ulong attackerId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong AttackerId {
    get { return attackerId_; }
    set {
      attackerId_ = value;
    }
  }

  /// <summary>Field number for the "details" field.</summary>
  public const int DetailsFieldNumber = 2;
  private static readonly pb::FieldCodec<global::BattleDamageDetail> _repeated_details_codec
      = pb::FieldCodec.ForMessage(18, global::BattleDamageDetail.Parser);
  private readonly pbc::RepeatedField<global::BattleDamageDetail> details_ = new pbc::RepeatedField<global::BattleDamageDetail>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::BattleDamageDetail> Details {
    get { return details_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleDamageActionRuntime);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleDamageActionRuntime other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (AttackerId != other.AttackerId) return false;
    if(!details_.Equals(other.details_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (AttackerId != 0UL) hash ^= AttackerId.GetHashCode();
    hash ^= details_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (AttackerId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(AttackerId);
    }
    details_.WriteTo(output, _repeated_details_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (AttackerId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(AttackerId);
    }
    size += details_.CalculateSize(_repeated_details_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleDamageActionRuntime other) {
    if (other == null) {
      return;
    }
    if (other.AttackerId != 0UL) {
      AttackerId = other.AttackerId;
    }
    details_.Add(other.details_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          AttackerId = input.ReadUInt64();
          break;
        }
        case 18: {
          details_.AddEntriesFrom(input, _repeated_details_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class BattleDamageDetail : pb::IMessage<BattleDamageDetail> {
  private static readonly pb::MessageParser<BattleDamageDetail> _parser = new pb::MessageParser<BattleDamageDetail>(() => new BattleDamageDetail());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleDamageDetail> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[89]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleDamageDetail() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleDamageDetail(BattleDamageDetail other) : this() {
    targetId_ = other.targetId_;
    damageUnitIndex_ = other.damageUnitIndex_;
    isCrit_ = other.isCrit_;
    value_ = other.value_;
    modifierArgs_ = other.modifierArgs_ != null ? other.modifierArgs_.Clone() : null;
    curHp_ = other.curHp_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleDamageDetail Clone() {
    return new BattleDamageDetail(this);
  }

  /// <summary>Field number for the "target_id" field.</summary>
  public const int TargetIdFieldNumber = 1;
  private ulong targetId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong TargetId {
    get { return targetId_; }
    set {
      targetId_ = value;
    }
  }

  /// <summary>Field number for the "damage_unit_index" field.</summary>
  public const int DamageUnitIndexFieldNumber = 2;
  private int damageUnitIndex_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int DamageUnitIndex {
    get { return damageUnitIndex_; }
    set {
      damageUnitIndex_ = value;
    }
  }

  /// <summary>Field number for the "is_crit" field.</summary>
  public const int IsCritFieldNumber = 3;
  private bool isCrit_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool IsCrit {
    get { return isCrit_; }
    set {
      isCrit_ = value;
    }
  }

  /// <summary>Field number for the "value" field.</summary>
  public const int ValueFieldNumber = 4;
  private double value_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public double Value {
    get { return value_; }
    set {
      value_ = value;
    }
  }

  /// <summary>Field number for the "modifier_args" field.</summary>
  public const int ModifierArgsFieldNumber = 5;
  private global::BattleDamageModifierArgs modifierArgs_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleDamageModifierArgs ModifierArgs {
    get { return modifierArgs_; }
    set {
      modifierArgs_ = value;
    }
  }

  /// <summary>Field number for the "cur_hp" field.</summary>
  public const int CurHpFieldNumber = 6;
  private double curHp_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public double CurHp {
    get { return curHp_; }
    set {
      curHp_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleDamageDetail);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleDamageDetail other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (TargetId != other.TargetId) return false;
    if (DamageUnitIndex != other.DamageUnitIndex) return false;
    if (IsCrit != other.IsCrit) return false;
    if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(Value, other.Value)) return false;
    if (!object.Equals(ModifierArgs, other.ModifierArgs)) return false;
    if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(CurHp, other.CurHp)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (TargetId != 0UL) hash ^= TargetId.GetHashCode();
    if (DamageUnitIndex != 0) hash ^= DamageUnitIndex.GetHashCode();
    if (IsCrit != false) hash ^= IsCrit.GetHashCode();
    if (Value != 0D) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(Value);
    if (modifierArgs_ != null) hash ^= ModifierArgs.GetHashCode();
    if (CurHp != 0D) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(CurHp);
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (TargetId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(TargetId);
    }
    if (DamageUnitIndex != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(DamageUnitIndex);
    }
    if (IsCrit != false) {
      output.WriteRawTag(24);
      output.WriteBool(IsCrit);
    }
    if (Value != 0D) {
      output.WriteRawTag(33);
      output.WriteDouble(Value);
    }
    if (modifierArgs_ != null) {
      output.WriteRawTag(42);
      output.WriteMessage(ModifierArgs);
    }
    if (CurHp != 0D) {
      output.WriteRawTag(49);
      output.WriteDouble(CurHp);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (TargetId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(TargetId);
    }
    if (DamageUnitIndex != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(DamageUnitIndex);
    }
    if (IsCrit != false) {
      size += 1 + 1;
    }
    if (Value != 0D) {
      size += 1 + 8;
    }
    if (modifierArgs_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(ModifierArgs);
    }
    if (CurHp != 0D) {
      size += 1 + 8;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleDamageDetail other) {
    if (other == null) {
      return;
    }
    if (other.TargetId != 0UL) {
      TargetId = other.TargetId;
    }
    if (other.DamageUnitIndex != 0) {
      DamageUnitIndex = other.DamageUnitIndex;
    }
    if (other.IsCrit != false) {
      IsCrit = other.IsCrit;
    }
    if (other.Value != 0D) {
      Value = other.Value;
    }
    if (other.modifierArgs_ != null) {
      if (modifierArgs_ == null) {
        modifierArgs_ = new global::BattleDamageModifierArgs();
      }
      ModifierArgs.MergeFrom(other.ModifierArgs);
    }
    if (other.CurHp != 0D) {
      CurHp = other.CurHp;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          TargetId = input.ReadUInt64();
          break;
        }
        case 16: {
          DamageUnitIndex = input.ReadInt32();
          break;
        }
        case 24: {
          IsCrit = input.ReadBool();
          break;
        }
        case 33: {
          Value = input.ReadDouble();
          break;
        }
        case 42: {
          if (modifierArgs_ == null) {
            modifierArgs_ = new global::BattleDamageModifierArgs();
          }
          input.ReadMessage(modifierArgs_);
          break;
        }
        case 49: {
          CurHp = input.ReadDouble();
          break;
        }
      }
    }
  }

}

public sealed partial class BattleDamageModifierArgs : pb::IMessage<BattleDamageModifierArgs> {
  private static readonly pb::MessageParser<BattleDamageModifierArgs> _parser = new pb::MessageParser<BattleDamageModifierArgs>(() => new BattleDamageModifierArgs());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleDamageModifierArgs> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[90]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleDamageModifierArgs() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleDamageModifierArgs(BattleDamageModifierArgs other) : this() {
    attackerId_ = other.attackerId_;
    defenderId_ = other.defenderId_;
    attackerModifiers_ = other.attackerModifiers_.Clone();
    defenderModifiers_ = other.defenderModifiers_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleDamageModifierArgs Clone() {
    return new BattleDamageModifierArgs(this);
  }

  /// <summary>Field number for the "attacker_id" field.</summary>
  public const int AttackerIdFieldNumber = 1;
  private ulong attackerId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong AttackerId {
    get { return attackerId_; }
    set {
      attackerId_ = value;
    }
  }

  /// <summary>Field number for the "defender_id" field.</summary>
  public const int DefenderIdFieldNumber = 2;
  private ulong defenderId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong DefenderId {
    get { return defenderId_; }
    set {
      defenderId_ = value;
    }
  }

  /// <summary>Field number for the "attacker_modifiers" field.</summary>
  public const int AttackerModifiersFieldNumber = 3;
  private static readonly pb::FieldCodec<global::BattleModifierHandle> _repeated_attackerModifiers_codec
      = pb::FieldCodec.ForMessage(26, global::BattleModifierHandle.Parser);
  private readonly pbc::RepeatedField<global::BattleModifierHandle> attackerModifiers_ = new pbc::RepeatedField<global::BattleModifierHandle>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::BattleModifierHandle> AttackerModifiers {
    get { return attackerModifiers_; }
  }

  /// <summary>Field number for the "defender_modifiers" field.</summary>
  public const int DefenderModifiersFieldNumber = 4;
  private static readonly pb::FieldCodec<global::BattleModifierHandle> _repeated_defenderModifiers_codec
      = pb::FieldCodec.ForMessage(34, global::BattleModifierHandle.Parser);
  private readonly pbc::RepeatedField<global::BattleModifierHandle> defenderModifiers_ = new pbc::RepeatedField<global::BattleModifierHandle>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::BattleModifierHandle> DefenderModifiers {
    get { return defenderModifiers_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleDamageModifierArgs);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleDamageModifierArgs other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (AttackerId != other.AttackerId) return false;
    if (DefenderId != other.DefenderId) return false;
    if(!attackerModifiers_.Equals(other.attackerModifiers_)) return false;
    if(!defenderModifiers_.Equals(other.defenderModifiers_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (AttackerId != 0UL) hash ^= AttackerId.GetHashCode();
    if (DefenderId != 0UL) hash ^= DefenderId.GetHashCode();
    hash ^= attackerModifiers_.GetHashCode();
    hash ^= defenderModifiers_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (AttackerId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(AttackerId);
    }
    if (DefenderId != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(DefenderId);
    }
    attackerModifiers_.WriteTo(output, _repeated_attackerModifiers_codec);
    defenderModifiers_.WriteTo(output, _repeated_defenderModifiers_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (AttackerId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(AttackerId);
    }
    if (DefenderId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(DefenderId);
    }
    size += attackerModifiers_.CalculateSize(_repeated_attackerModifiers_codec);
    size += defenderModifiers_.CalculateSize(_repeated_defenderModifiers_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleDamageModifierArgs other) {
    if (other == null) {
      return;
    }
    if (other.AttackerId != 0UL) {
      AttackerId = other.AttackerId;
    }
    if (other.DefenderId != 0UL) {
      DefenderId = other.DefenderId;
    }
    attackerModifiers_.Add(other.attackerModifiers_);
    defenderModifiers_.Add(other.defenderModifiers_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          AttackerId = input.ReadUInt64();
          break;
        }
        case 16: {
          DefenderId = input.ReadUInt64();
          break;
        }
        case 26: {
          attackerModifiers_.AddEntriesFrom(input, _repeated_attackerModifiers_codec);
          break;
        }
        case 34: {
          defenderModifiers_.AddEntriesFrom(input, _repeated_defenderModifiers_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class BattleModifierHandle : pb::IMessage<BattleModifierHandle> {
  private static readonly pb::MessageParser<BattleModifierHandle> _parser = new pb::MessageParser<BattleModifierHandle>(() => new BattleModifierHandle());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleModifierHandle> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[91]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleModifierHandle() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleModifierHandle(BattleModifierHandle other) : this() {
    buffInstId_ = other.buffInstId_;
    index_ = other.index_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleModifierHandle Clone() {
    return new BattleModifierHandle(this);
  }

  /// <summary>Field number for the "buff_inst_id" field.</summary>
  public const int BuffInstIdFieldNumber = 1;
  private ulong buffInstId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong BuffInstId {
    get { return buffInstId_; }
    set {
      buffInstId_ = value;
    }
  }

  /// <summary>Field number for the "index" field.</summary>
  public const int IndexFieldNumber = 2;
  private int index_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Index {
    get { return index_; }
    set {
      index_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleModifierHandle);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleModifierHandle other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (BuffInstId != other.BuffInstId) return false;
    if (Index != other.Index) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (BuffInstId != 0UL) hash ^= BuffInstId.GetHashCode();
    if (Index != 0) hash ^= Index.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (BuffInstId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(BuffInstId);
    }
    if (Index != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(Index);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (BuffInstId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(BuffInstId);
    }
    if (Index != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Index);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleModifierHandle other) {
    if (other == null) {
      return;
    }
    if (other.BuffInstId != 0UL) {
      BuffInstId = other.BuffInstId;
    }
    if (other.Index != 0) {
      Index = other.Index;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          BuffInstId = input.ReadUInt64();
          break;
        }
        case 16: {
          Index = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class BattleCreateBuffActionRuntime : pb::IMessage<BattleCreateBuffActionRuntime> {
  private static readonly pb::MessageParser<BattleCreateBuffActionRuntime> _parser = new pb::MessageParser<BattleCreateBuffActionRuntime>(() => new BattleCreateBuffActionRuntime());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleCreateBuffActionRuntime> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[92]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCreateBuffActionRuntime() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCreateBuffActionRuntime(BattleCreateBuffActionRuntime other) : this() {
    details_ = other.details_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCreateBuffActionRuntime Clone() {
    return new BattleCreateBuffActionRuntime(this);
  }

  /// <summary>Field number for the "details" field.</summary>
  public const int DetailsFieldNumber = 2;
  private static readonly pb::FieldCodec<global::BattleCreateBuffActionDetail> _repeated_details_codec
      = pb::FieldCodec.ForMessage(18, global::BattleCreateBuffActionDetail.Parser);
  private readonly pbc::RepeatedField<global::BattleCreateBuffActionDetail> details_ = new pbc::RepeatedField<global::BattleCreateBuffActionDetail>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::BattleCreateBuffActionDetail> Details {
    get { return details_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleCreateBuffActionRuntime);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleCreateBuffActionRuntime other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!details_.Equals(other.details_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= details_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    details_.WriteTo(output, _repeated_details_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += details_.CalculateSize(_repeated_details_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleCreateBuffActionRuntime other) {
    if (other == null) {
      return;
    }
    details_.Add(other.details_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 18: {
          details_.AddEntriesFrom(input, _repeated_details_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class BattleCreateBuffActionDetail : pb::IMessage<BattleCreateBuffActionDetail> {
  private static readonly pb::MessageParser<BattleCreateBuffActionDetail> _parser = new pb::MessageParser<BattleCreateBuffActionDetail>(() => new BattleCreateBuffActionDetail());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleCreateBuffActionDetail> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[93]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCreateBuffActionDetail() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCreateBuffActionDetail(BattleCreateBuffActionDetail other) : this() {
    sourceId_ = other.sourceId_;
    targetId_ = other.targetId_;
    buffInstId_ = other.buffInstId_;
    buffInputIndex_ = other.buffInputIndex_;
    assignedItems_ = other.assignedItems_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCreateBuffActionDetail Clone() {
    return new BattleCreateBuffActionDetail(this);
  }

  /// <summary>Field number for the "source_id" field.</summary>
  public const int SourceIdFieldNumber = 1;
  private ulong sourceId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong SourceId {
    get { return sourceId_; }
    set {
      sourceId_ = value;
    }
  }

  /// <summary>Field number for the "target_id" field.</summary>
  public const int TargetIdFieldNumber = 2;
  private ulong targetId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong TargetId {
    get { return targetId_; }
    set {
      targetId_ = value;
    }
  }

  /// <summary>Field number for the "buff_inst_id" field.</summary>
  public const int BuffInstIdFieldNumber = 3;
  private ulong buffInstId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong BuffInstId {
    get { return buffInstId_; }
    set {
      buffInstId_ = value;
    }
  }

  /// <summary>Field number for the "buff_input_index" field.</summary>
  public const int BuffInputIndexFieldNumber = 4;
  private int buffInputIndex_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int BuffInputIndex {
    get { return buffInputIndex_; }
    set {
      buffInputIndex_ = value;
    }
  }

  /// <summary>Field number for the "assigned_items" field.</summary>
  public const int AssignedItemsFieldNumber = 5;
  private static readonly pb::FieldCodec<global::BattleBlackboardAssignItem> _repeated_assignedItems_codec
      = pb::FieldCodec.ForMessage(42, global::BattleBlackboardAssignItem.Parser);
  private readonly pbc::RepeatedField<global::BattleBlackboardAssignItem> assignedItems_ = new pbc::RepeatedField<global::BattleBlackboardAssignItem>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::BattleBlackboardAssignItem> AssignedItems {
    get { return assignedItems_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleCreateBuffActionDetail);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleCreateBuffActionDetail other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SourceId != other.SourceId) return false;
    if (TargetId != other.TargetId) return false;
    if (BuffInstId != other.BuffInstId) return false;
    if (BuffInputIndex != other.BuffInputIndex) return false;
    if(!assignedItems_.Equals(other.assignedItems_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SourceId != 0UL) hash ^= SourceId.GetHashCode();
    if (TargetId != 0UL) hash ^= TargetId.GetHashCode();
    if (BuffInstId != 0UL) hash ^= BuffInstId.GetHashCode();
    if (BuffInputIndex != 0) hash ^= BuffInputIndex.GetHashCode();
    hash ^= assignedItems_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SourceId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(SourceId);
    }
    if (TargetId != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(TargetId);
    }
    if (BuffInstId != 0UL) {
      output.WriteRawTag(24);
      output.WriteUInt64(BuffInstId);
    }
    if (BuffInputIndex != 0) {
      output.WriteRawTag(32);
      output.WriteInt32(BuffInputIndex);
    }
    assignedItems_.WriteTo(output, _repeated_assignedItems_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SourceId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(SourceId);
    }
    if (TargetId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(TargetId);
    }
    if (BuffInstId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(BuffInstId);
    }
    if (BuffInputIndex != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(BuffInputIndex);
    }
    size += assignedItems_.CalculateSize(_repeated_assignedItems_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleCreateBuffActionDetail other) {
    if (other == null) {
      return;
    }
    if (other.SourceId != 0UL) {
      SourceId = other.SourceId;
    }
    if (other.TargetId != 0UL) {
      TargetId = other.TargetId;
    }
    if (other.BuffInstId != 0UL) {
      BuffInstId = other.BuffInstId;
    }
    if (other.BuffInputIndex != 0) {
      BuffInputIndex = other.BuffInputIndex;
    }
    assignedItems_.Add(other.assignedItems_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          SourceId = input.ReadUInt64();
          break;
        }
        case 16: {
          TargetId = input.ReadUInt64();
          break;
        }
        case 24: {
          BuffInstId = input.ReadUInt64();
          break;
        }
        case 32: {
          BuffInputIndex = input.ReadInt32();
          break;
        }
        case 42: {
          assignedItems_.AddEntriesFrom(input, _repeated_assignedItems_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class BattleBlackboardAssignItem : pb::IMessage<BattleBlackboardAssignItem> {
  private static readonly pb::MessageParser<BattleBlackboardAssignItem> _parser = new pb::MessageParser<BattleBlackboardAssignItem>(() => new BattleBlackboardAssignItem());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleBlackboardAssignItem> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[94]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleBlackboardAssignItem() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleBlackboardAssignItem(BattleBlackboardAssignItem other) : this() {
    targetKey_ = other.targetKey_;
    inputValueKey_ = other.inputValueKey_;
    useDirectValue_ = other.useDirectValue_;
    numericValue_ = other.numericValue_;
    stringValue_ = other.stringValue_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleBlackboardAssignItem Clone() {
    return new BattleBlackboardAssignItem(this);
  }

  /// <summary>Field number for the "target_key" field.</summary>
  public const int TargetKeyFieldNumber = 1;
  private string targetKey_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string TargetKey {
    get { return targetKey_; }
    set {
      targetKey_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "input_value_key" field.</summary>
  public const int InputValueKeyFieldNumber = 2;
  private string inputValueKey_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string InputValueKey {
    get { return inputValueKey_; }
    set {
      inputValueKey_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "use_direct_value" field.</summary>
  public const int UseDirectValueFieldNumber = 3;
  private bool useDirectValue_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool UseDirectValue {
    get { return useDirectValue_; }
    set {
      useDirectValue_ = value;
    }
  }

  /// <summary>Field number for the "numeric_value" field.</summary>
  public const int NumericValueFieldNumber = 4;
  private float numericValue_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public float NumericValue {
    get { return numericValue_; }
    set {
      numericValue_ = value;
    }
  }

  /// <summary>Field number for the "string_value" field.</summary>
  public const int StringValueFieldNumber = 5;
  private string stringValue_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string StringValue {
    get { return stringValue_; }
    set {
      stringValue_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleBlackboardAssignItem);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleBlackboardAssignItem other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (TargetKey != other.TargetKey) return false;
    if (InputValueKey != other.InputValueKey) return false;
    if (UseDirectValue != other.UseDirectValue) return false;
    if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(NumericValue, other.NumericValue)) return false;
    if (StringValue != other.StringValue) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (TargetKey.Length != 0) hash ^= TargetKey.GetHashCode();
    if (InputValueKey.Length != 0) hash ^= InputValueKey.GetHashCode();
    if (UseDirectValue != false) hash ^= UseDirectValue.GetHashCode();
    if (NumericValue != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(NumericValue);
    if (StringValue.Length != 0) hash ^= StringValue.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (TargetKey.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(TargetKey);
    }
    if (InputValueKey.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(InputValueKey);
    }
    if (UseDirectValue != false) {
      output.WriteRawTag(24);
      output.WriteBool(UseDirectValue);
    }
    if (NumericValue != 0F) {
      output.WriteRawTag(37);
      output.WriteFloat(NumericValue);
    }
    if (StringValue.Length != 0) {
      output.WriteRawTag(42);
      output.WriteString(StringValue);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (TargetKey.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(TargetKey);
    }
    if (InputValueKey.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(InputValueKey);
    }
    if (UseDirectValue != false) {
      size += 1 + 1;
    }
    if (NumericValue != 0F) {
      size += 1 + 4;
    }
    if (StringValue.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(StringValue);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleBlackboardAssignItem other) {
    if (other == null) {
      return;
    }
    if (other.TargetKey.Length != 0) {
      TargetKey = other.TargetKey;
    }
    if (other.InputValueKey.Length != 0) {
      InputValueKey = other.InputValueKey;
    }
    if (other.UseDirectValue != false) {
      UseDirectValue = other.UseDirectValue;
    }
    if (other.NumericValue != 0F) {
      NumericValue = other.NumericValue;
    }
    if (other.StringValue.Length != 0) {
      StringValue = other.StringValue;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          TargetKey = input.ReadString();
          break;
        }
        case 18: {
          InputValueKey = input.ReadString();
          break;
        }
        case 24: {
          UseDirectValue = input.ReadBool();
          break;
        }
        case 37: {
          NumericValue = input.ReadFloat();
          break;
        }
        case 42: {
          StringValue = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class BattleFinishBuffActionRuntime : pb::IMessage<BattleFinishBuffActionRuntime> {
  private static readonly pb::MessageParser<BattleFinishBuffActionRuntime> _parser = new pb::MessageParser<BattleFinishBuffActionRuntime>(() => new BattleFinishBuffActionRuntime());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleFinishBuffActionRuntime> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[95]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleFinishBuffActionRuntime() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleFinishBuffActionRuntime(BattleFinishBuffActionRuntime other) : this() {
    finishBuffs_ = other.finishBuffs_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleFinishBuffActionRuntime Clone() {
    return new BattleFinishBuffActionRuntime(this);
  }

  /// <summary>Field number for the "finish_buffs" field.</summary>
  public const int FinishBuffsFieldNumber = 1;
  private static readonly pb::FieldCodec<global::BattleFinishBuffActionDetail> _repeated_finishBuffs_codec
      = pb::FieldCodec.ForMessage(10, global::BattleFinishBuffActionDetail.Parser);
  private readonly pbc::RepeatedField<global::BattleFinishBuffActionDetail> finishBuffs_ = new pbc::RepeatedField<global::BattleFinishBuffActionDetail>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::BattleFinishBuffActionDetail> FinishBuffs {
    get { return finishBuffs_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleFinishBuffActionRuntime);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleFinishBuffActionRuntime other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!finishBuffs_.Equals(other.finishBuffs_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= finishBuffs_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    finishBuffs_.WriteTo(output, _repeated_finishBuffs_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += finishBuffs_.CalculateSize(_repeated_finishBuffs_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleFinishBuffActionRuntime other) {
    if (other == null) {
      return;
    }
    finishBuffs_.Add(other.finishBuffs_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          finishBuffs_.AddEntriesFrom(input, _repeated_finishBuffs_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class BattleFinishBuffActionDetail : pb::IMessage<BattleFinishBuffActionDetail> {
  private static readonly pb::MessageParser<BattleFinishBuffActionDetail> _parser = new pb::MessageParser<BattleFinishBuffActionDetail>(() => new BattleFinishBuffActionDetail());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleFinishBuffActionDetail> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[96]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleFinishBuffActionDetail() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleFinishBuffActionDetail(BattleFinishBuffActionDetail other) : this() {
    targetId_ = other.targetId_;
    buffInstId_ = other.buffInstId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleFinishBuffActionDetail Clone() {
    return new BattleFinishBuffActionDetail(this);
  }

  /// <summary>Field number for the "target_id" field.</summary>
  public const int TargetIdFieldNumber = 1;
  private ulong targetId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong TargetId {
    get { return targetId_; }
    set {
      targetId_ = value;
    }
  }

  /// <summary>Field number for the "buff_inst_id" field.</summary>
  public const int BuffInstIdFieldNumber = 2;
  private ulong buffInstId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong BuffInstId {
    get { return buffInstId_; }
    set {
      buffInstId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleFinishBuffActionDetail);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleFinishBuffActionDetail other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (TargetId != other.TargetId) return false;
    if (BuffInstId != other.BuffInstId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (TargetId != 0UL) hash ^= TargetId.GetHashCode();
    if (BuffInstId != 0UL) hash ^= BuffInstId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (TargetId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(TargetId);
    }
    if (BuffInstId != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(BuffInstId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (TargetId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(TargetId);
    }
    if (BuffInstId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(BuffInstId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleFinishBuffActionDetail other) {
    if (other == null) {
      return;
    }
    if (other.TargetId != 0UL) {
      TargetId = other.TargetId;
    }
    if (other.BuffInstId != 0UL) {
      BuffInstId = other.BuffInstId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          TargetId = input.ReadUInt64();
          break;
        }
        case 16: {
          BuffInstId = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class BattleGainCostActionRuntime : pb::IMessage<BattleGainCostActionRuntime> {
  private static readonly pb::MessageParser<BattleGainCostActionRuntime> _parser = new pb::MessageParser<BattleGainCostActionRuntime>(() => new BattleGainCostActionRuntime());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleGainCostActionRuntime> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[97]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleGainCostActionRuntime() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleGainCostActionRuntime(BattleGainCostActionRuntime other) : this() {
    sourceId_ = other.sourceId_;
    targetId_ = other.targetId_;
    finalValue_ = other.finalValue_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleGainCostActionRuntime Clone() {
    return new BattleGainCostActionRuntime(this);
  }

  /// <summary>Field number for the "source_id" field.</summary>
  public const int SourceIdFieldNumber = 1;
  private ulong sourceId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong SourceId {
    get { return sourceId_; }
    set {
      sourceId_ = value;
    }
  }

  /// <summary>Field number for the "target_id" field.</summary>
  public const int TargetIdFieldNumber = 2;
  private ulong targetId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong TargetId {
    get { return targetId_; }
    set {
      targetId_ = value;
    }
  }

  /// <summary>Field number for the "final_value" field.</summary>
  public const int FinalValueFieldNumber = 3;
  private double finalValue_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public double FinalValue {
    get { return finalValue_; }
    set {
      finalValue_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleGainCostActionRuntime);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleGainCostActionRuntime other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SourceId != other.SourceId) return false;
    if (TargetId != other.TargetId) return false;
    if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(FinalValue, other.FinalValue)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SourceId != 0UL) hash ^= SourceId.GetHashCode();
    if (TargetId != 0UL) hash ^= TargetId.GetHashCode();
    if (FinalValue != 0D) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(FinalValue);
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SourceId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(SourceId);
    }
    if (TargetId != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(TargetId);
    }
    if (FinalValue != 0D) {
      output.WriteRawTag(25);
      output.WriteDouble(FinalValue);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SourceId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(SourceId);
    }
    if (TargetId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(TargetId);
    }
    if (FinalValue != 0D) {
      size += 1 + 8;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleGainCostActionRuntime other) {
    if (other == null) {
      return;
    }
    if (other.SourceId != 0UL) {
      SourceId = other.SourceId;
    }
    if (other.TargetId != 0UL) {
      TargetId = other.TargetId;
    }
    if (other.FinalValue != 0D) {
      FinalValue = other.FinalValue;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          SourceId = input.ReadUInt64();
          break;
        }
        case 16: {
          TargetId = input.ReadUInt64();
          break;
        }
        case 25: {
          FinalValue = input.ReadDouble();
          break;
        }
      }
    }
  }

}

public sealed partial class BattleHealActionRuntime : pb::IMessage<BattleHealActionRuntime> {
  private static readonly pb::MessageParser<BattleHealActionRuntime> _parser = new pb::MessageParser<BattleHealActionRuntime>(() => new BattleHealActionRuntime());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleHealActionRuntime> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[98]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleHealActionRuntime() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleHealActionRuntime(BattleHealActionRuntime other) : this() {
    details_ = other.details_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleHealActionRuntime Clone() {
    return new BattleHealActionRuntime(this);
  }

  /// <summary>Field number for the "details" field.</summary>
  public const int DetailsFieldNumber = 1;
  private static readonly pb::FieldCodec<global::BattleHealActionDetail> _repeated_details_codec
      = pb::FieldCodec.ForMessage(10, global::BattleHealActionDetail.Parser);
  private readonly pbc::RepeatedField<global::BattleHealActionDetail> details_ = new pbc::RepeatedField<global::BattleHealActionDetail>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::BattleHealActionDetail> Details {
    get { return details_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleHealActionRuntime);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleHealActionRuntime other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!details_.Equals(other.details_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= details_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    details_.WriteTo(output, _repeated_details_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += details_.CalculateSize(_repeated_details_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleHealActionRuntime other) {
    if (other == null) {
      return;
    }
    details_.Add(other.details_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          details_.AddEntriesFrom(input, _repeated_details_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class BattleHealActionDetail : pb::IMessage<BattleHealActionDetail> {
  private static readonly pb::MessageParser<BattleHealActionDetail> _parser = new pb::MessageParser<BattleHealActionDetail>(() => new BattleHealActionDetail());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleHealActionDetail> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[99]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleHealActionDetail() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleHealActionDetail(BattleHealActionDetail other) : this() {
    sourceId_ = other.sourceId_;
    targetId_ = other.targetId_;
    value_ = other.value_;
    modifierArgs_ = other.modifierArgs_ != null ? other.modifierArgs_.Clone() : null;
    curHp_ = other.curHp_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleHealActionDetail Clone() {
    return new BattleHealActionDetail(this);
  }

  /// <summary>Field number for the "source_id" field.</summary>
  public const int SourceIdFieldNumber = 1;
  private ulong sourceId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong SourceId {
    get { return sourceId_; }
    set {
      sourceId_ = value;
    }
  }

  /// <summary>Field number for the "target_id" field.</summary>
  public const int TargetIdFieldNumber = 2;
  private ulong targetId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong TargetId {
    get { return targetId_; }
    set {
      targetId_ = value;
    }
  }

  /// <summary>Field number for the "value" field.</summary>
  public const int ValueFieldNumber = 3;
  private double value_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public double Value {
    get { return value_; }
    set {
      value_ = value;
    }
  }

  /// <summary>Field number for the "modifier_args" field.</summary>
  public const int ModifierArgsFieldNumber = 4;
  private global::BattleHealModifierArgs modifierArgs_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleHealModifierArgs ModifierArgs {
    get { return modifierArgs_; }
    set {
      modifierArgs_ = value;
    }
  }

  /// <summary>Field number for the "cur_hp" field.</summary>
  public const int CurHpFieldNumber = 5;
  private double curHp_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public double CurHp {
    get { return curHp_; }
    set {
      curHp_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleHealActionDetail);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleHealActionDetail other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SourceId != other.SourceId) return false;
    if (TargetId != other.TargetId) return false;
    if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(Value, other.Value)) return false;
    if (!object.Equals(ModifierArgs, other.ModifierArgs)) return false;
    if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(CurHp, other.CurHp)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SourceId != 0UL) hash ^= SourceId.GetHashCode();
    if (TargetId != 0UL) hash ^= TargetId.GetHashCode();
    if (Value != 0D) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(Value);
    if (modifierArgs_ != null) hash ^= ModifierArgs.GetHashCode();
    if (CurHp != 0D) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(CurHp);
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SourceId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(SourceId);
    }
    if (TargetId != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(TargetId);
    }
    if (Value != 0D) {
      output.WriteRawTag(25);
      output.WriteDouble(Value);
    }
    if (modifierArgs_ != null) {
      output.WriteRawTag(34);
      output.WriteMessage(ModifierArgs);
    }
    if (CurHp != 0D) {
      output.WriteRawTag(41);
      output.WriteDouble(CurHp);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SourceId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(SourceId);
    }
    if (TargetId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(TargetId);
    }
    if (Value != 0D) {
      size += 1 + 8;
    }
    if (modifierArgs_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(ModifierArgs);
    }
    if (CurHp != 0D) {
      size += 1 + 8;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleHealActionDetail other) {
    if (other == null) {
      return;
    }
    if (other.SourceId != 0UL) {
      SourceId = other.SourceId;
    }
    if (other.TargetId != 0UL) {
      TargetId = other.TargetId;
    }
    if (other.Value != 0D) {
      Value = other.Value;
    }
    if (other.modifierArgs_ != null) {
      if (modifierArgs_ == null) {
        modifierArgs_ = new global::BattleHealModifierArgs();
      }
      ModifierArgs.MergeFrom(other.ModifierArgs);
    }
    if (other.CurHp != 0D) {
      CurHp = other.CurHp;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          SourceId = input.ReadUInt64();
          break;
        }
        case 16: {
          TargetId = input.ReadUInt64();
          break;
        }
        case 25: {
          Value = input.ReadDouble();
          break;
        }
        case 34: {
          if (modifierArgs_ == null) {
            modifierArgs_ = new global::BattleHealModifierArgs();
          }
          input.ReadMessage(modifierArgs_);
          break;
        }
        case 41: {
          CurHp = input.ReadDouble();
          break;
        }
      }
    }
  }

}

public sealed partial class BattleHealModifierArgs : pb::IMessage<BattleHealModifierArgs> {
  private static readonly pb::MessageParser<BattleHealModifierArgs> _parser = new pb::MessageParser<BattleHealModifierArgs>(() => new BattleHealModifierArgs());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleHealModifierArgs> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[100]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleHealModifierArgs() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleHealModifierArgs(BattleHealModifierArgs other) : this() {
    healerId_ = other.healerId_;
    healReceiveId_ = other.healReceiveId_;
    healerModifiers_ = other.healerModifiers_.Clone();
    healReceiveModifiers_ = other.healReceiveModifiers_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleHealModifierArgs Clone() {
    return new BattleHealModifierArgs(this);
  }

  /// <summary>Field number for the "healer_id" field.</summary>
  public const int HealerIdFieldNumber = 1;
  private ulong healerId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong HealerId {
    get { return healerId_; }
    set {
      healerId_ = value;
    }
  }

  /// <summary>Field number for the "heal_receive_id" field.</summary>
  public const int HealReceiveIdFieldNumber = 2;
  private ulong healReceiveId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong HealReceiveId {
    get { return healReceiveId_; }
    set {
      healReceiveId_ = value;
    }
  }

  /// <summary>Field number for the "healer_modifiers" field.</summary>
  public const int HealerModifiersFieldNumber = 3;
  private static readonly pb::FieldCodec<global::BattleModifierHandle> _repeated_healerModifiers_codec
      = pb::FieldCodec.ForMessage(26, global::BattleModifierHandle.Parser);
  private readonly pbc::RepeatedField<global::BattleModifierHandle> healerModifiers_ = new pbc::RepeatedField<global::BattleModifierHandle>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::BattleModifierHandle> HealerModifiers {
    get { return healerModifiers_; }
  }

  /// <summary>Field number for the "heal_receive_modifiers" field.</summary>
  public const int HealReceiveModifiersFieldNumber = 4;
  private static readonly pb::FieldCodec<global::BattleModifierHandle> _repeated_healReceiveModifiers_codec
      = pb::FieldCodec.ForMessage(34, global::BattleModifierHandle.Parser);
  private readonly pbc::RepeatedField<global::BattleModifierHandle> healReceiveModifiers_ = new pbc::RepeatedField<global::BattleModifierHandle>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::BattleModifierHandle> HealReceiveModifiers {
    get { return healReceiveModifiers_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleHealModifierArgs);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleHealModifierArgs other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (HealerId != other.HealerId) return false;
    if (HealReceiveId != other.HealReceiveId) return false;
    if(!healerModifiers_.Equals(other.healerModifiers_)) return false;
    if(!healReceiveModifiers_.Equals(other.healReceiveModifiers_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (HealerId != 0UL) hash ^= HealerId.GetHashCode();
    if (HealReceiveId != 0UL) hash ^= HealReceiveId.GetHashCode();
    hash ^= healerModifiers_.GetHashCode();
    hash ^= healReceiveModifiers_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (HealerId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(HealerId);
    }
    if (HealReceiveId != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(HealReceiveId);
    }
    healerModifiers_.WriteTo(output, _repeated_healerModifiers_codec);
    healReceiveModifiers_.WriteTo(output, _repeated_healReceiveModifiers_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (HealerId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(HealerId);
    }
    if (HealReceiveId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(HealReceiveId);
    }
    size += healerModifiers_.CalculateSize(_repeated_healerModifiers_codec);
    size += healReceiveModifiers_.CalculateSize(_repeated_healReceiveModifiers_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleHealModifierArgs other) {
    if (other == null) {
      return;
    }
    if (other.HealerId != 0UL) {
      HealerId = other.HealerId;
    }
    if (other.HealReceiveId != 0UL) {
      HealReceiveId = other.HealReceiveId;
    }
    healerModifiers_.Add(other.healerModifiers_);
    healReceiveModifiers_.Add(other.healReceiveModifiers_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          HealerId = input.ReadUInt64();
          break;
        }
        case 16: {
          HealReceiveId = input.ReadUInt64();
          break;
        }
        case 26: {
          healerModifiers_.AddEntriesFrom(input, _repeated_healerModifiers_codec);
          break;
        }
        case 34: {
          healReceiveModifiers_.AddEntriesFrom(input, _repeated_healReceiveModifiers_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class BattleSwitchModeActionRuntime : pb::IMessage<BattleSwitchModeActionRuntime> {
  private static readonly pb::MessageParser<BattleSwitchModeActionRuntime> _parser = new pb::MessageParser<BattleSwitchModeActionRuntime>(() => new BattleSwitchModeActionRuntime());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleSwitchModeActionRuntime> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[101]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleSwitchModeActionRuntime() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleSwitchModeActionRuntime(BattleSwitchModeActionRuntime other) : this() {
    sourceId_ = other.sourceId_;
    modeId_ = other.modeId_;
    modeInstId_ = other.modeInstId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleSwitchModeActionRuntime Clone() {
    return new BattleSwitchModeActionRuntime(this);
  }

  /// <summary>Field number for the "source_id" field.</summary>
  public const int SourceIdFieldNumber = 1;
  private ulong sourceId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong SourceId {
    get { return sourceId_; }
    set {
      sourceId_ = value;
    }
  }

  /// <summary>Field number for the "mode_id" field.</summary>
  public const int ModeIdFieldNumber = 2;
  private string modeId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ModeId {
    get { return modeId_; }
    set {
      modeId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "mode_inst_id" field.</summary>
  public const int ModeInstIdFieldNumber = 3;
  private uint modeInstId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint ModeInstId {
    get { return modeInstId_; }
    set {
      modeInstId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleSwitchModeActionRuntime);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleSwitchModeActionRuntime other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SourceId != other.SourceId) return false;
    if (ModeId != other.ModeId) return false;
    if (ModeInstId != other.ModeInstId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SourceId != 0UL) hash ^= SourceId.GetHashCode();
    if (ModeId.Length != 0) hash ^= ModeId.GetHashCode();
    if (ModeInstId != 0) hash ^= ModeInstId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SourceId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(SourceId);
    }
    if (ModeId.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(ModeId);
    }
    if (ModeInstId != 0) {
      output.WriteRawTag(24);
      output.WriteUInt32(ModeInstId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SourceId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(SourceId);
    }
    if (ModeId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ModeId);
    }
    if (ModeInstId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(ModeInstId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleSwitchModeActionRuntime other) {
    if (other == null) {
      return;
    }
    if (other.SourceId != 0UL) {
      SourceId = other.SourceId;
    }
    if (other.ModeId.Length != 0) {
      ModeId = other.ModeId;
    }
    if (other.ModeInstId != 0) {
      ModeInstId = other.ModeInstId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          SourceId = input.ReadUInt64();
          break;
        }
        case 18: {
          ModeId = input.ReadString();
          break;
        }
        case 24: {
          ModeInstId = input.ReadUInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class BattleModifyDynamicBlackboardActionRuntime : pb::IMessage<BattleModifyDynamicBlackboardActionRuntime> {
  private static readonly pb::MessageParser<BattleModifyDynamicBlackboardActionRuntime> _parser = new pb::MessageParser<BattleModifyDynamicBlackboardActionRuntime>(() => new BattleModifyDynamicBlackboardActionRuntime());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleModifyDynamicBlackboardActionRuntime> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[102]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleModifyDynamicBlackboardActionRuntime() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleModifyDynamicBlackboardActionRuntime(BattleModifyDynamicBlackboardActionRuntime other) : this() {
    clientValue_ = other.clientValue_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleModifyDynamicBlackboardActionRuntime Clone() {
    return new BattleModifyDynamicBlackboardActionRuntime(this);
  }

  /// <summary>Field number for the "client_value" field.</summary>
  public const int ClientValueFieldNumber = 1;
  private double clientValue_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public double ClientValue {
    get { return clientValue_; }
    set {
      clientValue_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleModifyDynamicBlackboardActionRuntime);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleModifyDynamicBlackboardActionRuntime other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(ClientValue, other.ClientValue)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ClientValue != 0D) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(ClientValue);
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ClientValue != 0D) {
      output.WriteRawTag(9);
      output.WriteDouble(ClientValue);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ClientValue != 0D) {
      size += 1 + 8;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleModifyDynamicBlackboardActionRuntime other) {
    if (other == null) {
      return;
    }
    if (other.ClientValue != 0D) {
      ClientValue = other.ClientValue;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 9: {
          ClientValue = input.ReadDouble();
          break;
        }
      }
    }
  }

}

public sealed partial class BattleSpawnEnemyActionRuntime : pb::IMessage<BattleSpawnEnemyActionRuntime> {
  private static readonly pb::MessageParser<BattleSpawnEnemyActionRuntime> _parser = new pb::MessageParser<BattleSpawnEnemyActionRuntime>(() => new BattleSpawnEnemyActionRuntime());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleSpawnEnemyActionRuntime> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[103]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleSpawnEnemyActionRuntime() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleSpawnEnemyActionRuntime(BattleSpawnEnemyActionRuntime other) : this() {
    clientKey_ = other.clientKey_;
    details_ = other.details_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleSpawnEnemyActionRuntime Clone() {
    return new BattleSpawnEnemyActionRuntime(this);
  }

  /// <summary>Field number for the "client_key" field.</summary>
  public const int ClientKeyFieldNumber = 1;
  private uint clientKey_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint ClientKey {
    get { return clientKey_; }
    set {
      clientKey_ = value;
    }
  }

  /// <summary>Field number for the "details" field.</summary>
  public const int DetailsFieldNumber = 2;
  private static readonly pb::FieldCodec<global::BattleSpawnEnemyActionDetail> _repeated_details_codec
      = pb::FieldCodec.ForMessage(18, global::BattleSpawnEnemyActionDetail.Parser);
  private readonly pbc::RepeatedField<global::BattleSpawnEnemyActionDetail> details_ = new pbc::RepeatedField<global::BattleSpawnEnemyActionDetail>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::BattleSpawnEnemyActionDetail> Details {
    get { return details_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleSpawnEnemyActionRuntime);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleSpawnEnemyActionRuntime other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ClientKey != other.ClientKey) return false;
    if(!details_.Equals(other.details_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ClientKey != 0) hash ^= ClientKey.GetHashCode();
    hash ^= details_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ClientKey != 0) {
      output.WriteRawTag(8);
      output.WriteUInt32(ClientKey);
    }
    details_.WriteTo(output, _repeated_details_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ClientKey != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(ClientKey);
    }
    size += details_.CalculateSize(_repeated_details_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleSpawnEnemyActionRuntime other) {
    if (other == null) {
      return;
    }
    if (other.ClientKey != 0) {
      ClientKey = other.ClientKey;
    }
    details_.Add(other.details_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ClientKey = input.ReadUInt32();
          break;
        }
        case 18: {
          details_.AddEntriesFrom(input, _repeated_details_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class BattleSpawnEnemyActionDetail : pb::IMessage<BattleSpawnEnemyActionDetail> {
  private static readonly pb::MessageParser<BattleSpawnEnemyActionDetail> _parser = new pb::MessageParser<BattleSpawnEnemyActionDetail>(() => new BattleSpawnEnemyActionDetail());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleSpawnEnemyActionDetail> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[104]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleSpawnEnemyActionDetail() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleSpawnEnemyActionDetail(BattleSpawnEnemyActionDetail other) : this() {
    sourceId_ = other.sourceId_;
    enemyLv_ = other.enemyLv_;
    pos_ = other.pos_ != null ? other.pos_.Clone() : null;
    rotation_ = other.rotation_ != null ? other.rotation_.Clone() : null;
    sceneNumId_ = other.sceneNumId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleSpawnEnemyActionDetail Clone() {
    return new BattleSpawnEnemyActionDetail(this);
  }

  /// <summary>Field number for the "source_id" field.</summary>
  public const int SourceIdFieldNumber = 1;
  private ulong sourceId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong SourceId {
    get { return sourceId_; }
    set {
      sourceId_ = value;
    }
  }

  /// <summary>Field number for the "enemy_lv" field.</summary>
  public const int EnemyLvFieldNumber = 2;
  private uint enemyLv_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint EnemyLv {
    get { return enemyLv_; }
    set {
      enemyLv_ = value;
    }
  }

  /// <summary>Field number for the "pos" field.</summary>
  public const int PosFieldNumber = 3;
  private global::Vector pos_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::Vector Pos {
    get { return pos_; }
    set {
      pos_ = value;
    }
  }

  /// <summary>Field number for the "rotation" field.</summary>
  public const int RotationFieldNumber = 4;
  private global::Vector rotation_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::Vector Rotation {
    get { return rotation_; }
    set {
      rotation_ = value;
    }
  }

  /// <summary>Field number for the "scene_num_id" field.</summary>
  public const int SceneNumIdFieldNumber = 5;
  private int sceneNumId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int SceneNumId {
    get { return sceneNumId_; }
    set {
      sceneNumId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleSpawnEnemyActionDetail);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleSpawnEnemyActionDetail other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SourceId != other.SourceId) return false;
    if (EnemyLv != other.EnemyLv) return false;
    if (!object.Equals(Pos, other.Pos)) return false;
    if (!object.Equals(Rotation, other.Rotation)) return false;
    if (SceneNumId != other.SceneNumId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SourceId != 0UL) hash ^= SourceId.GetHashCode();
    if (EnemyLv != 0) hash ^= EnemyLv.GetHashCode();
    if (pos_ != null) hash ^= Pos.GetHashCode();
    if (rotation_ != null) hash ^= Rotation.GetHashCode();
    if (SceneNumId != 0) hash ^= SceneNumId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SourceId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(SourceId);
    }
    if (EnemyLv != 0) {
      output.WriteRawTag(16);
      output.WriteUInt32(EnemyLv);
    }
    if (pos_ != null) {
      output.WriteRawTag(26);
      output.WriteMessage(Pos);
    }
    if (rotation_ != null) {
      output.WriteRawTag(34);
      output.WriteMessage(Rotation);
    }
    if (SceneNumId != 0) {
      output.WriteRawTag(40);
      output.WriteInt32(SceneNumId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SourceId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(SourceId);
    }
    if (EnemyLv != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(EnemyLv);
    }
    if (pos_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Pos);
    }
    if (rotation_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Rotation);
    }
    if (SceneNumId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(SceneNumId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleSpawnEnemyActionDetail other) {
    if (other == null) {
      return;
    }
    if (other.SourceId != 0UL) {
      SourceId = other.SourceId;
    }
    if (other.EnemyLv != 0) {
      EnemyLv = other.EnemyLv;
    }
    if (other.pos_ != null) {
      if (pos_ == null) {
        pos_ = new global::Vector();
      }
      Pos.MergeFrom(other.Pos);
    }
    if (other.rotation_ != null) {
      if (rotation_ == null) {
        rotation_ = new global::Vector();
      }
      Rotation.MergeFrom(other.Rotation);
    }
    if (other.SceneNumId != 0) {
      SceneNumId = other.SceneNumId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          SourceId = input.ReadUInt64();
          break;
        }
        case 16: {
          EnemyLv = input.ReadUInt32();
          break;
        }
        case 26: {
          if (pos_ == null) {
            pos_ = new global::Vector();
          }
          input.ReadMessage(pos_);
          break;
        }
        case 34: {
          if (rotation_ == null) {
            rotation_ = new global::Vector();
          }
          input.ReadMessage(rotation_);
          break;
        }
        case 40: {
          SceneNumId = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class BattleCheckDamageTypeActionRuntime : pb::IMessage<BattleCheckDamageTypeActionRuntime> {
  private static readonly pb::MessageParser<BattleCheckDamageTypeActionRuntime> _parser = new pb::MessageParser<BattleCheckDamageTypeActionRuntime>(() => new BattleCheckDamageTypeActionRuntime());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleCheckDamageTypeActionRuntime> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[105]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCheckDamageTypeActionRuntime() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCheckDamageTypeActionRuntime(BattleCheckDamageTypeActionRuntime other) : this() {
    result_ = other.result_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCheckDamageTypeActionRuntime Clone() {
    return new BattleCheckDamageTypeActionRuntime(this);
  }

  /// <summary>Field number for the "result" field.</summary>
  public const int ResultFieldNumber = 1;
  private bool result_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Result {
    get { return result_; }
    set {
      result_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleCheckDamageTypeActionRuntime);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleCheckDamageTypeActionRuntime other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Result != other.Result) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Result != false) hash ^= Result.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Result != false) {
      output.WriteRawTag(8);
      output.WriteBool(Result);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Result != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleCheckDamageTypeActionRuntime other) {
    if (other == null) {
      return;
    }
    if (other.Result != false) {
      Result = other.Result;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Result = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class BattleCheckDamageDecorateMaskActionRuntime : pb::IMessage<BattleCheckDamageDecorateMaskActionRuntime> {
  private static readonly pb::MessageParser<BattleCheckDamageDecorateMaskActionRuntime> _parser = new pb::MessageParser<BattleCheckDamageDecorateMaskActionRuntime>(() => new BattleCheckDamageDecorateMaskActionRuntime());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleCheckDamageDecorateMaskActionRuntime> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[106]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCheckDamageDecorateMaskActionRuntime() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCheckDamageDecorateMaskActionRuntime(BattleCheckDamageDecorateMaskActionRuntime other) : this() {
    result_ = other.result_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCheckDamageDecorateMaskActionRuntime Clone() {
    return new BattleCheckDamageDecorateMaskActionRuntime(this);
  }

  /// <summary>Field number for the "result" field.</summary>
  public const int ResultFieldNumber = 1;
  private bool result_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Result {
    get { return result_; }
    set {
      result_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleCheckDamageDecorateMaskActionRuntime);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleCheckDamageDecorateMaskActionRuntime other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Result != other.Result) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Result != false) hash ^= Result.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Result != false) {
      output.WriteRawTag(8);
      output.WriteBool(Result);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Result != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleCheckDamageDecorateMaskActionRuntime other) {
    if (other == null) {
      return;
    }
    if (other.Result != false) {
      Result = other.Result;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Result = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class BattleCheckDistanceConditionActionRuntime : pb::IMessage<BattleCheckDistanceConditionActionRuntime> {
  private static readonly pb::MessageParser<BattleCheckDistanceConditionActionRuntime> _parser = new pb::MessageParser<BattleCheckDistanceConditionActionRuntime>(() => new BattleCheckDistanceConditionActionRuntime());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleCheckDistanceConditionActionRuntime> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[107]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCheckDistanceConditionActionRuntime() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCheckDistanceConditionActionRuntime(BattleCheckDistanceConditionActionRuntime other) : this() {
    posA_ = other.posA_ != null ? other.posA_.Clone() : null;
    posB_ = other.posB_ != null ? other.posB_.Clone() : null;
    distance_ = other.distance_;
    result_ = other.result_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCheckDistanceConditionActionRuntime Clone() {
    return new BattleCheckDistanceConditionActionRuntime(this);
  }

  /// <summary>Field number for the "pos_a" field.</summary>
  public const int PosAFieldNumber = 1;
  private global::Vector posA_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::Vector PosA {
    get { return posA_; }
    set {
      posA_ = value;
    }
  }

  /// <summary>Field number for the "pos_b" field.</summary>
  public const int PosBFieldNumber = 2;
  private global::Vector posB_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::Vector PosB {
    get { return posB_; }
    set {
      posB_ = value;
    }
  }

  /// <summary>Field number for the "distance" field.</summary>
  public const int DistanceFieldNumber = 4;
  private float distance_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public float Distance {
    get { return distance_; }
    set {
      distance_ = value;
    }
  }

  /// <summary>Field number for the "result" field.</summary>
  public const int ResultFieldNumber = 3;
  private bool result_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Result {
    get { return result_; }
    set {
      result_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleCheckDistanceConditionActionRuntime);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleCheckDistanceConditionActionRuntime other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!object.Equals(PosA, other.PosA)) return false;
    if (!object.Equals(PosB, other.PosB)) return false;
    if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(Distance, other.Distance)) return false;
    if (Result != other.Result) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (posA_ != null) hash ^= PosA.GetHashCode();
    if (posB_ != null) hash ^= PosB.GetHashCode();
    if (Distance != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(Distance);
    if (Result != false) hash ^= Result.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (posA_ != null) {
      output.WriteRawTag(10);
      output.WriteMessage(PosA);
    }
    if (posB_ != null) {
      output.WriteRawTag(18);
      output.WriteMessage(PosB);
    }
    if (Result != false) {
      output.WriteRawTag(24);
      output.WriteBool(Result);
    }
    if (Distance != 0F) {
      output.WriteRawTag(37);
      output.WriteFloat(Distance);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (posA_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(PosA);
    }
    if (posB_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(PosB);
    }
    if (Distance != 0F) {
      size += 1 + 4;
    }
    if (Result != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleCheckDistanceConditionActionRuntime other) {
    if (other == null) {
      return;
    }
    if (other.posA_ != null) {
      if (posA_ == null) {
        posA_ = new global::Vector();
      }
      PosA.MergeFrom(other.PosA);
    }
    if (other.posB_ != null) {
      if (posB_ == null) {
        posB_ = new global::Vector();
      }
      PosB.MergeFrom(other.PosB);
    }
    if (other.Distance != 0F) {
      Distance = other.Distance;
    }
    if (other.Result != false) {
      Result = other.Result;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          if (posA_ == null) {
            posA_ = new global::Vector();
          }
          input.ReadMessage(posA_);
          break;
        }
        case 18: {
          if (posB_ == null) {
            posB_ = new global::Vector();
          }
          input.ReadMessage(posB_);
          break;
        }
        case 24: {
          Result = input.ReadBool();
          break;
        }
        case 37: {
          Distance = input.ReadFloat();
          break;
        }
      }
    }
  }

}

public sealed partial class BattleCheckEntityNumActionRuntime : pb::IMessage<BattleCheckEntityNumActionRuntime> {
  private static readonly pb::MessageParser<BattleCheckEntityNumActionRuntime> _parser = new pb::MessageParser<BattleCheckEntityNumActionRuntime>(() => new BattleCheckEntityNumActionRuntime());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleCheckEntityNumActionRuntime> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[108]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCheckEntityNumActionRuntime() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCheckEntityNumActionRuntime(BattleCheckEntityNumActionRuntime other) : this() {
    result_ = other.result_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCheckEntityNumActionRuntime Clone() {
    return new BattleCheckEntityNumActionRuntime(this);
  }

  /// <summary>Field number for the "result" field.</summary>
  public const int ResultFieldNumber = 1;
  private bool result_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Result {
    get { return result_; }
    set {
      result_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleCheckEntityNumActionRuntime);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleCheckEntityNumActionRuntime other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Result != other.Result) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Result != false) hash ^= Result.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Result != false) {
      output.WriteRawTag(8);
      output.WriteBool(Result);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Result != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleCheckEntityNumActionRuntime other) {
    if (other == null) {
      return;
    }
    if (other.Result != false) {
      Result = other.Result;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Result = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class BattleCheckHpActionRuntime : pb::IMessage<BattleCheckHpActionRuntime> {
  private static readonly pb::MessageParser<BattleCheckHpActionRuntime> _parser = new pb::MessageParser<BattleCheckHpActionRuntime>(() => new BattleCheckHpActionRuntime());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleCheckHpActionRuntime> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[109]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCheckHpActionRuntime() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCheckHpActionRuntime(BattleCheckHpActionRuntime other) : this() {
    sourceId_ = other.sourceId_;
    result_ = other.result_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCheckHpActionRuntime Clone() {
    return new BattleCheckHpActionRuntime(this);
  }

  /// <summary>Field number for the "source_id" field.</summary>
  public const int SourceIdFieldNumber = 1;
  private ulong sourceId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong SourceId {
    get { return sourceId_; }
    set {
      sourceId_ = value;
    }
  }

  /// <summary>Field number for the "result" field.</summary>
  public const int ResultFieldNumber = 2;
  private bool result_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Result {
    get { return result_; }
    set {
      result_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleCheckHpActionRuntime);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleCheckHpActionRuntime other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SourceId != other.SourceId) return false;
    if (Result != other.Result) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SourceId != 0UL) hash ^= SourceId.GetHashCode();
    if (Result != false) hash ^= Result.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SourceId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(SourceId);
    }
    if (Result != false) {
      output.WriteRawTag(16);
      output.WriteBool(Result);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SourceId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(SourceId);
    }
    if (Result != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleCheckHpActionRuntime other) {
    if (other == null) {
      return;
    }
    if (other.SourceId != 0UL) {
      SourceId = other.SourceId;
    }
    if (other.Result != false) {
      Result = other.Result;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          SourceId = input.ReadUInt64();
          break;
        }
        case 16: {
          Result = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class BattleCheckIsCriticalDamageActionRuntime : pb::IMessage<BattleCheckIsCriticalDamageActionRuntime> {
  private static readonly pb::MessageParser<BattleCheckIsCriticalDamageActionRuntime> _parser = new pb::MessageParser<BattleCheckIsCriticalDamageActionRuntime>(() => new BattleCheckIsCriticalDamageActionRuntime());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleCheckIsCriticalDamageActionRuntime> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[110]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCheckIsCriticalDamageActionRuntime() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCheckIsCriticalDamageActionRuntime(BattleCheckIsCriticalDamageActionRuntime other) : this() {
    result_ = other.result_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCheckIsCriticalDamageActionRuntime Clone() {
    return new BattleCheckIsCriticalDamageActionRuntime(this);
  }

  /// <summary>Field number for the "result" field.</summary>
  public const int ResultFieldNumber = 1;
  private bool result_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Result {
    get { return result_; }
    set {
      result_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleCheckIsCriticalDamageActionRuntime);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleCheckIsCriticalDamageActionRuntime other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Result != other.Result) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Result != false) hash ^= Result.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Result != false) {
      output.WriteRawTag(8);
      output.WriteBool(Result);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Result != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleCheckIsCriticalDamageActionRuntime other) {
    if (other == null) {
      return;
    }
    if (other.Result != false) {
      Result = other.Result;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Result = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class BattleCheckMainCharacterActionRuntime : pb::IMessage<BattleCheckMainCharacterActionRuntime> {
  private static readonly pb::MessageParser<BattleCheckMainCharacterActionRuntime> _parser = new pb::MessageParser<BattleCheckMainCharacterActionRuntime>(() => new BattleCheckMainCharacterActionRuntime());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleCheckMainCharacterActionRuntime> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[111]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCheckMainCharacterActionRuntime() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCheckMainCharacterActionRuntime(BattleCheckMainCharacterActionRuntime other) : this() {
    checkTargetId_ = other.checkTargetId_;
    result_ = other.result_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCheckMainCharacterActionRuntime Clone() {
    return new BattleCheckMainCharacterActionRuntime(this);
  }

  /// <summary>Field number for the "check_target_id" field.</summary>
  public const int CheckTargetIdFieldNumber = 1;
  private ulong checkTargetId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong CheckTargetId {
    get { return checkTargetId_; }
    set {
      checkTargetId_ = value;
    }
  }

  /// <summary>Field number for the "result" field.</summary>
  public const int ResultFieldNumber = 2;
  private bool result_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Result {
    get { return result_; }
    set {
      result_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleCheckMainCharacterActionRuntime);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleCheckMainCharacterActionRuntime other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (CheckTargetId != other.CheckTargetId) return false;
    if (Result != other.Result) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (CheckTargetId != 0UL) hash ^= CheckTargetId.GetHashCode();
    if (Result != false) hash ^= Result.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (CheckTargetId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(CheckTargetId);
    }
    if (Result != false) {
      output.WriteRawTag(16);
      output.WriteBool(Result);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (CheckTargetId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(CheckTargetId);
    }
    if (Result != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleCheckMainCharacterActionRuntime other) {
    if (other == null) {
      return;
    }
    if (other.CheckTargetId != 0UL) {
      CheckTargetId = other.CheckTargetId;
    }
    if (other.Result != false) {
      Result = other.Result;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          CheckTargetId = input.ReadUInt64();
          break;
        }
        case 16: {
          Result = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class BattleCheckObjectTypeMatchActionRuntime : pb::IMessage<BattleCheckObjectTypeMatchActionRuntime> {
  private static readonly pb::MessageParser<BattleCheckObjectTypeMatchActionRuntime> _parser = new pb::MessageParser<BattleCheckObjectTypeMatchActionRuntime>(() => new BattleCheckObjectTypeMatchActionRuntime());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleCheckObjectTypeMatchActionRuntime> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[112]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCheckObjectTypeMatchActionRuntime() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCheckObjectTypeMatchActionRuntime(BattleCheckObjectTypeMatchActionRuntime other) : this() {
    result_ = other.result_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCheckObjectTypeMatchActionRuntime Clone() {
    return new BattleCheckObjectTypeMatchActionRuntime(this);
  }

  /// <summary>Field number for the "result" field.</summary>
  public const int ResultFieldNumber = 3;
  private bool result_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Result {
    get { return result_; }
    set {
      result_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleCheckObjectTypeMatchActionRuntime);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleCheckObjectTypeMatchActionRuntime other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Result != other.Result) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Result != false) hash ^= Result.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Result != false) {
      output.WriteRawTag(24);
      output.WriteBool(Result);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Result != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleCheckObjectTypeMatchActionRuntime other) {
    if (other == null) {
      return;
    }
    if (other.Result != false) {
      Result = other.Result;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 24: {
          Result = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class BattleCheckSkillTypeActionRuntime : pb::IMessage<BattleCheckSkillTypeActionRuntime> {
  private static readonly pb::MessageParser<BattleCheckSkillTypeActionRuntime> _parser = new pb::MessageParser<BattleCheckSkillTypeActionRuntime>(() => new BattleCheckSkillTypeActionRuntime());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleCheckSkillTypeActionRuntime> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[113]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCheckSkillTypeActionRuntime() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCheckSkillTypeActionRuntime(BattleCheckSkillTypeActionRuntime other) : this() {
    result_ = other.result_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCheckSkillTypeActionRuntime Clone() {
    return new BattleCheckSkillTypeActionRuntime(this);
  }

  /// <summary>Field number for the "result" field.</summary>
  public const int ResultFieldNumber = 1;
  private bool result_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Result {
    get { return result_; }
    set {
      result_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleCheckSkillTypeActionRuntime);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleCheckSkillTypeActionRuntime other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Result != other.Result) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Result != false) hash ^= Result.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Result != false) {
      output.WriteRawTag(8);
      output.WriteBool(Result);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Result != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleCheckSkillTypeActionRuntime other) {
    if (other == null) {
      return;
    }
    if (other.Result != false) {
      Result = other.Result;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Result = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class BattleCheckSquadInFightActionRuntime : pb::IMessage<BattleCheckSquadInFightActionRuntime> {
  private static readonly pb::MessageParser<BattleCheckSquadInFightActionRuntime> _parser = new pb::MessageParser<BattleCheckSquadInFightActionRuntime>(() => new BattleCheckSquadInFightActionRuntime());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleCheckSquadInFightActionRuntime> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[114]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCheckSquadInFightActionRuntime() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCheckSquadInFightActionRuntime(BattleCheckSquadInFightActionRuntime other) : this() {
    result_ = other.result_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCheckSquadInFightActionRuntime Clone() {
    return new BattleCheckSquadInFightActionRuntime(this);
  }

  /// <summary>Field number for the "result" field.</summary>
  public const int ResultFieldNumber = 1;
  private bool result_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Result {
    get { return result_; }
    set {
      result_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleCheckSquadInFightActionRuntime);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleCheckSquadInFightActionRuntime other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Result != other.Result) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Result != false) hash ^= Result.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Result != false) {
      output.WriteRawTag(8);
      output.WriteBool(Result);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Result != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleCheckSquadInFightActionRuntime other) {
    if (other == null) {
      return;
    }
    if (other.Result != false) {
      Result = other.Result;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Result = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class BattleCheckTagMatchActionRuntime : pb::IMessage<BattleCheckTagMatchActionRuntime> {
  private static readonly pb::MessageParser<BattleCheckTagMatchActionRuntime> _parser = new pb::MessageParser<BattleCheckTagMatchActionRuntime>(() => new BattleCheckTagMatchActionRuntime());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleCheckTagMatchActionRuntime> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[115]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCheckTagMatchActionRuntime() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCheckTagMatchActionRuntime(BattleCheckTagMatchActionRuntime other) : this() {
    targetIds_ = other.targetIds_.Clone();
    result_ = other.result_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCheckTagMatchActionRuntime Clone() {
    return new BattleCheckTagMatchActionRuntime(this);
  }

  /// <summary>Field number for the "target_ids" field.</summary>
  public const int TargetIdsFieldNumber = 1;
  private static readonly pb::FieldCodec<ulong> _repeated_targetIds_codec
      = pb::FieldCodec.ForUInt64(10);
  private readonly pbc::RepeatedField<ulong> targetIds_ = new pbc::RepeatedField<ulong>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<ulong> TargetIds {
    get { return targetIds_; }
  }

  /// <summary>Field number for the "result" field.</summary>
  public const int ResultFieldNumber = 2;
  private bool result_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Result {
    get { return result_; }
    set {
      result_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleCheckTagMatchActionRuntime);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleCheckTagMatchActionRuntime other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!targetIds_.Equals(other.targetIds_)) return false;
    if (Result != other.Result) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= targetIds_.GetHashCode();
    if (Result != false) hash ^= Result.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    targetIds_.WriteTo(output, _repeated_targetIds_codec);
    if (Result != false) {
      output.WriteRawTag(16);
      output.WriteBool(Result);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += targetIds_.CalculateSize(_repeated_targetIds_codec);
    if (Result != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleCheckTagMatchActionRuntime other) {
    if (other == null) {
      return;
    }
    targetIds_.Add(other.targetIds_);
    if (other.Result != false) {
      Result = other.Result;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10:
        case 8: {
          targetIds_.AddEntriesFrom(input, _repeated_targetIds_codec);
          break;
        }
        case 16: {
          Result = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class BattleCheckTargetAngleActionRuntime : pb::IMessage<BattleCheckTargetAngleActionRuntime> {
  private static readonly pb::MessageParser<BattleCheckTargetAngleActionRuntime> _parser = new pb::MessageParser<BattleCheckTargetAngleActionRuntime>(() => new BattleCheckTargetAngleActionRuntime());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleCheckTargetAngleActionRuntime> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[116]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCheckTargetAngleActionRuntime() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCheckTargetAngleActionRuntime(BattleCheckTargetAngleActionRuntime other) : this() {
    sourceVector_ = other.sourceVector_ != null ? other.sourceVector_.Clone() : null;
    targetVector_ = other.targetVector_ != null ? other.targetVector_.Clone() : null;
    result_ = other.result_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCheckTargetAngleActionRuntime Clone() {
    return new BattleCheckTargetAngleActionRuntime(this);
  }

  /// <summary>Field number for the "source_vector" field.</summary>
  public const int SourceVectorFieldNumber = 1;
  private global::Vector sourceVector_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::Vector SourceVector {
    get { return sourceVector_; }
    set {
      sourceVector_ = value;
    }
  }

  /// <summary>Field number for the "target_vector" field.</summary>
  public const int TargetVectorFieldNumber = 2;
  private global::Vector targetVector_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::Vector TargetVector {
    get { return targetVector_; }
    set {
      targetVector_ = value;
    }
  }

  /// <summary>Field number for the "result" field.</summary>
  public const int ResultFieldNumber = 3;
  private bool result_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Result {
    get { return result_; }
    set {
      result_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleCheckTargetAngleActionRuntime);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleCheckTargetAngleActionRuntime other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!object.Equals(SourceVector, other.SourceVector)) return false;
    if (!object.Equals(TargetVector, other.TargetVector)) return false;
    if (Result != other.Result) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (sourceVector_ != null) hash ^= SourceVector.GetHashCode();
    if (targetVector_ != null) hash ^= TargetVector.GetHashCode();
    if (Result != false) hash ^= Result.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (sourceVector_ != null) {
      output.WriteRawTag(10);
      output.WriteMessage(SourceVector);
    }
    if (targetVector_ != null) {
      output.WriteRawTag(18);
      output.WriteMessage(TargetVector);
    }
    if (Result != false) {
      output.WriteRawTag(24);
      output.WriteBool(Result);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (sourceVector_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(SourceVector);
    }
    if (targetVector_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(TargetVector);
    }
    if (Result != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleCheckTargetAngleActionRuntime other) {
    if (other == null) {
      return;
    }
    if (other.sourceVector_ != null) {
      if (sourceVector_ == null) {
        sourceVector_ = new global::Vector();
      }
      SourceVector.MergeFrom(other.SourceVector);
    }
    if (other.targetVector_ != null) {
      if (targetVector_ == null) {
        targetVector_ = new global::Vector();
      }
      TargetVector.MergeFrom(other.TargetVector);
    }
    if (other.Result != false) {
      Result = other.Result;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          if (sourceVector_ == null) {
            sourceVector_ = new global::Vector();
          }
          input.ReadMessage(sourceVector_);
          break;
        }
        case 18: {
          if (targetVector_ == null) {
            targetVector_ = new global::Vector();
          }
          input.ReadMessage(targetVector_);
          break;
        }
        case 24: {
          Result = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class BattleCompareFloatActionRuntime : pb::IMessage<BattleCompareFloatActionRuntime> {
  private static readonly pb::MessageParser<BattleCompareFloatActionRuntime> _parser = new pb::MessageParser<BattleCompareFloatActionRuntime>(() => new BattleCompareFloatActionRuntime());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleCompareFloatActionRuntime> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[117]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCompareFloatActionRuntime() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCompareFloatActionRuntime(BattleCompareFloatActionRuntime other) : this() {
    result_ = other.result_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCompareFloatActionRuntime Clone() {
    return new BattleCompareFloatActionRuntime(this);
  }

  /// <summary>Field number for the "result" field.</summary>
  public const int ResultFieldNumber = 1;
  private bool result_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Result {
    get { return result_; }
    set {
      result_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleCompareFloatActionRuntime);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleCompareFloatActionRuntime other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Result != other.Result) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Result != false) hash ^= Result.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Result != false) {
      output.WriteRawTag(8);
      output.WriteBool(Result);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Result != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleCompareFloatActionRuntime other) {
    if (other == null) {
      return;
    }
    if (other.Result != false) {
      Result = other.Result;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Result = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class BattleProbabilityActionRuntime : pb::IMessage<BattleProbabilityActionRuntime> {
  private static readonly pb::MessageParser<BattleProbabilityActionRuntime> _parser = new pb::MessageParser<BattleProbabilityActionRuntime>(() => new BattleProbabilityActionRuntime());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleProbabilityActionRuntime> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[118]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleProbabilityActionRuntime() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleProbabilityActionRuntime(BattleProbabilityActionRuntime other) : this() {
    result_ = other.result_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleProbabilityActionRuntime Clone() {
    return new BattleProbabilityActionRuntime(this);
  }

  /// <summary>Field number for the "result" field.</summary>
  public const int ResultFieldNumber = 1;
  private bool result_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Result {
    get { return result_; }
    set {
      result_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleProbabilityActionRuntime);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleProbabilityActionRuntime other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Result != other.Result) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Result != false) hash ^= Result.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Result != false) {
      output.WriteRawTag(8);
      output.WriteBool(Result);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Result != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleProbabilityActionRuntime other) {
    if (other == null) {
      return;
    }
    if (other.Result != false) {
      Result = other.Result;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Result = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class BattleLaunchProjectileActionRuntime : pb::IMessage<BattleLaunchProjectileActionRuntime> {
  private static readonly pb::MessageParser<BattleLaunchProjectileActionRuntime> _parser = new pb::MessageParser<BattleLaunchProjectileActionRuntime>(() => new BattleLaunchProjectileActionRuntime());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleLaunchProjectileActionRuntime> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[119]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleLaunchProjectileActionRuntime() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleLaunchProjectileActionRuntime(BattleLaunchProjectileActionRuntime other) : this() {
    sourceId_ = other.sourceId_;
    details_ = other.details_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleLaunchProjectileActionRuntime Clone() {
    return new BattleLaunchProjectileActionRuntime(this);
  }

  /// <summary>Field number for the "source_id" field.</summary>
  public const int SourceIdFieldNumber = 1;
  private ulong sourceId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong SourceId {
    get { return sourceId_; }
    set {
      sourceId_ = value;
    }
  }

  /// <summary>Field number for the "details" field.</summary>
  public const int DetailsFieldNumber = 2;
  private static readonly pb::FieldCodec<global::BattleProjectileDetail> _repeated_details_codec
      = pb::FieldCodec.ForMessage(18, global::BattleProjectileDetail.Parser);
  private readonly pbc::RepeatedField<global::BattleProjectileDetail> details_ = new pbc::RepeatedField<global::BattleProjectileDetail>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::BattleProjectileDetail> Details {
    get { return details_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleLaunchProjectileActionRuntime);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleLaunchProjectileActionRuntime other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SourceId != other.SourceId) return false;
    if(!details_.Equals(other.details_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SourceId != 0UL) hash ^= SourceId.GetHashCode();
    hash ^= details_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SourceId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(SourceId);
    }
    details_.WriteTo(output, _repeated_details_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SourceId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(SourceId);
    }
    size += details_.CalculateSize(_repeated_details_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleLaunchProjectileActionRuntime other) {
    if (other == null) {
      return;
    }
    if (other.SourceId != 0UL) {
      SourceId = other.SourceId;
    }
    details_.Add(other.details_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          SourceId = input.ReadUInt64();
          break;
        }
        case 18: {
          details_.AddEntriesFrom(input, _repeated_details_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class BattleProjectileDetail : pb::IMessage<BattleProjectileDetail> {
  private static readonly pb::MessageParser<BattleProjectileDetail> _parser = new pb::MessageParser<BattleProjectileDetail>(() => new BattleProjectileDetail());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleProjectileDetail> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[120]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleProjectileDetail() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleProjectileDetail(BattleProjectileDetail other) : this() {
    clientProjectileId_ = other.clientProjectileId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleProjectileDetail Clone() {
    return new BattleProjectileDetail(this);
  }

  /// <summary>Field number for the "client_projectile_id" field.</summary>
  public const int ClientProjectileIdFieldNumber = 1;
  private ulong clientProjectileId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong ClientProjectileId {
    get { return clientProjectileId_; }
    set {
      clientProjectileId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleProjectileDetail);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleProjectileDetail other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ClientProjectileId != other.ClientProjectileId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ClientProjectileId != 0UL) hash ^= ClientProjectileId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ClientProjectileId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(ClientProjectileId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ClientProjectileId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(ClientProjectileId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleProjectileDetail other) {
    if (other == null) {
      return;
    }
    if (other.ClientProjectileId != 0UL) {
      ClientProjectileId = other.ClientProjectileId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ClientProjectileId = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class BattleSpawnAbilityEntityActionRuntime : pb::IMessage<BattleSpawnAbilityEntityActionRuntime> {
  private static readonly pb::MessageParser<BattleSpawnAbilityEntityActionRuntime> _parser = new pb::MessageParser<BattleSpawnAbilityEntityActionRuntime>(() => new BattleSpawnAbilityEntityActionRuntime());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleSpawnAbilityEntityActionRuntime> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[121]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleSpawnAbilityEntityActionRuntime() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleSpawnAbilityEntityActionRuntime(BattleSpawnAbilityEntityActionRuntime other) : this() {
    details_ = other.details_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleSpawnAbilityEntityActionRuntime Clone() {
    return new BattleSpawnAbilityEntityActionRuntime(this);
  }

  /// <summary>Field number for the "details" field.</summary>
  public const int DetailsFieldNumber = 1;
  private static readonly pb::FieldCodec<global::BattleAbilityEntityDetail> _repeated_details_codec
      = pb::FieldCodec.ForMessage(10, global::BattleAbilityEntityDetail.Parser);
  private readonly pbc::RepeatedField<global::BattleAbilityEntityDetail> details_ = new pbc::RepeatedField<global::BattleAbilityEntityDetail>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::BattleAbilityEntityDetail> Details {
    get { return details_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleSpawnAbilityEntityActionRuntime);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleSpawnAbilityEntityActionRuntime other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!details_.Equals(other.details_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= details_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    details_.WriteTo(output, _repeated_details_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += details_.CalculateSize(_repeated_details_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleSpawnAbilityEntityActionRuntime other) {
    if (other == null) {
      return;
    }
    details_.Add(other.details_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          details_.AddEntriesFrom(input, _repeated_details_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class BattleAbilityEntityDetail : pb::IMessage<BattleAbilityEntityDetail> {
  private static readonly pb::MessageParser<BattleAbilityEntityDetail> _parser = new pb::MessageParser<BattleAbilityEntityDetail>(() => new BattleAbilityEntityDetail());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleAbilityEntityDetail> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[122]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleAbilityEntityDetail() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleAbilityEntityDetail(BattleAbilityEntityDetail other) : this() {
    clientAbilityEntityId_ = other.clientAbilityEntityId_;
    sourceId_ = other.sourceId_;
    initPos_ = other.initPos_ != null ? other.initPos_.Clone() : null;
    rotation_ = other.rotation_ != null ? other.rotation_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleAbilityEntityDetail Clone() {
    return new BattleAbilityEntityDetail(this);
  }

  /// <summary>Field number for the "client_ability_entity_id" field.</summary>
  public const int ClientAbilityEntityIdFieldNumber = 1;
  private ulong clientAbilityEntityId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong ClientAbilityEntityId {
    get { return clientAbilityEntityId_; }
    set {
      clientAbilityEntityId_ = value;
    }
  }

  /// <summary>Field number for the "source_id" field.</summary>
  public const int SourceIdFieldNumber = 2;
  private ulong sourceId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong SourceId {
    get { return sourceId_; }
    set {
      sourceId_ = value;
    }
  }

  /// <summary>Field number for the "init_pos" field.</summary>
  public const int InitPosFieldNumber = 3;
  private global::Vector initPos_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::Vector InitPos {
    get { return initPos_; }
    set {
      initPos_ = value;
    }
  }

  /// <summary>Field number for the "rotation" field.</summary>
  public const int RotationFieldNumber = 4;
  private global::Vector rotation_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::Vector Rotation {
    get { return rotation_; }
    set {
      rotation_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleAbilityEntityDetail);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleAbilityEntityDetail other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ClientAbilityEntityId != other.ClientAbilityEntityId) return false;
    if (SourceId != other.SourceId) return false;
    if (!object.Equals(InitPos, other.InitPos)) return false;
    if (!object.Equals(Rotation, other.Rotation)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ClientAbilityEntityId != 0UL) hash ^= ClientAbilityEntityId.GetHashCode();
    if (SourceId != 0UL) hash ^= SourceId.GetHashCode();
    if (initPos_ != null) hash ^= InitPos.GetHashCode();
    if (rotation_ != null) hash ^= Rotation.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ClientAbilityEntityId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(ClientAbilityEntityId);
    }
    if (SourceId != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(SourceId);
    }
    if (initPos_ != null) {
      output.WriteRawTag(26);
      output.WriteMessage(InitPos);
    }
    if (rotation_ != null) {
      output.WriteRawTag(34);
      output.WriteMessage(Rotation);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ClientAbilityEntityId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(ClientAbilityEntityId);
    }
    if (SourceId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(SourceId);
    }
    if (initPos_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(InitPos);
    }
    if (rotation_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Rotation);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleAbilityEntityDetail other) {
    if (other == null) {
      return;
    }
    if (other.ClientAbilityEntityId != 0UL) {
      ClientAbilityEntityId = other.ClientAbilityEntityId;
    }
    if (other.SourceId != 0UL) {
      SourceId = other.SourceId;
    }
    if (other.initPos_ != null) {
      if (initPos_ == null) {
        initPos_ = new global::Vector();
      }
      InitPos.MergeFrom(other.InitPos);
    }
    if (other.rotation_ != null) {
      if (rotation_ == null) {
        rotation_ = new global::Vector();
      }
      Rotation.MergeFrom(other.Rotation);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ClientAbilityEntityId = input.ReadUInt64();
          break;
        }
        case 16: {
          SourceId = input.ReadUInt64();
          break;
        }
        case 26: {
          if (initPos_ == null) {
            initPos_ = new global::Vector();
          }
          input.ReadMessage(initPos_);
          break;
        }
        case 34: {
          if (rotation_ == null) {
            rotation_ = new global::Vector();
          }
          input.ReadMessage(rotation_);
          break;
        }
      }
    }
  }

}

public sealed partial class BattleSpawnCustomSummonActionRuntime : pb::IMessage<BattleSpawnCustomSummonActionRuntime> {
  private static readonly pb::MessageParser<BattleSpawnCustomSummonActionRuntime> _parser = new pb::MessageParser<BattleSpawnCustomSummonActionRuntime>(() => new BattleSpawnCustomSummonActionRuntime());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleSpawnCustomSummonActionRuntime> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[123]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleSpawnCustomSummonActionRuntime() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleSpawnCustomSummonActionRuntime(BattleSpawnCustomSummonActionRuntime other) : this() {
    details_ = other.details_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleSpawnCustomSummonActionRuntime Clone() {
    return new BattleSpawnCustomSummonActionRuntime(this);
  }

  /// <summary>Field number for the "details" field.</summary>
  public const int DetailsFieldNumber = 1;
  private static readonly pb::FieldCodec<global::BattleSpawnCustomSummonDetail> _repeated_details_codec
      = pb::FieldCodec.ForMessage(10, global::BattleSpawnCustomSummonDetail.Parser);
  private readonly pbc::RepeatedField<global::BattleSpawnCustomSummonDetail> details_ = new pbc::RepeatedField<global::BattleSpawnCustomSummonDetail>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::BattleSpawnCustomSummonDetail> Details {
    get { return details_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleSpawnCustomSummonActionRuntime);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleSpawnCustomSummonActionRuntime other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!details_.Equals(other.details_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= details_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    details_.WriteTo(output, _repeated_details_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += details_.CalculateSize(_repeated_details_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleSpawnCustomSummonActionRuntime other) {
    if (other == null) {
      return;
    }
    details_.Add(other.details_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          details_.AddEntriesFrom(input, _repeated_details_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class BattleSpawnCustomSummonDetail : pb::IMessage<BattleSpawnCustomSummonDetail> {
  private static readonly pb::MessageParser<BattleSpawnCustomSummonDetail> _parser = new pb::MessageParser<BattleSpawnCustomSummonDetail>(() => new BattleSpawnCustomSummonDetail());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleSpawnCustomSummonDetail> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[124]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleSpawnCustomSummonDetail() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleSpawnCustomSummonDetail(BattleSpawnCustomSummonDetail other) : this() {
    summonId_ = other.summonId_;
    summonSkillId_ = other.summonSkillId_;
    clientAbilityEntityId_ = other.clientAbilityEntityId_;
    initPos_ = other.initPos_ != null ? other.initPos_.Clone() : null;
    rotation_ = other.rotation_ != null ? other.rotation_.Clone() : null;
    blackboard_ = other.blackboard_ != null ? other.blackboard_.Clone() : null;
    sourceId_ = other.sourceId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleSpawnCustomSummonDetail Clone() {
    return new BattleSpawnCustomSummonDetail(this);
  }

  /// <summary>Field number for the "summon_id" field.</summary>
  public const int SummonIdFieldNumber = 1;
  private string summonId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string SummonId {
    get { return summonId_; }
    set {
      summonId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "summon_skill_id" field.</summary>
  public const int SummonSkillIdFieldNumber = 2;
  private string summonSkillId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string SummonSkillId {
    get { return summonSkillId_; }
    set {
      summonSkillId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "client_ability_entity_id" field.</summary>
  public const int ClientAbilityEntityIdFieldNumber = 3;
  private ulong clientAbilityEntityId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong ClientAbilityEntityId {
    get { return clientAbilityEntityId_; }
    set {
      clientAbilityEntityId_ = value;
    }
  }

  /// <summary>Field number for the "init_pos" field.</summary>
  public const int InitPosFieldNumber = 4;
  private global::Vector initPos_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::Vector InitPos {
    get { return initPos_; }
    set {
      initPos_ = value;
    }
  }

  /// <summary>Field number for the "rotation" field.</summary>
  public const int RotationFieldNumber = 5;
  private global::Vector rotation_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::Vector Rotation {
    get { return rotation_; }
    set {
      rotation_ = value;
    }
  }

  /// <summary>Field number for the "blackboard" field.</summary>
  public const int BlackboardFieldNumber = 6;
  private global::BattleBlackboard blackboard_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleBlackboard Blackboard {
    get { return blackboard_; }
    set {
      blackboard_ = value;
    }
  }

  /// <summary>Field number for the "source_id" field.</summary>
  public const int SourceIdFieldNumber = 7;
  private ulong sourceId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong SourceId {
    get { return sourceId_; }
    set {
      sourceId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleSpawnCustomSummonDetail);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleSpawnCustomSummonDetail other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SummonId != other.SummonId) return false;
    if (SummonSkillId != other.SummonSkillId) return false;
    if (ClientAbilityEntityId != other.ClientAbilityEntityId) return false;
    if (!object.Equals(InitPos, other.InitPos)) return false;
    if (!object.Equals(Rotation, other.Rotation)) return false;
    if (!object.Equals(Blackboard, other.Blackboard)) return false;
    if (SourceId != other.SourceId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SummonId.Length != 0) hash ^= SummonId.GetHashCode();
    if (SummonSkillId.Length != 0) hash ^= SummonSkillId.GetHashCode();
    if (ClientAbilityEntityId != 0UL) hash ^= ClientAbilityEntityId.GetHashCode();
    if (initPos_ != null) hash ^= InitPos.GetHashCode();
    if (rotation_ != null) hash ^= Rotation.GetHashCode();
    if (blackboard_ != null) hash ^= Blackboard.GetHashCode();
    if (SourceId != 0UL) hash ^= SourceId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SummonId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(SummonId);
    }
    if (SummonSkillId.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(SummonSkillId);
    }
    if (ClientAbilityEntityId != 0UL) {
      output.WriteRawTag(24);
      output.WriteUInt64(ClientAbilityEntityId);
    }
    if (initPos_ != null) {
      output.WriteRawTag(34);
      output.WriteMessage(InitPos);
    }
    if (rotation_ != null) {
      output.WriteRawTag(42);
      output.WriteMessage(Rotation);
    }
    if (blackboard_ != null) {
      output.WriteRawTag(50);
      output.WriteMessage(Blackboard);
    }
    if (SourceId != 0UL) {
      output.WriteRawTag(56);
      output.WriteUInt64(SourceId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SummonId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(SummonId);
    }
    if (SummonSkillId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(SummonSkillId);
    }
    if (ClientAbilityEntityId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(ClientAbilityEntityId);
    }
    if (initPos_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(InitPos);
    }
    if (rotation_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Rotation);
    }
    if (blackboard_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Blackboard);
    }
    if (SourceId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(SourceId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleSpawnCustomSummonDetail other) {
    if (other == null) {
      return;
    }
    if (other.SummonId.Length != 0) {
      SummonId = other.SummonId;
    }
    if (other.SummonSkillId.Length != 0) {
      SummonSkillId = other.SummonSkillId;
    }
    if (other.ClientAbilityEntityId != 0UL) {
      ClientAbilityEntityId = other.ClientAbilityEntityId;
    }
    if (other.initPos_ != null) {
      if (initPos_ == null) {
        initPos_ = new global::Vector();
      }
      InitPos.MergeFrom(other.InitPos);
    }
    if (other.rotation_ != null) {
      if (rotation_ == null) {
        rotation_ = new global::Vector();
      }
      Rotation.MergeFrom(other.Rotation);
    }
    if (other.blackboard_ != null) {
      if (blackboard_ == null) {
        blackboard_ = new global::BattleBlackboard();
      }
      Blackboard.MergeFrom(other.Blackboard);
    }
    if (other.SourceId != 0UL) {
      SourceId = other.SourceId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          SummonId = input.ReadString();
          break;
        }
        case 18: {
          SummonSkillId = input.ReadString();
          break;
        }
        case 24: {
          ClientAbilityEntityId = input.ReadUInt64();
          break;
        }
        case 34: {
          if (initPos_ == null) {
            initPos_ = new global::Vector();
          }
          input.ReadMessage(initPos_);
          break;
        }
        case 42: {
          if (rotation_ == null) {
            rotation_ = new global::Vector();
          }
          input.ReadMessage(rotation_);
          break;
        }
        case 50: {
          if (blackboard_ == null) {
            blackboard_ = new global::BattleBlackboard();
          }
          input.ReadMessage(blackboard_);
          break;
        }
        case 56: {
          SourceId = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class BattleRefreshBuffAttrModifierValueActionRuntime : pb::IMessage<BattleRefreshBuffAttrModifierValueActionRuntime> {
  private static readonly pb::MessageParser<BattleRefreshBuffAttrModifierValueActionRuntime> _parser = new pb::MessageParser<BattleRefreshBuffAttrModifierValueActionRuntime>(() => new BattleRefreshBuffAttrModifierValueActionRuntime());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleRefreshBuffAttrModifierValueActionRuntime> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[125]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleRefreshBuffAttrModifierValueActionRuntime() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleRefreshBuffAttrModifierValueActionRuntime(BattleRefreshBuffAttrModifierValueActionRuntime other) : this() {
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleRefreshBuffAttrModifierValueActionRuntime Clone() {
    return new BattleRefreshBuffAttrModifierValueActionRuntime(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleRefreshBuffAttrModifierValueActionRuntime);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleRefreshBuffAttrModifierValueActionRuntime other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleRefreshBuffAttrModifierValueActionRuntime other) {
    if (other == null) {
      return;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
      }
    }
  }

}

public sealed partial class BattleStoreAttributeValueActionRuntime : pb::IMessage<BattleStoreAttributeValueActionRuntime> {
  private static readonly pb::MessageParser<BattleStoreAttributeValueActionRuntime> _parser = new pb::MessageParser<BattleStoreAttributeValueActionRuntime>(() => new BattleStoreAttributeValueActionRuntime());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleStoreAttributeValueActionRuntime> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[126]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleStoreAttributeValueActionRuntime() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleStoreAttributeValueActionRuntime(BattleStoreAttributeValueActionRuntime other) : this() {
    value_ = other.value_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleStoreAttributeValueActionRuntime Clone() {
    return new BattleStoreAttributeValueActionRuntime(this);
  }

  /// <summary>Field number for the "value" field.</summary>
  public const int ValueFieldNumber = 1;
  private float value_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public float Value {
    get { return value_; }
    set {
      value_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleStoreAttributeValueActionRuntime);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleStoreAttributeValueActionRuntime other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(Value, other.Value)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Value != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(Value);
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Value != 0F) {
      output.WriteRawTag(13);
      output.WriteFloat(Value);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Value != 0F) {
      size += 1 + 4;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleStoreAttributeValueActionRuntime other) {
    if (other == null) {
      return;
    }
    if (other.Value != 0F) {
      Value = other.Value;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 13: {
          Value = input.ReadFloat();
          break;
        }
      }
    }
  }

}

public sealed partial class BattleSetBlackboardFromPresetRuntime : pb::IMessage<BattleSetBlackboardFromPresetRuntime> {
  private static readonly pb::MessageParser<BattleSetBlackboardFromPresetRuntime> _parser = new pb::MessageParser<BattleSetBlackboardFromPresetRuntime>(() => new BattleSetBlackboardFromPresetRuntime());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleSetBlackboardFromPresetRuntime> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[127]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleSetBlackboardFromPresetRuntime() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleSetBlackboardFromPresetRuntime(BattleSetBlackboardFromPresetRuntime other) : this() {
    modifiedValue_ = other.modifiedValue_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleSetBlackboardFromPresetRuntime Clone() {
    return new BattleSetBlackboardFromPresetRuntime(this);
  }

  /// <summary>Field number for the "modified_value" field.</summary>
  public const int ModifiedValueFieldNumber = 1;
  private string modifiedValue_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ModifiedValue {
    get { return modifiedValue_; }
    set {
      modifiedValue_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleSetBlackboardFromPresetRuntime);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleSetBlackboardFromPresetRuntime other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ModifiedValue != other.ModifiedValue) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ModifiedValue.Length != 0) hash ^= ModifiedValue.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ModifiedValue.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(ModifiedValue);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ModifiedValue.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ModifiedValue);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleSetBlackboardFromPresetRuntime other) {
    if (other == null) {
      return;
    }
    if (other.ModifiedValue.Length != 0) {
      ModifiedValue = other.ModifiedValue;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          ModifiedValue = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class EmptyBattleAction : pb::IMessage<EmptyBattleAction> {
  private static readonly pb::MessageParser<EmptyBattleAction> _parser = new pb::MessageParser<EmptyBattleAction>(() => new EmptyBattleAction());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<EmptyBattleAction> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[128]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public EmptyBattleAction() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public EmptyBattleAction(EmptyBattleAction other) : this() {
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public EmptyBattleAction Clone() {
    return new EmptyBattleAction(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as EmptyBattleAction);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(EmptyBattleAction other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(EmptyBattleAction other) {
    if (other == null) {
      return;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
      }
    }
  }

}

public sealed partial class BattleUpdateHubOpData : pb::IMessage<BattleUpdateHubOpData> {
  private static readonly pb::MessageParser<BattleUpdateHubOpData> _parser = new pb::MessageParser<BattleUpdateHubOpData>(() => new BattleUpdateHubOpData());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleUpdateHubOpData> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[129]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleUpdateHubOpData() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleUpdateHubOpData(BattleUpdateHubOpData other) : this() {
    ownerId_ = other.ownerId_;
    instId_ = other.instId_;
    templateId_ = other.templateId_;
    hubData_ = other.hubData_.Clone();
    ownerType_ = other.ownerType_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleUpdateHubOpData Clone() {
    return new BattleUpdateHubOpData(this);
  }

  /// <summary>Field number for the "owner_id" field.</summary>
  public const int OwnerIdFieldNumber = 1;
  private ulong ownerId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong OwnerId {
    get { return ownerId_; }
    set {
      ownerId_ = value;
    }
  }

  /// <summary>Field number for the "inst_id" field.</summary>
  public const int InstIdFieldNumber = 2;
  private ulong instId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong InstId {
    get { return instId_; }
    set {
      instId_ = value;
    }
  }

  /// <summary>Field number for the "template_id" field.</summary>
  public const int TemplateIdFieldNumber = 3;
  private string templateId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string TemplateId {
    get { return templateId_; }
    set {
      templateId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "hub_data" field.</summary>
  public const int HubDataFieldNumber = 4;
  private static readonly pb::FieldCodec<global::BattleHubItem> _repeated_hubData_codec
      = pb::FieldCodec.ForMessage(34, global::BattleHubItem.Parser);
  private readonly pbc::RepeatedField<global::BattleHubItem> hubData_ = new pbc::RepeatedField<global::BattleHubItem>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::BattleHubItem> HubData {
    get { return hubData_; }
  }

  /// <summary>Field number for the "owner_type" field.</summary>
  public const int OwnerTypeFieldNumber = 5;
  private global::BattleActionOwnerType ownerType_ = 0;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleActionOwnerType OwnerType {
    get { return ownerType_; }
    set {
      ownerType_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleUpdateHubOpData);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleUpdateHubOpData other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (OwnerId != other.OwnerId) return false;
    if (InstId != other.InstId) return false;
    if (TemplateId != other.TemplateId) return false;
    if(!hubData_.Equals(other.hubData_)) return false;
    if (OwnerType != other.OwnerType) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (OwnerId != 0UL) hash ^= OwnerId.GetHashCode();
    if (InstId != 0UL) hash ^= InstId.GetHashCode();
    if (TemplateId.Length != 0) hash ^= TemplateId.GetHashCode();
    hash ^= hubData_.GetHashCode();
    if (OwnerType != 0) hash ^= OwnerType.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (OwnerId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(OwnerId);
    }
    if (InstId != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(InstId);
    }
    if (TemplateId.Length != 0) {
      output.WriteRawTag(26);
      output.WriteString(TemplateId);
    }
    hubData_.WriteTo(output, _repeated_hubData_codec);
    if (OwnerType != 0) {
      output.WriteRawTag(40);
      output.WriteEnum((int) OwnerType);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (OwnerId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(OwnerId);
    }
    if (InstId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(InstId);
    }
    if (TemplateId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(TemplateId);
    }
    size += hubData_.CalculateSize(_repeated_hubData_codec);
    if (OwnerType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) OwnerType);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleUpdateHubOpData other) {
    if (other == null) {
      return;
    }
    if (other.OwnerId != 0UL) {
      OwnerId = other.OwnerId;
    }
    if (other.InstId != 0UL) {
      InstId = other.InstId;
    }
    if (other.TemplateId.Length != 0) {
      TemplateId = other.TemplateId;
    }
    hubData_.Add(other.hubData_);
    if (other.OwnerType != 0) {
      OwnerType = other.OwnerType;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          OwnerId = input.ReadUInt64();
          break;
        }
        case 16: {
          InstId = input.ReadUInt64();
          break;
        }
        case 26: {
          TemplateId = input.ReadString();
          break;
        }
        case 34: {
          hubData_.AddEntriesFrom(input, _repeated_hubData_codec);
          break;
        }
        case 40: {
          ownerType_ = (global::BattleActionOwnerType) input.ReadEnum();
          break;
        }
      }
    }
  }

}

public sealed partial class BattleHubItem : pb::IMessage<BattleHubItem> {
  private static readonly pb::MessageParser<BattleHubItem> _parser = new pb::MessageParser<BattleHubItem>(() => new BattleHubItem());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleHubItem> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[130]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleHubItem() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleHubItem(BattleHubItem other) : this() {
    keyType_ = other.keyType_;
    numericValues_ = other.numericValues_.Clone();
    stringValues_ = other.stringValues_.Clone();
    targetHandles_ = other.targetHandles_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleHubItem Clone() {
    return new BattleHubItem(this);
  }

  /// <summary>Field number for the "key_type" field.</summary>
  public const int KeyTypeFieldNumber = 1;
  private global::BattleHubKeyType keyType_ = 0;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleHubKeyType KeyType {
    get { return keyType_; }
    set {
      keyType_ = value;
    }
  }

  /// <summary>Field number for the "numeric_values" field.</summary>
  public const int NumericValuesFieldNumber = 2;
  private static readonly pb::FieldCodec<double> _repeated_numericValues_codec
      = pb::FieldCodec.ForDouble(18);
  private readonly pbc::RepeatedField<double> numericValues_ = new pbc::RepeatedField<double>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<double> NumericValues {
    get { return numericValues_; }
  }

  /// <summary>Field number for the "string_values" field.</summary>
  public const int StringValuesFieldNumber = 3;
  private static readonly pb::FieldCodec<string> _repeated_stringValues_codec
      = pb::FieldCodec.ForString(26);
  private readonly pbc::RepeatedField<string> stringValues_ = new pbc::RepeatedField<string>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<string> StringValues {
    get { return stringValues_; }
  }

  /// <summary>Field number for the "target_handles" field.</summary>
  public const int TargetHandlesFieldNumber = 4;
  private static readonly pb::FieldCodec<global::BattleTargetHandle> _repeated_targetHandles_codec
      = pb::FieldCodec.ForMessage(34, global::BattleTargetHandle.Parser);
  private readonly pbc::RepeatedField<global::BattleTargetHandle> targetHandles_ = new pbc::RepeatedField<global::BattleTargetHandle>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::BattleTargetHandle> TargetHandles {
    get { return targetHandles_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleHubItem);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleHubItem other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (KeyType != other.KeyType) return false;
    if(!numericValues_.Equals(other.numericValues_)) return false;
    if(!stringValues_.Equals(other.stringValues_)) return false;
    if(!targetHandles_.Equals(other.targetHandles_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (KeyType != 0) hash ^= KeyType.GetHashCode();
    hash ^= numericValues_.GetHashCode();
    hash ^= stringValues_.GetHashCode();
    hash ^= targetHandles_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (KeyType != 0) {
      output.WriteRawTag(8);
      output.WriteEnum((int) KeyType);
    }
    numericValues_.WriteTo(output, _repeated_numericValues_codec);
    stringValues_.WriteTo(output, _repeated_stringValues_codec);
    targetHandles_.WriteTo(output, _repeated_targetHandles_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (KeyType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) KeyType);
    }
    size += numericValues_.CalculateSize(_repeated_numericValues_codec);
    size += stringValues_.CalculateSize(_repeated_stringValues_codec);
    size += targetHandles_.CalculateSize(_repeated_targetHandles_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleHubItem other) {
    if (other == null) {
      return;
    }
    if (other.KeyType != 0) {
      KeyType = other.KeyType;
    }
    numericValues_.Add(other.numericValues_);
    stringValues_.Add(other.stringValues_);
    targetHandles_.Add(other.targetHandles_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          keyType_ = (global::BattleHubKeyType) input.ReadEnum();
          break;
        }
        case 18:
        case 17: {
          numericValues_.AddEntriesFrom(input, _repeated_numericValues_codec);
          break;
        }
        case 26: {
          stringValues_.AddEntriesFrom(input, _repeated_stringValues_codec);
          break;
        }
        case 34: {
          targetHandles_.AddEntriesFrom(input, _repeated_targetHandles_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class BattleEntityDieOpData : pb::IMessage<BattleEntityDieOpData> {
  private static readonly pb::MessageParser<BattleEntityDieOpData> _parser = new pb::MessageParser<BattleEntityDieOpData>(() => new BattleEntityDieOpData());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleEntityDieOpData> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[131]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleEntityDieOpData() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleEntityDieOpData(BattleEntityDieOpData other) : this() {
    entityInstId_ = other.entityInstId_;
    sceneNumId_ = other.sceneNumId_;
    disableAntiCheat_ = other.disableAntiCheat_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleEntityDieOpData Clone() {
    return new BattleEntityDieOpData(this);
  }

  /// <summary>Field number for the "entity_inst_id" field.</summary>
  public const int EntityInstIdFieldNumber = 1;
  private ulong entityInstId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong EntityInstId {
    get { return entityInstId_; }
    set {
      entityInstId_ = value;
    }
  }

  /// <summary>Field number for the "scene_num_id" field.</summary>
  public const int SceneNumIdFieldNumber = 2;
  private int sceneNumId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int SceneNumId {
    get { return sceneNumId_; }
    set {
      sceneNumId_ = value;
    }
  }

  /// <summary>Field number for the "disable_anti_cheat" field.</summary>
  public const int DisableAntiCheatFieldNumber = 3;
  private bool disableAntiCheat_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool DisableAntiCheat {
    get { return disableAntiCheat_; }
    set {
      disableAntiCheat_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleEntityDieOpData);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleEntityDieOpData other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (EntityInstId != other.EntityInstId) return false;
    if (SceneNumId != other.SceneNumId) return false;
    if (DisableAntiCheat != other.DisableAntiCheat) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (EntityInstId != 0UL) hash ^= EntityInstId.GetHashCode();
    if (SceneNumId != 0) hash ^= SceneNumId.GetHashCode();
    if (DisableAntiCheat != false) hash ^= DisableAntiCheat.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (EntityInstId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(EntityInstId);
    }
    if (SceneNumId != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(SceneNumId);
    }
    if (DisableAntiCheat != false) {
      output.WriteRawTag(24);
      output.WriteBool(DisableAntiCheat);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (EntityInstId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(EntityInstId);
    }
    if (SceneNumId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(SceneNumId);
    }
    if (DisableAntiCheat != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleEntityDieOpData other) {
    if (other == null) {
      return;
    }
    if (other.EntityInstId != 0UL) {
      EntityInstId = other.EntityInstId;
    }
    if (other.SceneNumId != 0) {
      SceneNumId = other.SceneNumId;
    }
    if (other.DisableAntiCheat != false) {
      DisableAntiCheat = other.DisableAntiCheat;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          EntityInstId = input.ReadUInt64();
          break;
        }
        case 16: {
          SceneNumId = input.ReadInt32();
          break;
        }
        case 24: {
          DisableAntiCheat = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class BattleEntityValueModifyData : pb::IMessage<BattleEntityValueModifyData> {
  private static readonly pb::MessageParser<BattleEntityValueModifyData> _parser = new pb::MessageParser<BattleEntityValueModifyData>(() => new BattleEntityValueModifyData());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleEntityValueModifyData> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[132]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleEntityValueModifyData() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleEntityValueModifyData(BattleEntityValueModifyData other) : this() {
    entityInstId_ = other.entityInstId_;
    sceneNumId_ = other.sceneNumId_;
    value_ = other.value_ != null ? other.value_.Clone() : null;
    source_ = other.source_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleEntityValueModifyData Clone() {
    return new BattleEntityValueModifyData(this);
  }

  /// <summary>Field number for the "entity_inst_id" field.</summary>
  public const int EntityInstIdFieldNumber = 1;
  private ulong entityInstId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong EntityInstId {
    get { return entityInstId_; }
    set {
      entityInstId_ = value;
    }
  }

  /// <summary>Field number for the "scene_num_id" field.</summary>
  public const int SceneNumIdFieldNumber = 2;
  private int sceneNumId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int SceneNumId {
    get { return sceneNumId_; }
    set {
      sceneNumId_ = value;
    }
  }

  /// <summary>Field number for the "value" field.</summary>
  public const int ValueFieldNumber = 3;
  private global::BattleInfo value_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleInfo Value {
    get { return value_; }
    set {
      value_ = value;
    }
  }

  /// <summary>Field number for the "source" field.</summary>
  public const int SourceFieldNumber = 4;
  private int source_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Source {
    get { return source_; }
    set {
      source_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleEntityValueModifyData);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleEntityValueModifyData other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (EntityInstId != other.EntityInstId) return false;
    if (SceneNumId != other.SceneNumId) return false;
    if (!object.Equals(Value, other.Value)) return false;
    if (Source != other.Source) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (EntityInstId != 0UL) hash ^= EntityInstId.GetHashCode();
    if (SceneNumId != 0) hash ^= SceneNumId.GetHashCode();
    if (value_ != null) hash ^= Value.GetHashCode();
    if (Source != 0) hash ^= Source.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (EntityInstId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(EntityInstId);
    }
    if (SceneNumId != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(SceneNumId);
    }
    if (value_ != null) {
      output.WriteRawTag(26);
      output.WriteMessage(Value);
    }
    if (Source != 0) {
      output.WriteRawTag(32);
      output.WriteInt32(Source);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (EntityInstId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(EntityInstId);
    }
    if (SceneNumId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(SceneNumId);
    }
    if (value_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Value);
    }
    if (Source != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Source);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleEntityValueModifyData other) {
    if (other == null) {
      return;
    }
    if (other.EntityInstId != 0UL) {
      EntityInstId = other.EntityInstId;
    }
    if (other.SceneNumId != 0) {
      SceneNumId = other.SceneNumId;
    }
    if (other.value_ != null) {
      if (value_ == null) {
        value_ = new global::BattleInfo();
      }
      Value.MergeFrom(other.Value);
    }
    if (other.Source != 0) {
      Source = other.Source;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          EntityInstId = input.ReadUInt64();
          break;
        }
        case 16: {
          SceneNumId = input.ReadInt32();
          break;
        }
        case 26: {
          if (value_ == null) {
            value_ = new global::BattleInfo();
          }
          input.ReadMessage(value_);
          break;
        }
        case 32: {
          Source = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class BattleInfo : pb::IMessage<BattleInfo> {
  private static readonly pb::MessageParser<BattleInfo> _parser = new pb::MessageParser<BattleInfo>(() => new BattleInfo());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleInfo> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[133]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleInfo() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleInfo(BattleInfo other) : this() {
    hp_ = other.hp_;
    ultimatesp_ = other.ultimatesp_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleInfo Clone() {
    return new BattleInfo(this);
  }

  /// <summary>Field number for the "hp" field.</summary>
  public const int HpFieldNumber = 1;
  private double hp_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public double Hp {
    get { return hp_; }
    set {
      hp_ = value;
    }
  }

  /// <summary>Field number for the "ultimatesp" field.</summary>
  public const int UltimatespFieldNumber = 2;
  private float ultimatesp_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public float Ultimatesp {
    get { return ultimatesp_; }
    set {
      ultimatesp_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleInfo);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleInfo other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(Hp, other.Hp)) return false;
    if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(Ultimatesp, other.Ultimatesp)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Hp != 0D) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(Hp);
    if (Ultimatesp != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(Ultimatesp);
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Hp != 0D) {
      output.WriteRawTag(9);
      output.WriteDouble(Hp);
    }
    if (Ultimatesp != 0F) {
      output.WriteRawTag(21);
      output.WriteFloat(Ultimatesp);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Hp != 0D) {
      size += 1 + 8;
    }
    if (Ultimatesp != 0F) {
      size += 1 + 4;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleInfo other) {
    if (other == null) {
      return;
    }
    if (other.Hp != 0D) {
      Hp = other.Hp;
    }
    if (other.Ultimatesp != 0F) {
      Ultimatesp = other.Ultimatesp;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 9: {
          Hp = input.ReadDouble();
          break;
        }
        case 21: {
          Ultimatesp = input.ReadFloat();
          break;
        }
      }
    }
  }

}

public sealed partial class BattleResetBattleDataOpData : pb::IMessage<BattleResetBattleDataOpData> {
  private static readonly pb::MessageParser<BattleResetBattleDataOpData> _parser = new pb::MessageParser<BattleResetBattleDataOpData>(() => new BattleResetBattleDataOpData());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleResetBattleDataOpData> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[134]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleResetBattleDataOpData() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleResetBattleDataOpData(BattleResetBattleDataOpData other) : this() {
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleResetBattleDataOpData Clone() {
    return new BattleResetBattleDataOpData(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleResetBattleDataOpData);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleResetBattleDataOpData other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleResetBattleDataOpData other) {
    if (other == null) {
      return;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
      }
    }
  }

}

public sealed partial class BattleUpdateDataVersionOpData : pb::IMessage<BattleUpdateDataVersionOpData> {
  private static readonly pb::MessageParser<BattleUpdateDataVersionOpData> _parser = new pb::MessageParser<BattleUpdateDataVersionOpData>(() => new BattleUpdateDataVersionOpData());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleUpdateDataVersionOpData> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[135]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleUpdateDataVersionOpData() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleUpdateDataVersionOpData(BattleUpdateDataVersionOpData other) : this() {
    clientDataVersion_ = other.clientDataVersion_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleUpdateDataVersionOpData Clone() {
    return new BattleUpdateDataVersionOpData(this);
  }

  /// <summary>Field number for the "client_data_version" field.</summary>
  public const int ClientDataVersionFieldNumber = 1;
  private string clientDataVersion_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ClientDataVersion {
    get { return clientDataVersion_; }
    set {
      clientDataVersion_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleUpdateDataVersionOpData);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleUpdateDataVersionOpData other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ClientDataVersion != other.ClientDataVersion) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ClientDataVersion.Length != 0) hash ^= ClientDataVersion.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ClientDataVersion.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(ClientDataVersion);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ClientDataVersion.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ClientDataVersion);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleUpdateDataVersionOpData other) {
    if (other == null) {
      return;
    }
    if (other.ClientDataVersion.Length != 0) {
      ClientDataVersion = other.ClientDataVersion;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          ClientDataVersion = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class BattleActionJump : pb::IMessage<BattleActionJump> {
  private static readonly pb::MessageParser<BattleActionJump> _parser = new pb::MessageParser<BattleActionJump>(() => new BattleActionJump());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleActionJump> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[136]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleActionJump() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleActionJump(BattleActionJump other) : this() {
    actionType_ = other.actionType_;
    jumpToTag_ = other.jumpToTag_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleActionJump Clone() {
    return new BattleActionJump(this);
  }

  /// <summary>Field number for the "action_type" field.</summary>
  public const int ActionTypeFieldNumber = 1;
  private int actionType_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ActionType {
    get { return actionType_; }
    set {
      actionType_ = value;
    }
  }

  /// <summary>Field number for the "jump_to_tag" field.</summary>
  public const int JumpToTagFieldNumber = 2;
  private string jumpToTag_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string JumpToTag {
    get { return jumpToTag_; }
    set {
      jumpToTag_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleActionJump);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleActionJump other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ActionType != other.ActionType) return false;
    if (JumpToTag != other.JumpToTag) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ActionType != 0) hash ^= ActionType.GetHashCode();
    if (JumpToTag.Length != 0) hash ^= JumpToTag.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ActionType != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(ActionType);
    }
    if (JumpToTag.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(JumpToTag);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ActionType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ActionType);
    }
    if (JumpToTag.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(JumpToTag);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleActionJump other) {
    if (other == null) {
      return;
    }
    if (other.ActionType != 0) {
      ActionType = other.ActionType;
    }
    if (other.JumpToTag.Length != 0) {
      JumpToTag = other.JumpToTag;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ActionType = input.ReadInt32();
          break;
        }
        case 18: {
          JumpToTag = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class BuffRes : pb::IMessage<BuffRes> {
  private static readonly pb::MessageParser<BuffRes> _parser = new pb::MessageParser<BuffRes>(() => new BuffRes());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BuffRes> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[137]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BuffRes() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BuffRes(BuffRes other) : this() {
    buffId_ = other.buffId_;
    lifeType_ = other.lifeType_;
    attrModifiers_ = other.attrModifiers_.Clone();
    damageModifiers_ = other.damageModifiers_.Clone();
    healModifiers_ = other.healModifiers_.Clone();
    blackboard_ = other.blackboard_ != null ? other.blackboard_.Clone() : null;
    actionMap_ = other.actionMap_.Clone();
    applyTags_ = other.applyTags_.Clone();
    stackingSettings_ = other.stackingSettings_ != null ? other.stackingSettings_.Clone() : null;
    duration_ = other.duration_ != null ? other.duration_.Clone() : null;
    removeOnRepatriate_ = other.removeOnRepatriate_;
    stackingId_ = other.stackingId_;
    stackingType_ = other.stackingType_;
    maxStackCnt_ = other.maxStackCnt_;
    priority_ = other.priority_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BuffRes Clone() {
    return new BuffRes(this);
  }

  /// <summary>Field number for the "buff_id" field.</summary>
  public const int BuffIdFieldNumber = 1;
  private string buffId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string BuffId {
    get { return buffId_; }
    set {
      buffId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "life_type" field.</summary>
  public const int LifeTypeFieldNumber = 2;
  private int lifeType_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int LifeType {
    get { return lifeType_; }
    set {
      lifeType_ = value;
    }
  }

  /// <summary>Field number for the "attr_modifiers" field.</summary>
  public const int AttrModifiersFieldNumber = 3;
  private static readonly pb::FieldCodec<global::BattleAttrModifier> _repeated_attrModifiers_codec
      = pb::FieldCodec.ForMessage(26, global::BattleAttrModifier.Parser);
  private readonly pbc::RepeatedField<global::BattleAttrModifier> attrModifiers_ = new pbc::RepeatedField<global::BattleAttrModifier>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::BattleAttrModifier> AttrModifiers {
    get { return attrModifiers_; }
  }

  /// <summary>Field number for the "damage_modifiers" field.</summary>
  public const int DamageModifiersFieldNumber = 4;
  private static readonly pb::FieldCodec<global::BuffDamageModifierRes> _repeated_damageModifiers_codec
      = pb::FieldCodec.ForMessage(34, global::BuffDamageModifierRes.Parser);
  private readonly pbc::RepeatedField<global::BuffDamageModifierRes> damageModifiers_ = new pbc::RepeatedField<global::BuffDamageModifierRes>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::BuffDamageModifierRes> DamageModifiers {
    get { return damageModifiers_; }
  }

  /// <summary>Field number for the "heal_modifiers" field.</summary>
  public const int HealModifiersFieldNumber = 5;
  private static readonly pb::FieldCodec<global::BuffHealModifierRes> _repeated_healModifiers_codec
      = pb::FieldCodec.ForMessage(42, global::BuffHealModifierRes.Parser);
  private readonly pbc::RepeatedField<global::BuffHealModifierRes> healModifiers_ = new pbc::RepeatedField<global::BuffHealModifierRes>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::BuffHealModifierRes> HealModifiers {
    get { return healModifiers_; }
  }

  /// <summary>Field number for the "blackboard" field.</summary>
  public const int BlackboardFieldNumber = 6;
  private global::BattleBlackboard blackboard_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleBlackboard Blackboard {
    get { return blackboard_; }
    set {
      blackboard_ = value;
    }
  }

  /// <summary>Field number for the "action_map" field.</summary>
  public const int ActionMapFieldNumber = 7;
  private static readonly pbc::MapField<int, global::BattleActionRes>.Codec _map_actionMap_codec
      = new pbc::MapField<int, global::BattleActionRes>.Codec(pb::FieldCodec.ForInt32(8), pb::FieldCodec.ForMessage(18, global::BattleActionRes.Parser), 58);
  private readonly pbc::MapField<int, global::BattleActionRes> actionMap_ = new pbc::MapField<int, global::BattleActionRes>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<int, global::BattleActionRes> ActionMap {
    get { return actionMap_; }
  }

  /// <summary>Field number for the "apply_tags" field.</summary>
  public const int ApplyTagsFieldNumber = 8;
  private static readonly pb::FieldCodec<int> _repeated_applyTags_codec
      = pb::FieldCodec.ForInt32(66);
  private readonly pbc::RepeatedField<int> applyTags_ = new pbc::RepeatedField<int>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<int> ApplyTags {
    get { return applyTags_; }
  }

  /// <summary>Field number for the "stacking_settings" field.</summary>
  public const int StackingSettingsFieldNumber = 9;
  private global::BuffStackingSettings stackingSettings_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BuffStackingSettings StackingSettings {
    get { return stackingSettings_; }
    set {
      stackingSettings_ = value;
    }
  }

  /// <summary>Field number for the "duration" field.</summary>
  public const int DurationFieldNumber = 10;
  private global::BattleBlackboardFloat duration_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleBlackboardFloat Duration {
    get { return duration_; }
    set {
      duration_ = value;
    }
  }

  /// <summary>Field number for the "remove_on_repatriate" field.</summary>
  public const int RemoveOnRepatriateFieldNumber = 11;
  private bool removeOnRepatriate_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool RemoveOnRepatriate {
    get { return removeOnRepatriate_; }
    set {
      removeOnRepatriate_ = value;
    }
  }

  /// <summary>Field number for the "stacking_id" field.</summary>
  public const int StackingIdFieldNumber = 101;
  private string stackingId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string StackingId {
    get { return stackingId_; }
    set {
      stackingId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "stacking_type" field.</summary>
  public const int StackingTypeFieldNumber = 102;
  private int stackingType_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int StackingType {
    get { return stackingType_; }
    set {
      stackingType_ = value;
    }
  }

  /// <summary>Field number for the "max_stack_cnt" field.</summary>
  public const int MaxStackCntFieldNumber = 103;
  private int maxStackCnt_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int MaxStackCnt {
    get { return maxStackCnt_; }
    set {
      maxStackCnt_ = value;
    }
  }

  /// <summary>Field number for the "priority" field.</summary>
  public const int PriorityFieldNumber = 104;
  private int priority_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Priority {
    get { return priority_; }
    set {
      priority_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BuffRes);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BuffRes other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (BuffId != other.BuffId) return false;
    if (LifeType != other.LifeType) return false;
    if(!attrModifiers_.Equals(other.attrModifiers_)) return false;
    if(!damageModifiers_.Equals(other.damageModifiers_)) return false;
    if(!healModifiers_.Equals(other.healModifiers_)) return false;
    if (!object.Equals(Blackboard, other.Blackboard)) return false;
    if (!ActionMap.Equals(other.ActionMap)) return false;
    if(!applyTags_.Equals(other.applyTags_)) return false;
    if (!object.Equals(StackingSettings, other.StackingSettings)) return false;
    if (!object.Equals(Duration, other.Duration)) return false;
    if (RemoveOnRepatriate != other.RemoveOnRepatriate) return false;
    if (StackingId != other.StackingId) return false;
    if (StackingType != other.StackingType) return false;
    if (MaxStackCnt != other.MaxStackCnt) return false;
    if (Priority != other.Priority) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (BuffId.Length != 0) hash ^= BuffId.GetHashCode();
    if (LifeType != 0) hash ^= LifeType.GetHashCode();
    hash ^= attrModifiers_.GetHashCode();
    hash ^= damageModifiers_.GetHashCode();
    hash ^= healModifiers_.GetHashCode();
    if (blackboard_ != null) hash ^= Blackboard.GetHashCode();
    hash ^= ActionMap.GetHashCode();
    hash ^= applyTags_.GetHashCode();
    if (stackingSettings_ != null) hash ^= StackingSettings.GetHashCode();
    if (duration_ != null) hash ^= Duration.GetHashCode();
    if (RemoveOnRepatriate != false) hash ^= RemoveOnRepatriate.GetHashCode();
    if (StackingId.Length != 0) hash ^= StackingId.GetHashCode();
    if (StackingType != 0) hash ^= StackingType.GetHashCode();
    if (MaxStackCnt != 0) hash ^= MaxStackCnt.GetHashCode();
    if (Priority != 0) hash ^= Priority.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (BuffId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(BuffId);
    }
    if (LifeType != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(LifeType);
    }
    attrModifiers_.WriteTo(output, _repeated_attrModifiers_codec);
    damageModifiers_.WriteTo(output, _repeated_damageModifiers_codec);
    healModifiers_.WriteTo(output, _repeated_healModifiers_codec);
    if (blackboard_ != null) {
      output.WriteRawTag(50);
      output.WriteMessage(Blackboard);
    }
    actionMap_.WriteTo(output, _map_actionMap_codec);
    applyTags_.WriteTo(output, _repeated_applyTags_codec);
    if (stackingSettings_ != null) {
      output.WriteRawTag(74);
      output.WriteMessage(StackingSettings);
    }
    if (duration_ != null) {
      output.WriteRawTag(82);
      output.WriteMessage(Duration);
    }
    if (RemoveOnRepatriate != false) {
      output.WriteRawTag(88);
      output.WriteBool(RemoveOnRepatriate);
    }
    if (StackingId.Length != 0) {
      output.WriteRawTag(170, 6);
      output.WriteString(StackingId);
    }
    if (StackingType != 0) {
      output.WriteRawTag(176, 6);
      output.WriteInt32(StackingType);
    }
    if (MaxStackCnt != 0) {
      output.WriteRawTag(184, 6);
      output.WriteInt32(MaxStackCnt);
    }
    if (Priority != 0) {
      output.WriteRawTag(192, 6);
      output.WriteInt32(Priority);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (BuffId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(BuffId);
    }
    if (LifeType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(LifeType);
    }
    size += attrModifiers_.CalculateSize(_repeated_attrModifiers_codec);
    size += damageModifiers_.CalculateSize(_repeated_damageModifiers_codec);
    size += healModifiers_.CalculateSize(_repeated_healModifiers_codec);
    if (blackboard_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Blackboard);
    }
    size += actionMap_.CalculateSize(_map_actionMap_codec);
    size += applyTags_.CalculateSize(_repeated_applyTags_codec);
    if (stackingSettings_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(StackingSettings);
    }
    if (duration_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Duration);
    }
    if (RemoveOnRepatriate != false) {
      size += 1 + 1;
    }
    if (StackingId.Length != 0) {
      size += 2 + pb::CodedOutputStream.ComputeStringSize(StackingId);
    }
    if (StackingType != 0) {
      size += 2 + pb::CodedOutputStream.ComputeInt32Size(StackingType);
    }
    if (MaxStackCnt != 0) {
      size += 2 + pb::CodedOutputStream.ComputeInt32Size(MaxStackCnt);
    }
    if (Priority != 0) {
      size += 2 + pb::CodedOutputStream.ComputeInt32Size(Priority);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BuffRes other) {
    if (other == null) {
      return;
    }
    if (other.BuffId.Length != 0) {
      BuffId = other.BuffId;
    }
    if (other.LifeType != 0) {
      LifeType = other.LifeType;
    }
    attrModifiers_.Add(other.attrModifiers_);
    damageModifiers_.Add(other.damageModifiers_);
    healModifiers_.Add(other.healModifiers_);
    if (other.blackboard_ != null) {
      if (blackboard_ == null) {
        blackboard_ = new global::BattleBlackboard();
      }
      Blackboard.MergeFrom(other.Blackboard);
    }
    actionMap_.Add(other.actionMap_);
    applyTags_.Add(other.applyTags_);
    if (other.stackingSettings_ != null) {
      if (stackingSettings_ == null) {
        stackingSettings_ = new global::BuffStackingSettings();
      }
      StackingSettings.MergeFrom(other.StackingSettings);
    }
    if (other.duration_ != null) {
      if (duration_ == null) {
        duration_ = new global::BattleBlackboardFloat();
      }
      Duration.MergeFrom(other.Duration);
    }
    if (other.RemoveOnRepatriate != false) {
      RemoveOnRepatriate = other.RemoveOnRepatriate;
    }
    if (other.StackingId.Length != 0) {
      StackingId = other.StackingId;
    }
    if (other.StackingType != 0) {
      StackingType = other.StackingType;
    }
    if (other.MaxStackCnt != 0) {
      MaxStackCnt = other.MaxStackCnt;
    }
    if (other.Priority != 0) {
      Priority = other.Priority;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          BuffId = input.ReadString();
          break;
        }
        case 16: {
          LifeType = input.ReadInt32();
          break;
        }
        case 26: {
          attrModifiers_.AddEntriesFrom(input, _repeated_attrModifiers_codec);
          break;
        }
        case 34: {
          damageModifiers_.AddEntriesFrom(input, _repeated_damageModifiers_codec);
          break;
        }
        case 42: {
          healModifiers_.AddEntriesFrom(input, _repeated_healModifiers_codec);
          break;
        }
        case 50: {
          if (blackboard_ == null) {
            blackboard_ = new global::BattleBlackboard();
          }
          input.ReadMessage(blackboard_);
          break;
        }
        case 58: {
          actionMap_.AddEntriesFrom(input, _map_actionMap_codec);
          break;
        }
        case 66:
        case 64: {
          applyTags_.AddEntriesFrom(input, _repeated_applyTags_codec);
          break;
        }
        case 74: {
          if (stackingSettings_ == null) {
            stackingSettings_ = new global::BuffStackingSettings();
          }
          input.ReadMessage(stackingSettings_);
          break;
        }
        case 82: {
          if (duration_ == null) {
            duration_ = new global::BattleBlackboardFloat();
          }
          input.ReadMessage(duration_);
          break;
        }
        case 88: {
          RemoveOnRepatriate = input.ReadBool();
          break;
        }
        case 810: {
          StackingId = input.ReadString();
          break;
        }
        case 816: {
          StackingType = input.ReadInt32();
          break;
        }
        case 824: {
          MaxStackCnt = input.ReadInt32();
          break;
        }
        case 832: {
          Priority = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class BattleAttrModifier : pb::IMessage<BattleAttrModifier> {
  private static readonly pb::MessageParser<BattleAttrModifier> _parser = new pb::MessageParser<BattleAttrModifier>(() => new BattleAttrModifier());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleAttrModifier> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[138]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleAttrModifier() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleAttrModifier(BattleAttrModifier other) : this() {
    modifyAttrType_ = other.modifyAttrType_;
    attrType_ = other.attrType_;
    formulaItem_ = other.formulaItem_;
    param_ = other.param_ != null ? other.param_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleAttrModifier Clone() {
    return new BattleAttrModifier(this);
  }

  /// <summary>Field number for the "modify_attr_type" field.</summary>
  public const int ModifyAttrTypeFieldNumber = 1;
  private int modifyAttrType_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ModifyAttrType {
    get { return modifyAttrType_; }
    set {
      modifyAttrType_ = value;
    }
  }

  /// <summary>Field number for the "attr_type" field.</summary>
  public const int AttrTypeFieldNumber = 2;
  private int attrType_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int AttrType {
    get { return attrType_; }
    set {
      attrType_ = value;
    }
  }

  /// <summary>Field number for the "formula_item" field.</summary>
  public const int FormulaItemFieldNumber = 3;
  private int formulaItem_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int FormulaItem {
    get { return formulaItem_; }
    set {
      formulaItem_ = value;
    }
  }

  /// <summary>Field number for the "param" field.</summary>
  public const int ParamFieldNumber = 4;
  private global::BattleBlackboardFloat param_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleBlackboardFloat Param {
    get { return param_; }
    set {
      param_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleAttrModifier);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleAttrModifier other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ModifyAttrType != other.ModifyAttrType) return false;
    if (AttrType != other.AttrType) return false;
    if (FormulaItem != other.FormulaItem) return false;
    if (!object.Equals(Param, other.Param)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ModifyAttrType != 0) hash ^= ModifyAttrType.GetHashCode();
    if (AttrType != 0) hash ^= AttrType.GetHashCode();
    if (FormulaItem != 0) hash ^= FormulaItem.GetHashCode();
    if (param_ != null) hash ^= Param.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ModifyAttrType != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(ModifyAttrType);
    }
    if (AttrType != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(AttrType);
    }
    if (FormulaItem != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(FormulaItem);
    }
    if (param_ != null) {
      output.WriteRawTag(34);
      output.WriteMessage(Param);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ModifyAttrType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ModifyAttrType);
    }
    if (AttrType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(AttrType);
    }
    if (FormulaItem != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(FormulaItem);
    }
    if (param_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Param);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleAttrModifier other) {
    if (other == null) {
      return;
    }
    if (other.ModifyAttrType != 0) {
      ModifyAttrType = other.ModifyAttrType;
    }
    if (other.AttrType != 0) {
      AttrType = other.AttrType;
    }
    if (other.FormulaItem != 0) {
      FormulaItem = other.FormulaItem;
    }
    if (other.param_ != null) {
      if (param_ == null) {
        param_ = new global::BattleBlackboardFloat();
      }
      Param.MergeFrom(other.Param);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ModifyAttrType = input.ReadInt32();
          break;
        }
        case 16: {
          AttrType = input.ReadInt32();
          break;
        }
        case 24: {
          FormulaItem = input.ReadInt32();
          break;
        }
        case 34: {
          if (param_ == null) {
            param_ = new global::BattleBlackboardFloat();
          }
          input.ReadMessage(param_);
          break;
        }
      }
    }
  }

}

public sealed partial class BattleBlackboardFloat : pb::IMessage<BattleBlackboardFloat> {
  private static readonly pb::MessageParser<BattleBlackboardFloat> _parser = new pb::MessageParser<BattleBlackboardFloat>(() => new BattleBlackboardFloat());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleBlackboardFloat> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[139]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleBlackboardFloat() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleBlackboardFloat(BattleBlackboardFloat other) : this() {
    useBlackboardKey_ = other.useBlackboardKey_;
    blackboardKey_ = other.blackboardKey_;
    defaultValue_ = other.defaultValue_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleBlackboardFloat Clone() {
    return new BattleBlackboardFloat(this);
  }

  /// <summary>Field number for the "use_blackboard_key" field.</summary>
  public const int UseBlackboardKeyFieldNumber = 1;
  private bool useBlackboardKey_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool UseBlackboardKey {
    get { return useBlackboardKey_; }
    set {
      useBlackboardKey_ = value;
    }
  }

  /// <summary>Field number for the "blackboard_key" field.</summary>
  public const int BlackboardKeyFieldNumber = 2;
  private string blackboardKey_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string BlackboardKey {
    get { return blackboardKey_; }
    set {
      blackboardKey_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "default_value" field.</summary>
  public const int DefaultValueFieldNumber = 3;
  private double defaultValue_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public double DefaultValue {
    get { return defaultValue_; }
    set {
      defaultValue_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleBlackboardFloat);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleBlackboardFloat other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (UseBlackboardKey != other.UseBlackboardKey) return false;
    if (BlackboardKey != other.BlackboardKey) return false;
    if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(DefaultValue, other.DefaultValue)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (UseBlackboardKey != false) hash ^= UseBlackboardKey.GetHashCode();
    if (BlackboardKey.Length != 0) hash ^= BlackboardKey.GetHashCode();
    if (DefaultValue != 0D) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(DefaultValue);
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (UseBlackboardKey != false) {
      output.WriteRawTag(8);
      output.WriteBool(UseBlackboardKey);
    }
    if (BlackboardKey.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(BlackboardKey);
    }
    if (DefaultValue != 0D) {
      output.WriteRawTag(25);
      output.WriteDouble(DefaultValue);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (UseBlackboardKey != false) {
      size += 1 + 1;
    }
    if (BlackboardKey.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(BlackboardKey);
    }
    if (DefaultValue != 0D) {
      size += 1 + 8;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleBlackboardFloat other) {
    if (other == null) {
      return;
    }
    if (other.UseBlackboardKey != false) {
      UseBlackboardKey = other.UseBlackboardKey;
    }
    if (other.BlackboardKey.Length != 0) {
      BlackboardKey = other.BlackboardKey;
    }
    if (other.DefaultValue != 0D) {
      DefaultValue = other.DefaultValue;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          UseBlackboardKey = input.ReadBool();
          break;
        }
        case 18: {
          BlackboardKey = input.ReadString();
          break;
        }
        case 25: {
          DefaultValue = input.ReadDouble();
          break;
        }
      }
    }
  }

}

public sealed partial class BuffDamageModifierRes : pb::IMessage<BuffDamageModifierRes> {
  private static readonly pb::MessageParser<BuffDamageModifierRes> _parser = new pb::MessageParser<BuffDamageModifierRes>(() => new BuffDamageModifierRes());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BuffDamageModifierRes> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[140]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BuffDamageModifierRes() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BuffDamageModifierRes(BuffDamageModifierRes other) : this() {
    enableSide_ = other.enableSide_;
    index_ = other.index_;
    condActions_ = other.condActions_.Clone();
    damageProcessors_ = other.damageProcessors_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BuffDamageModifierRes Clone() {
    return new BuffDamageModifierRes(this);
  }

  /// <summary>Field number for the "enable_side" field.</summary>
  public const int EnableSideFieldNumber = 1;
  private int enableSide_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int EnableSide {
    get { return enableSide_; }
    set {
      enableSide_ = value;
    }
  }

  /// <summary>Field number for the "index" field.</summary>
  public const int IndexFieldNumber = 2;
  private int index_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Index {
    get { return index_; }
    set {
      index_ = value;
    }
  }

  /// <summary>Field number for the "cond_actions" field.</summary>
  public const int CondActionsFieldNumber = 3;
  private static readonly pb::FieldCodec<global::BattleActionRes> _repeated_condActions_codec
      = pb::FieldCodec.ForMessage(26, global::BattleActionRes.Parser);
  private readonly pbc::RepeatedField<global::BattleActionRes> condActions_ = new pbc::RepeatedField<global::BattleActionRes>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::BattleActionRes> CondActions {
    get { return condActions_; }
  }

  /// <summary>Field number for the "damage_processors" field.</summary>
  public const int DamageProcessorsFieldNumber = 4;
  private static readonly pb::FieldCodec<global::BattleDamageProcessor> _repeated_damageProcessors_codec
      = pb::FieldCodec.ForMessage(34, global::BattleDamageProcessor.Parser);
  private readonly pbc::RepeatedField<global::BattleDamageProcessor> damageProcessors_ = new pbc::RepeatedField<global::BattleDamageProcessor>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::BattleDamageProcessor> DamageProcessors {
    get { return damageProcessors_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BuffDamageModifierRes);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BuffDamageModifierRes other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (EnableSide != other.EnableSide) return false;
    if (Index != other.Index) return false;
    if(!condActions_.Equals(other.condActions_)) return false;
    if(!damageProcessors_.Equals(other.damageProcessors_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (EnableSide != 0) hash ^= EnableSide.GetHashCode();
    if (Index != 0) hash ^= Index.GetHashCode();
    hash ^= condActions_.GetHashCode();
    hash ^= damageProcessors_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (EnableSide != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(EnableSide);
    }
    if (Index != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(Index);
    }
    condActions_.WriteTo(output, _repeated_condActions_codec);
    damageProcessors_.WriteTo(output, _repeated_damageProcessors_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (EnableSide != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(EnableSide);
    }
    if (Index != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Index);
    }
    size += condActions_.CalculateSize(_repeated_condActions_codec);
    size += damageProcessors_.CalculateSize(_repeated_damageProcessors_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BuffDamageModifierRes other) {
    if (other == null) {
      return;
    }
    if (other.EnableSide != 0) {
      EnableSide = other.EnableSide;
    }
    if (other.Index != 0) {
      Index = other.Index;
    }
    condActions_.Add(other.condActions_);
    damageProcessors_.Add(other.damageProcessors_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          EnableSide = input.ReadInt32();
          break;
        }
        case 16: {
          Index = input.ReadInt32();
          break;
        }
        case 26: {
          condActions_.AddEntriesFrom(input, _repeated_condActions_codec);
          break;
        }
        case 34: {
          damageProcessors_.AddEntriesFrom(input, _repeated_damageProcessors_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class BattleActionRes : pb::IMessage<BattleActionRes> {
  private static readonly pb::MessageParser<BattleActionRes> _parser = new pb::MessageParser<BattleActionRes>(() => new BattleActionRes());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleActionRes> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[141]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleActionRes() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleActionRes(BattleActionRes other) : this() {
    actionId_ = other.actionId_;
    actionType_ = other.actionType_;
    switch (other.InstImplCase) {
      case InstImplOneofCase.DamageAction:
        DamageAction = other.DamageAction.Clone();
        break;
      case InstImplOneofCase.CreateBuffAction:
        CreateBuffAction = other.CreateBuffAction.Clone();
        break;
      case InstImplOneofCase.FinishBuffAction:
        FinishBuffAction = other.FinishBuffAction.Clone();
        break;
      case InstImplOneofCase.GainCostAction:
        GainCostAction = other.GainCostAction.Clone();
        break;
      case InstImplOneofCase.HealAction:
        HealAction = other.HealAction.Clone();
        break;
      case InstImplOneofCase.SwitchModeAction:
        SwitchModeAction = other.SwitchModeAction.Clone();
        break;
      case InstImplOneofCase.ModifyDynamicBlackboardAction:
        ModifyDynamicBlackboardAction = other.ModifyDynamicBlackboardAction.Clone();
        break;
      case InstImplOneofCase.SpawnEnemyAction:
        SpawnEnemyAction = other.SpawnEnemyAction.Clone();
        break;
      case InstImplOneofCase.CheckDamageTypeAction:
        CheckDamageTypeAction = other.CheckDamageTypeAction.Clone();
        break;
      case InstImplOneofCase.CheckDamageDecorateMaskAction:
        CheckDamageDecorateMaskAction = other.CheckDamageDecorateMaskAction.Clone();
        break;
      case InstImplOneofCase.CheckDistanceConditionAction:
        CheckDistanceConditionAction = other.CheckDistanceConditionAction.Clone();
        break;
      case InstImplOneofCase.CheckEntityNumAction:
        CheckEntityNumAction = other.CheckEntityNumAction.Clone();
        break;
      case InstImplOneofCase.CheckHpAction:
        CheckHpAction = other.CheckHpAction.Clone();
        break;
      case InstImplOneofCase.CheckIsCriticalDamageAction:
        CheckIsCriticalDamageAction = other.CheckIsCriticalDamageAction.Clone();
        break;
      case InstImplOneofCase.CheckMainCharacterAction:
        CheckMainCharacterAction = other.CheckMainCharacterAction.Clone();
        break;
      case InstImplOneofCase.CheckObjectTypeMatchAction:
        CheckObjectTypeMatchAction = other.CheckObjectTypeMatchAction.Clone();
        break;
      case InstImplOneofCase.CheckSkillTypeAction:
        CheckSkillTypeAction = other.CheckSkillTypeAction.Clone();
        break;
      case InstImplOneofCase.CheckSquadInFightAction:
        CheckSquadInFightAction = other.CheckSquadInFightAction.Clone();
        break;
      case InstImplOneofCase.CheckTagMatchAction:
        CheckTagMatchAction = other.CheckTagMatchAction.Clone();
        break;
      case InstImplOneofCase.CheckTargetAngleAction:
        CheckTargetAngleAction = other.CheckTargetAngleAction.Clone();
        break;
      case InstImplOneofCase.CompareFloatAction:
        CompareFloatAction = other.CompareFloatAction.Clone();
        break;
      case InstImplOneofCase.ProbabilityAction:
        ProbabilityAction = other.ProbabilityAction.Clone();
        break;
      case InstImplOneofCase.LaunchProjectileAction:
        LaunchProjectileAction = other.LaunchProjectileAction.Clone();
        break;
      case InstImplOneofCase.SpawnAbilityEntityAction:
        SpawnAbilityEntityAction = other.SpawnAbilityEntityAction.Clone();
        break;
      case InstImplOneofCase.SpawnCustomSummonAction:
        SpawnCustomSummonAction = other.SpawnCustomSummonAction.Clone();
        break;
      case InstImplOneofCase.RefreshBuffAttrModifierValueAction:
        RefreshBuffAttrModifierValueAction = other.RefreshBuffAttrModifierValueAction.Clone();
        break;
      case InstImplOneofCase.StoreAttributeValueAction:
        StoreAttributeValueAction = other.StoreAttributeValueAction.Clone();
        break;
      case InstImplOneofCase.SetBlackboardFromPresetAction:
        SetBlackboardFromPresetAction = other.SetBlackboardFromPresetAction.Clone();
        break;
      case InstImplOneofCase.EmptyRes:
        EmptyRes = other.EmptyRes.Clone();
        break;
    }

    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleActionRes Clone() {
    return new BattleActionRes(this);
  }

  /// <summary>Field number for the "action_id" field.</summary>
  public const int ActionIdFieldNumber = 1;
  private int actionId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ActionId {
    get { return actionId_; }
    set {
      actionId_ = value;
    }
  }

  /// <summary>Field number for the "action_type" field.</summary>
  public const int ActionTypeFieldNumber = 2;
  private global::ServerBattleActionType actionType_ = 0;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ServerBattleActionType ActionType {
    get { return actionType_; }
    set {
      actionType_ = value;
    }
  }

  /// <summary>Field number for the "damage_action" field.</summary>
  public const int DamageActionFieldNumber = 3;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleDamageActionData DamageAction {
    get { return instImplCase_ == InstImplOneofCase.DamageAction ? (global::BattleDamageActionData) instImpl_ : null; }
    set {
      instImpl_ = value;
      instImplCase_ = value == null ? InstImplOneofCase.None : InstImplOneofCase.DamageAction;
    }
  }

  /// <summary>Field number for the "create_buff_action" field.</summary>
  public const int CreateBuffActionFieldNumber = 4;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleCreateBuffActionData CreateBuffAction {
    get { return instImplCase_ == InstImplOneofCase.CreateBuffAction ? (global::BattleCreateBuffActionData) instImpl_ : null; }
    set {
      instImpl_ = value;
      instImplCase_ = value == null ? InstImplOneofCase.None : InstImplOneofCase.CreateBuffAction;
    }
  }

  /// <summary>Field number for the "finish_buff_action" field.</summary>
  public const int FinishBuffActionFieldNumber = 5;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleFinishBuffActionData FinishBuffAction {
    get { return instImplCase_ == InstImplOneofCase.FinishBuffAction ? (global::BattleFinishBuffActionData) instImpl_ : null; }
    set {
      instImpl_ = value;
      instImplCase_ = value == null ? InstImplOneofCase.None : InstImplOneofCase.FinishBuffAction;
    }
  }

  /// <summary>Field number for the "gain_cost_action" field.</summary>
  public const int GainCostActionFieldNumber = 6;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleGainCostActionData GainCostAction {
    get { return instImplCase_ == InstImplOneofCase.GainCostAction ? (global::BattleGainCostActionData) instImpl_ : null; }
    set {
      instImpl_ = value;
      instImplCase_ = value == null ? InstImplOneofCase.None : InstImplOneofCase.GainCostAction;
    }
  }

  /// <summary>Field number for the "heal_action" field.</summary>
  public const int HealActionFieldNumber = 7;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleHealActionData HealAction {
    get { return instImplCase_ == InstImplOneofCase.HealAction ? (global::BattleHealActionData) instImpl_ : null; }
    set {
      instImpl_ = value;
      instImplCase_ = value == null ? InstImplOneofCase.None : InstImplOneofCase.HealAction;
    }
  }

  /// <summary>Field number for the "switch_mode_action" field.</summary>
  public const int SwitchModeActionFieldNumber = 8;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleSwitchModeActionData SwitchModeAction {
    get { return instImplCase_ == InstImplOneofCase.SwitchModeAction ? (global::BattleSwitchModeActionData) instImpl_ : null; }
    set {
      instImpl_ = value;
      instImplCase_ = value == null ? InstImplOneofCase.None : InstImplOneofCase.SwitchModeAction;
    }
  }

  /// <summary>Field number for the "modify_dynamic_blackboard_action" field.</summary>
  public const int ModifyDynamicBlackboardActionFieldNumber = 9;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleModifyDynamicBlackboardActionData ModifyDynamicBlackboardAction {
    get { return instImplCase_ == InstImplOneofCase.ModifyDynamicBlackboardAction ? (global::BattleModifyDynamicBlackboardActionData) instImpl_ : null; }
    set {
      instImpl_ = value;
      instImplCase_ = value == null ? InstImplOneofCase.None : InstImplOneofCase.ModifyDynamicBlackboardAction;
    }
  }

  /// <summary>Field number for the "spawn_enemy_action" field.</summary>
  public const int SpawnEnemyActionFieldNumber = 10;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleSpawnEnemyActionData SpawnEnemyAction {
    get { return instImplCase_ == InstImplOneofCase.SpawnEnemyAction ? (global::BattleSpawnEnemyActionData) instImpl_ : null; }
    set {
      instImpl_ = value;
      instImplCase_ = value == null ? InstImplOneofCase.None : InstImplOneofCase.SpawnEnemyAction;
    }
  }

  /// <summary>Field number for the "check_damage_type_action" field.</summary>
  public const int CheckDamageTypeActionFieldNumber = 11;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleCheckDamageTypeActionData CheckDamageTypeAction {
    get { return instImplCase_ == InstImplOneofCase.CheckDamageTypeAction ? (global::BattleCheckDamageTypeActionData) instImpl_ : null; }
    set {
      instImpl_ = value;
      instImplCase_ = value == null ? InstImplOneofCase.None : InstImplOneofCase.CheckDamageTypeAction;
    }
  }

  /// <summary>Field number for the "check_damage_decorate_mask_action" field.</summary>
  public const int CheckDamageDecorateMaskActionFieldNumber = 12;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleCheckDamageDecorateMaskActionData CheckDamageDecorateMaskAction {
    get { return instImplCase_ == InstImplOneofCase.CheckDamageDecorateMaskAction ? (global::BattleCheckDamageDecorateMaskActionData) instImpl_ : null; }
    set {
      instImpl_ = value;
      instImplCase_ = value == null ? InstImplOneofCase.None : InstImplOneofCase.CheckDamageDecorateMaskAction;
    }
  }

  /// <summary>Field number for the "check_distance_condition_action" field.</summary>
  public const int CheckDistanceConditionActionFieldNumber = 13;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleCheckDistanceConditionActionData CheckDistanceConditionAction {
    get { return instImplCase_ == InstImplOneofCase.CheckDistanceConditionAction ? (global::BattleCheckDistanceConditionActionData) instImpl_ : null; }
    set {
      instImpl_ = value;
      instImplCase_ = value == null ? InstImplOneofCase.None : InstImplOneofCase.CheckDistanceConditionAction;
    }
  }

  /// <summary>Field number for the "check_entity_num_action" field.</summary>
  public const int CheckEntityNumActionFieldNumber = 14;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleCheckEntityNumActionData CheckEntityNumAction {
    get { return instImplCase_ == InstImplOneofCase.CheckEntityNumAction ? (global::BattleCheckEntityNumActionData) instImpl_ : null; }
    set {
      instImpl_ = value;
      instImplCase_ = value == null ? InstImplOneofCase.None : InstImplOneofCase.CheckEntityNumAction;
    }
  }

  /// <summary>Field number for the "check_hp_action" field.</summary>
  public const int CheckHpActionFieldNumber = 15;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleCheckHpActionData CheckHpAction {
    get { return instImplCase_ == InstImplOneofCase.CheckHpAction ? (global::BattleCheckHpActionData) instImpl_ : null; }
    set {
      instImpl_ = value;
      instImplCase_ = value == null ? InstImplOneofCase.None : InstImplOneofCase.CheckHpAction;
    }
  }

  /// <summary>Field number for the "check_is_critical_damage_action" field.</summary>
  public const int CheckIsCriticalDamageActionFieldNumber = 16;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleCheckIsCriticalDamageActionData CheckIsCriticalDamageAction {
    get { return instImplCase_ == InstImplOneofCase.CheckIsCriticalDamageAction ? (global::BattleCheckIsCriticalDamageActionData) instImpl_ : null; }
    set {
      instImpl_ = value;
      instImplCase_ = value == null ? InstImplOneofCase.None : InstImplOneofCase.CheckIsCriticalDamageAction;
    }
  }

  /// <summary>Field number for the "check_main_character_action" field.</summary>
  public const int CheckMainCharacterActionFieldNumber = 17;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleCheckMainCharacterActionData CheckMainCharacterAction {
    get { return instImplCase_ == InstImplOneofCase.CheckMainCharacterAction ? (global::BattleCheckMainCharacterActionData) instImpl_ : null; }
    set {
      instImpl_ = value;
      instImplCase_ = value == null ? InstImplOneofCase.None : InstImplOneofCase.CheckMainCharacterAction;
    }
  }

  /// <summary>Field number for the "check_object_type_match_action" field.</summary>
  public const int CheckObjectTypeMatchActionFieldNumber = 18;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleCheckObjectTypeMatchActionData CheckObjectTypeMatchAction {
    get { return instImplCase_ == InstImplOneofCase.CheckObjectTypeMatchAction ? (global::BattleCheckObjectTypeMatchActionData) instImpl_ : null; }
    set {
      instImpl_ = value;
      instImplCase_ = value == null ? InstImplOneofCase.None : InstImplOneofCase.CheckObjectTypeMatchAction;
    }
  }

  /// <summary>Field number for the "check_skill_type_action" field.</summary>
  public const int CheckSkillTypeActionFieldNumber = 19;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleCheckSkillTypeActionData CheckSkillTypeAction {
    get { return instImplCase_ == InstImplOneofCase.CheckSkillTypeAction ? (global::BattleCheckSkillTypeActionData) instImpl_ : null; }
    set {
      instImpl_ = value;
      instImplCase_ = value == null ? InstImplOneofCase.None : InstImplOneofCase.CheckSkillTypeAction;
    }
  }

  /// <summary>Field number for the "check_squad_in_fight_action" field.</summary>
  public const int CheckSquadInFightActionFieldNumber = 20;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleCheckSquadInFightActionData CheckSquadInFightAction {
    get { return instImplCase_ == InstImplOneofCase.CheckSquadInFightAction ? (global::BattleCheckSquadInFightActionData) instImpl_ : null; }
    set {
      instImpl_ = value;
      instImplCase_ = value == null ? InstImplOneofCase.None : InstImplOneofCase.CheckSquadInFightAction;
    }
  }

  /// <summary>Field number for the "check_tag_match_action" field.</summary>
  public const int CheckTagMatchActionFieldNumber = 21;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleCheckTagMatchActionData CheckTagMatchAction {
    get { return instImplCase_ == InstImplOneofCase.CheckTagMatchAction ? (global::BattleCheckTagMatchActionData) instImpl_ : null; }
    set {
      instImpl_ = value;
      instImplCase_ = value == null ? InstImplOneofCase.None : InstImplOneofCase.CheckTagMatchAction;
    }
  }

  /// <summary>Field number for the "check_target_angle_action" field.</summary>
  public const int CheckTargetAngleActionFieldNumber = 22;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleCheckTargetAngleActionData CheckTargetAngleAction {
    get { return instImplCase_ == InstImplOneofCase.CheckTargetAngleAction ? (global::BattleCheckTargetAngleActionData) instImpl_ : null; }
    set {
      instImpl_ = value;
      instImplCase_ = value == null ? InstImplOneofCase.None : InstImplOneofCase.CheckTargetAngleAction;
    }
  }

  /// <summary>Field number for the "compare_float_action" field.</summary>
  public const int CompareFloatActionFieldNumber = 23;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleCompareFloatActionData CompareFloatAction {
    get { return instImplCase_ == InstImplOneofCase.CompareFloatAction ? (global::BattleCompareFloatActionData) instImpl_ : null; }
    set {
      instImpl_ = value;
      instImplCase_ = value == null ? InstImplOneofCase.None : InstImplOneofCase.CompareFloatAction;
    }
  }

  /// <summary>Field number for the "probability_action" field.</summary>
  public const int ProbabilityActionFieldNumber = 24;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleProbabilityActionData ProbabilityAction {
    get { return instImplCase_ == InstImplOneofCase.ProbabilityAction ? (global::BattleProbabilityActionData) instImpl_ : null; }
    set {
      instImpl_ = value;
      instImplCase_ = value == null ? InstImplOneofCase.None : InstImplOneofCase.ProbabilityAction;
    }
  }

  /// <summary>Field number for the "launch_projectile_action" field.</summary>
  public const int LaunchProjectileActionFieldNumber = 25;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleLaunchProjectileActionData LaunchProjectileAction {
    get { return instImplCase_ == InstImplOneofCase.LaunchProjectileAction ? (global::BattleLaunchProjectileActionData) instImpl_ : null; }
    set {
      instImpl_ = value;
      instImplCase_ = value == null ? InstImplOneofCase.None : InstImplOneofCase.LaunchProjectileAction;
    }
  }

  /// <summary>Field number for the "spawn_ability_entity_action" field.</summary>
  public const int SpawnAbilityEntityActionFieldNumber = 26;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleSpawnAbilityEntityActionData SpawnAbilityEntityAction {
    get { return instImplCase_ == InstImplOneofCase.SpawnAbilityEntityAction ? (global::BattleSpawnAbilityEntityActionData) instImpl_ : null; }
    set {
      instImpl_ = value;
      instImplCase_ = value == null ? InstImplOneofCase.None : InstImplOneofCase.SpawnAbilityEntityAction;
    }
  }

  /// <summary>Field number for the "spawn_custom_summon_action" field.</summary>
  public const int SpawnCustomSummonActionFieldNumber = 27;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleSpawnCustomSummonActionData SpawnCustomSummonAction {
    get { return instImplCase_ == InstImplOneofCase.SpawnCustomSummonAction ? (global::BattleSpawnCustomSummonActionData) instImpl_ : null; }
    set {
      instImpl_ = value;
      instImplCase_ = value == null ? InstImplOneofCase.None : InstImplOneofCase.SpawnCustomSummonAction;
    }
  }

  /// <summary>Field number for the "refresh_buff_attr_modifier_value_action" field.</summary>
  public const int RefreshBuffAttrModifierValueActionFieldNumber = 28;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleRefreshBuffAttrModifierValueActionData RefreshBuffAttrModifierValueAction {
    get { return instImplCase_ == InstImplOneofCase.RefreshBuffAttrModifierValueAction ? (global::BattleRefreshBuffAttrModifierValueActionData) instImpl_ : null; }
    set {
      instImpl_ = value;
      instImplCase_ = value == null ? InstImplOneofCase.None : InstImplOneofCase.RefreshBuffAttrModifierValueAction;
    }
  }

  /// <summary>Field number for the "store_attribute_value_action" field.</summary>
  public const int StoreAttributeValueActionFieldNumber = 29;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleStoreAttributeValueActionData StoreAttributeValueAction {
    get { return instImplCase_ == InstImplOneofCase.StoreAttributeValueAction ? (global::BattleStoreAttributeValueActionData) instImpl_ : null; }
    set {
      instImpl_ = value;
      instImplCase_ = value == null ? InstImplOneofCase.None : InstImplOneofCase.StoreAttributeValueAction;
    }
  }

  /// <summary>Field number for the "set_blackboard_from_preset_action" field.</summary>
  public const int SetBlackboardFromPresetActionFieldNumber = 30;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleSetBlackboardFromPresetData SetBlackboardFromPresetAction {
    get { return instImplCase_ == InstImplOneofCase.SetBlackboardFromPresetAction ? (global::BattleSetBlackboardFromPresetData) instImpl_ : null; }
    set {
      instImpl_ = value;
      instImplCase_ = value == null ? InstImplOneofCase.None : InstImplOneofCase.SetBlackboardFromPresetAction;
    }
  }

  /// <summary>Field number for the "empty_res" field.</summary>
  public const int EmptyResFieldNumber = 999;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleActionEmptyRes EmptyRes {
    get { return instImplCase_ == InstImplOneofCase.EmptyRes ? (global::BattleActionEmptyRes) instImpl_ : null; }
    set {
      instImpl_ = value;
      instImplCase_ = value == null ? InstImplOneofCase.None : InstImplOneofCase.EmptyRes;
    }
  }

  private object instImpl_;
  /// <summary>Enum of possible cases for the "inst_impl" oneof.</summary>
  public enum InstImplOneofCase {
    None = 0,
    DamageAction = 3,
    CreateBuffAction = 4,
    FinishBuffAction = 5,
    GainCostAction = 6,
    HealAction = 7,
    SwitchModeAction = 8,
    ModifyDynamicBlackboardAction = 9,
    SpawnEnemyAction = 10,
    CheckDamageTypeAction = 11,
    CheckDamageDecorateMaskAction = 12,
    CheckDistanceConditionAction = 13,
    CheckEntityNumAction = 14,
    CheckHpAction = 15,
    CheckIsCriticalDamageAction = 16,
    CheckMainCharacterAction = 17,
    CheckObjectTypeMatchAction = 18,
    CheckSkillTypeAction = 19,
    CheckSquadInFightAction = 20,
    CheckTagMatchAction = 21,
    CheckTargetAngleAction = 22,
    CompareFloatAction = 23,
    ProbabilityAction = 24,
    LaunchProjectileAction = 25,
    SpawnAbilityEntityAction = 26,
    SpawnCustomSummonAction = 27,
    RefreshBuffAttrModifierValueAction = 28,
    StoreAttributeValueAction = 29,
    SetBlackboardFromPresetAction = 30,
    EmptyRes = 999,
  }
  private InstImplOneofCase instImplCase_ = InstImplOneofCase.None;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public InstImplOneofCase InstImplCase {
    get { return instImplCase_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void ClearInstImpl() {
    instImplCase_ = InstImplOneofCase.None;
    instImpl_ = null;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleActionRes);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleActionRes other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ActionId != other.ActionId) return false;
    if (ActionType != other.ActionType) return false;
    if (!object.Equals(DamageAction, other.DamageAction)) return false;
    if (!object.Equals(CreateBuffAction, other.CreateBuffAction)) return false;
    if (!object.Equals(FinishBuffAction, other.FinishBuffAction)) return false;
    if (!object.Equals(GainCostAction, other.GainCostAction)) return false;
    if (!object.Equals(HealAction, other.HealAction)) return false;
    if (!object.Equals(SwitchModeAction, other.SwitchModeAction)) return false;
    if (!object.Equals(ModifyDynamicBlackboardAction, other.ModifyDynamicBlackboardAction)) return false;
    if (!object.Equals(SpawnEnemyAction, other.SpawnEnemyAction)) return false;
    if (!object.Equals(CheckDamageTypeAction, other.CheckDamageTypeAction)) return false;
    if (!object.Equals(CheckDamageDecorateMaskAction, other.CheckDamageDecorateMaskAction)) return false;
    if (!object.Equals(CheckDistanceConditionAction, other.CheckDistanceConditionAction)) return false;
    if (!object.Equals(CheckEntityNumAction, other.CheckEntityNumAction)) return false;
    if (!object.Equals(CheckHpAction, other.CheckHpAction)) return false;
    if (!object.Equals(CheckIsCriticalDamageAction, other.CheckIsCriticalDamageAction)) return false;
    if (!object.Equals(CheckMainCharacterAction, other.CheckMainCharacterAction)) return false;
    if (!object.Equals(CheckObjectTypeMatchAction, other.CheckObjectTypeMatchAction)) return false;
    if (!object.Equals(CheckSkillTypeAction, other.CheckSkillTypeAction)) return false;
    if (!object.Equals(CheckSquadInFightAction, other.CheckSquadInFightAction)) return false;
    if (!object.Equals(CheckTagMatchAction, other.CheckTagMatchAction)) return false;
    if (!object.Equals(CheckTargetAngleAction, other.CheckTargetAngleAction)) return false;
    if (!object.Equals(CompareFloatAction, other.CompareFloatAction)) return false;
    if (!object.Equals(ProbabilityAction, other.ProbabilityAction)) return false;
    if (!object.Equals(LaunchProjectileAction, other.LaunchProjectileAction)) return false;
    if (!object.Equals(SpawnAbilityEntityAction, other.SpawnAbilityEntityAction)) return false;
    if (!object.Equals(SpawnCustomSummonAction, other.SpawnCustomSummonAction)) return false;
    if (!object.Equals(RefreshBuffAttrModifierValueAction, other.RefreshBuffAttrModifierValueAction)) return false;
    if (!object.Equals(StoreAttributeValueAction, other.StoreAttributeValueAction)) return false;
    if (!object.Equals(SetBlackboardFromPresetAction, other.SetBlackboardFromPresetAction)) return false;
    if (!object.Equals(EmptyRes, other.EmptyRes)) return false;
    if (InstImplCase != other.InstImplCase) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ActionId != 0) hash ^= ActionId.GetHashCode();
    if (ActionType != 0) hash ^= ActionType.GetHashCode();
    if (instImplCase_ == InstImplOneofCase.DamageAction) hash ^= DamageAction.GetHashCode();
    if (instImplCase_ == InstImplOneofCase.CreateBuffAction) hash ^= CreateBuffAction.GetHashCode();
    if (instImplCase_ == InstImplOneofCase.FinishBuffAction) hash ^= FinishBuffAction.GetHashCode();
    if (instImplCase_ == InstImplOneofCase.GainCostAction) hash ^= GainCostAction.GetHashCode();
    if (instImplCase_ == InstImplOneofCase.HealAction) hash ^= HealAction.GetHashCode();
    if (instImplCase_ == InstImplOneofCase.SwitchModeAction) hash ^= SwitchModeAction.GetHashCode();
    if (instImplCase_ == InstImplOneofCase.ModifyDynamicBlackboardAction) hash ^= ModifyDynamicBlackboardAction.GetHashCode();
    if (instImplCase_ == InstImplOneofCase.SpawnEnemyAction) hash ^= SpawnEnemyAction.GetHashCode();
    if (instImplCase_ == InstImplOneofCase.CheckDamageTypeAction) hash ^= CheckDamageTypeAction.GetHashCode();
    if (instImplCase_ == InstImplOneofCase.CheckDamageDecorateMaskAction) hash ^= CheckDamageDecorateMaskAction.GetHashCode();
    if (instImplCase_ == InstImplOneofCase.CheckDistanceConditionAction) hash ^= CheckDistanceConditionAction.GetHashCode();
    if (instImplCase_ == InstImplOneofCase.CheckEntityNumAction) hash ^= CheckEntityNumAction.GetHashCode();
    if (instImplCase_ == InstImplOneofCase.CheckHpAction) hash ^= CheckHpAction.GetHashCode();
    if (instImplCase_ == InstImplOneofCase.CheckIsCriticalDamageAction) hash ^= CheckIsCriticalDamageAction.GetHashCode();
    if (instImplCase_ == InstImplOneofCase.CheckMainCharacterAction) hash ^= CheckMainCharacterAction.GetHashCode();
    if (instImplCase_ == InstImplOneofCase.CheckObjectTypeMatchAction) hash ^= CheckObjectTypeMatchAction.GetHashCode();
    if (instImplCase_ == InstImplOneofCase.CheckSkillTypeAction) hash ^= CheckSkillTypeAction.GetHashCode();
    if (instImplCase_ == InstImplOneofCase.CheckSquadInFightAction) hash ^= CheckSquadInFightAction.GetHashCode();
    if (instImplCase_ == InstImplOneofCase.CheckTagMatchAction) hash ^= CheckTagMatchAction.GetHashCode();
    if (instImplCase_ == InstImplOneofCase.CheckTargetAngleAction) hash ^= CheckTargetAngleAction.GetHashCode();
    if (instImplCase_ == InstImplOneofCase.CompareFloatAction) hash ^= CompareFloatAction.GetHashCode();
    if (instImplCase_ == InstImplOneofCase.ProbabilityAction) hash ^= ProbabilityAction.GetHashCode();
    if (instImplCase_ == InstImplOneofCase.LaunchProjectileAction) hash ^= LaunchProjectileAction.GetHashCode();
    if (instImplCase_ == InstImplOneofCase.SpawnAbilityEntityAction) hash ^= SpawnAbilityEntityAction.GetHashCode();
    if (instImplCase_ == InstImplOneofCase.SpawnCustomSummonAction) hash ^= SpawnCustomSummonAction.GetHashCode();
    if (instImplCase_ == InstImplOneofCase.RefreshBuffAttrModifierValueAction) hash ^= RefreshBuffAttrModifierValueAction.GetHashCode();
    if (instImplCase_ == InstImplOneofCase.StoreAttributeValueAction) hash ^= StoreAttributeValueAction.GetHashCode();
    if (instImplCase_ == InstImplOneofCase.SetBlackboardFromPresetAction) hash ^= SetBlackboardFromPresetAction.GetHashCode();
    if (instImplCase_ == InstImplOneofCase.EmptyRes) hash ^= EmptyRes.GetHashCode();
    hash ^= (int) instImplCase_;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ActionId != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(ActionId);
    }
    if (ActionType != 0) {
      output.WriteRawTag(16);
      output.WriteEnum((int) ActionType);
    }
    if (instImplCase_ == InstImplOneofCase.DamageAction) {
      output.WriteRawTag(26);
      output.WriteMessage(DamageAction);
    }
    if (instImplCase_ == InstImplOneofCase.CreateBuffAction) {
      output.WriteRawTag(34);
      output.WriteMessage(CreateBuffAction);
    }
    if (instImplCase_ == InstImplOneofCase.FinishBuffAction) {
      output.WriteRawTag(42);
      output.WriteMessage(FinishBuffAction);
    }
    if (instImplCase_ == InstImplOneofCase.GainCostAction) {
      output.WriteRawTag(50);
      output.WriteMessage(GainCostAction);
    }
    if (instImplCase_ == InstImplOneofCase.HealAction) {
      output.WriteRawTag(58);
      output.WriteMessage(HealAction);
    }
    if (instImplCase_ == InstImplOneofCase.SwitchModeAction) {
      output.WriteRawTag(66);
      output.WriteMessage(SwitchModeAction);
    }
    if (instImplCase_ == InstImplOneofCase.ModifyDynamicBlackboardAction) {
      output.WriteRawTag(74);
      output.WriteMessage(ModifyDynamicBlackboardAction);
    }
    if (instImplCase_ == InstImplOneofCase.SpawnEnemyAction) {
      output.WriteRawTag(82);
      output.WriteMessage(SpawnEnemyAction);
    }
    if (instImplCase_ == InstImplOneofCase.CheckDamageTypeAction) {
      output.WriteRawTag(90);
      output.WriteMessage(CheckDamageTypeAction);
    }
    if (instImplCase_ == InstImplOneofCase.CheckDamageDecorateMaskAction) {
      output.WriteRawTag(98);
      output.WriteMessage(CheckDamageDecorateMaskAction);
    }
    if (instImplCase_ == InstImplOneofCase.CheckDistanceConditionAction) {
      output.WriteRawTag(106);
      output.WriteMessage(CheckDistanceConditionAction);
    }
    if (instImplCase_ == InstImplOneofCase.CheckEntityNumAction) {
      output.WriteRawTag(114);
      output.WriteMessage(CheckEntityNumAction);
    }
    if (instImplCase_ == InstImplOneofCase.CheckHpAction) {
      output.WriteRawTag(122);
      output.WriteMessage(CheckHpAction);
    }
    if (instImplCase_ == InstImplOneofCase.CheckIsCriticalDamageAction) {
      output.WriteRawTag(130, 1);
      output.WriteMessage(CheckIsCriticalDamageAction);
    }
    if (instImplCase_ == InstImplOneofCase.CheckMainCharacterAction) {
      output.WriteRawTag(138, 1);
      output.WriteMessage(CheckMainCharacterAction);
    }
    if (instImplCase_ == InstImplOneofCase.CheckObjectTypeMatchAction) {
      output.WriteRawTag(146, 1);
      output.WriteMessage(CheckObjectTypeMatchAction);
    }
    if (instImplCase_ == InstImplOneofCase.CheckSkillTypeAction) {
      output.WriteRawTag(154, 1);
      output.WriteMessage(CheckSkillTypeAction);
    }
    if (instImplCase_ == InstImplOneofCase.CheckSquadInFightAction) {
      output.WriteRawTag(162, 1);
      output.WriteMessage(CheckSquadInFightAction);
    }
    if (instImplCase_ == InstImplOneofCase.CheckTagMatchAction) {
      output.WriteRawTag(170, 1);
      output.WriteMessage(CheckTagMatchAction);
    }
    if (instImplCase_ == InstImplOneofCase.CheckTargetAngleAction) {
      output.WriteRawTag(178, 1);
      output.WriteMessage(CheckTargetAngleAction);
    }
    if (instImplCase_ == InstImplOneofCase.CompareFloatAction) {
      output.WriteRawTag(186, 1);
      output.WriteMessage(CompareFloatAction);
    }
    if (instImplCase_ == InstImplOneofCase.ProbabilityAction) {
      output.WriteRawTag(194, 1);
      output.WriteMessage(ProbabilityAction);
    }
    if (instImplCase_ == InstImplOneofCase.LaunchProjectileAction) {
      output.WriteRawTag(202, 1);
      output.WriteMessage(LaunchProjectileAction);
    }
    if (instImplCase_ == InstImplOneofCase.SpawnAbilityEntityAction) {
      output.WriteRawTag(210, 1);
      output.WriteMessage(SpawnAbilityEntityAction);
    }
    if (instImplCase_ == InstImplOneofCase.SpawnCustomSummonAction) {
      output.WriteRawTag(218, 1);
      output.WriteMessage(SpawnCustomSummonAction);
    }
    if (instImplCase_ == InstImplOneofCase.RefreshBuffAttrModifierValueAction) {
      output.WriteRawTag(226, 1);
      output.WriteMessage(RefreshBuffAttrModifierValueAction);
    }
    if (instImplCase_ == InstImplOneofCase.StoreAttributeValueAction) {
      output.WriteRawTag(234, 1);
      output.WriteMessage(StoreAttributeValueAction);
    }
    if (instImplCase_ == InstImplOneofCase.SetBlackboardFromPresetAction) {
      output.WriteRawTag(242, 1);
      output.WriteMessage(SetBlackboardFromPresetAction);
    }
    if (instImplCase_ == InstImplOneofCase.EmptyRes) {
      output.WriteRawTag(186, 62);
      output.WriteMessage(EmptyRes);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ActionId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ActionId);
    }
    if (ActionType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) ActionType);
    }
    if (instImplCase_ == InstImplOneofCase.DamageAction) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(DamageAction);
    }
    if (instImplCase_ == InstImplOneofCase.CreateBuffAction) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(CreateBuffAction);
    }
    if (instImplCase_ == InstImplOneofCase.FinishBuffAction) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(FinishBuffAction);
    }
    if (instImplCase_ == InstImplOneofCase.GainCostAction) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(GainCostAction);
    }
    if (instImplCase_ == InstImplOneofCase.HealAction) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(HealAction);
    }
    if (instImplCase_ == InstImplOneofCase.SwitchModeAction) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(SwitchModeAction);
    }
    if (instImplCase_ == InstImplOneofCase.ModifyDynamicBlackboardAction) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(ModifyDynamicBlackboardAction);
    }
    if (instImplCase_ == InstImplOneofCase.SpawnEnemyAction) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(SpawnEnemyAction);
    }
    if (instImplCase_ == InstImplOneofCase.CheckDamageTypeAction) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(CheckDamageTypeAction);
    }
    if (instImplCase_ == InstImplOneofCase.CheckDamageDecorateMaskAction) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(CheckDamageDecorateMaskAction);
    }
    if (instImplCase_ == InstImplOneofCase.CheckDistanceConditionAction) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(CheckDistanceConditionAction);
    }
    if (instImplCase_ == InstImplOneofCase.CheckEntityNumAction) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(CheckEntityNumAction);
    }
    if (instImplCase_ == InstImplOneofCase.CheckHpAction) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(CheckHpAction);
    }
    if (instImplCase_ == InstImplOneofCase.CheckIsCriticalDamageAction) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(CheckIsCriticalDamageAction);
    }
    if (instImplCase_ == InstImplOneofCase.CheckMainCharacterAction) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(CheckMainCharacterAction);
    }
    if (instImplCase_ == InstImplOneofCase.CheckObjectTypeMatchAction) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(CheckObjectTypeMatchAction);
    }
    if (instImplCase_ == InstImplOneofCase.CheckSkillTypeAction) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(CheckSkillTypeAction);
    }
    if (instImplCase_ == InstImplOneofCase.CheckSquadInFightAction) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(CheckSquadInFightAction);
    }
    if (instImplCase_ == InstImplOneofCase.CheckTagMatchAction) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(CheckTagMatchAction);
    }
    if (instImplCase_ == InstImplOneofCase.CheckTargetAngleAction) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(CheckTargetAngleAction);
    }
    if (instImplCase_ == InstImplOneofCase.CompareFloatAction) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(CompareFloatAction);
    }
    if (instImplCase_ == InstImplOneofCase.ProbabilityAction) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(ProbabilityAction);
    }
    if (instImplCase_ == InstImplOneofCase.LaunchProjectileAction) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(LaunchProjectileAction);
    }
    if (instImplCase_ == InstImplOneofCase.SpawnAbilityEntityAction) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(SpawnAbilityEntityAction);
    }
    if (instImplCase_ == InstImplOneofCase.SpawnCustomSummonAction) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(SpawnCustomSummonAction);
    }
    if (instImplCase_ == InstImplOneofCase.RefreshBuffAttrModifierValueAction) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(RefreshBuffAttrModifierValueAction);
    }
    if (instImplCase_ == InstImplOneofCase.StoreAttributeValueAction) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(StoreAttributeValueAction);
    }
    if (instImplCase_ == InstImplOneofCase.SetBlackboardFromPresetAction) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(SetBlackboardFromPresetAction);
    }
    if (instImplCase_ == InstImplOneofCase.EmptyRes) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(EmptyRes);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleActionRes other) {
    if (other == null) {
      return;
    }
    if (other.ActionId != 0) {
      ActionId = other.ActionId;
    }
    if (other.ActionType != 0) {
      ActionType = other.ActionType;
    }
    switch (other.InstImplCase) {
      case InstImplOneofCase.DamageAction:
        if (DamageAction == null) {
          DamageAction = new global::BattleDamageActionData();
        }
        DamageAction.MergeFrom(other.DamageAction);
        break;
      case InstImplOneofCase.CreateBuffAction:
        if (CreateBuffAction == null) {
          CreateBuffAction = new global::BattleCreateBuffActionData();
        }
        CreateBuffAction.MergeFrom(other.CreateBuffAction);
        break;
      case InstImplOneofCase.FinishBuffAction:
        if (FinishBuffAction == null) {
          FinishBuffAction = new global::BattleFinishBuffActionData();
        }
        FinishBuffAction.MergeFrom(other.FinishBuffAction);
        break;
      case InstImplOneofCase.GainCostAction:
        if (GainCostAction == null) {
          GainCostAction = new global::BattleGainCostActionData();
        }
        GainCostAction.MergeFrom(other.GainCostAction);
        break;
      case InstImplOneofCase.HealAction:
        if (HealAction == null) {
          HealAction = new global::BattleHealActionData();
        }
        HealAction.MergeFrom(other.HealAction);
        break;
      case InstImplOneofCase.SwitchModeAction:
        if (SwitchModeAction == null) {
          SwitchModeAction = new global::BattleSwitchModeActionData();
        }
        SwitchModeAction.MergeFrom(other.SwitchModeAction);
        break;
      case InstImplOneofCase.ModifyDynamicBlackboardAction:
        if (ModifyDynamicBlackboardAction == null) {
          ModifyDynamicBlackboardAction = new global::BattleModifyDynamicBlackboardActionData();
        }
        ModifyDynamicBlackboardAction.MergeFrom(other.ModifyDynamicBlackboardAction);
        break;
      case InstImplOneofCase.SpawnEnemyAction:
        if (SpawnEnemyAction == null) {
          SpawnEnemyAction = new global::BattleSpawnEnemyActionData();
        }
        SpawnEnemyAction.MergeFrom(other.SpawnEnemyAction);
        break;
      case InstImplOneofCase.CheckDamageTypeAction:
        if (CheckDamageTypeAction == null) {
          CheckDamageTypeAction = new global::BattleCheckDamageTypeActionData();
        }
        CheckDamageTypeAction.MergeFrom(other.CheckDamageTypeAction);
        break;
      case InstImplOneofCase.CheckDamageDecorateMaskAction:
        if (CheckDamageDecorateMaskAction == null) {
          CheckDamageDecorateMaskAction = new global::BattleCheckDamageDecorateMaskActionData();
        }
        CheckDamageDecorateMaskAction.MergeFrom(other.CheckDamageDecorateMaskAction);
        break;
      case InstImplOneofCase.CheckDistanceConditionAction:
        if (CheckDistanceConditionAction == null) {
          CheckDistanceConditionAction = new global::BattleCheckDistanceConditionActionData();
        }
        CheckDistanceConditionAction.MergeFrom(other.CheckDistanceConditionAction);
        break;
      case InstImplOneofCase.CheckEntityNumAction:
        if (CheckEntityNumAction == null) {
          CheckEntityNumAction = new global::BattleCheckEntityNumActionData();
        }
        CheckEntityNumAction.MergeFrom(other.CheckEntityNumAction);
        break;
      case InstImplOneofCase.CheckHpAction:
        if (CheckHpAction == null) {
          CheckHpAction = new global::BattleCheckHpActionData();
        }
        CheckHpAction.MergeFrom(other.CheckHpAction);
        break;
      case InstImplOneofCase.CheckIsCriticalDamageAction:
        if (CheckIsCriticalDamageAction == null) {
          CheckIsCriticalDamageAction = new global::BattleCheckIsCriticalDamageActionData();
        }
        CheckIsCriticalDamageAction.MergeFrom(other.CheckIsCriticalDamageAction);
        break;
      case InstImplOneofCase.CheckMainCharacterAction:
        if (CheckMainCharacterAction == null) {
          CheckMainCharacterAction = new global::BattleCheckMainCharacterActionData();
        }
        CheckMainCharacterAction.MergeFrom(other.CheckMainCharacterAction);
        break;
      case InstImplOneofCase.CheckObjectTypeMatchAction:
        if (CheckObjectTypeMatchAction == null) {
          CheckObjectTypeMatchAction = new global::BattleCheckObjectTypeMatchActionData();
        }
        CheckObjectTypeMatchAction.MergeFrom(other.CheckObjectTypeMatchAction);
        break;
      case InstImplOneofCase.CheckSkillTypeAction:
        if (CheckSkillTypeAction == null) {
          CheckSkillTypeAction = new global::BattleCheckSkillTypeActionData();
        }
        CheckSkillTypeAction.MergeFrom(other.CheckSkillTypeAction);
        break;
      case InstImplOneofCase.CheckSquadInFightAction:
        if (CheckSquadInFightAction == null) {
          CheckSquadInFightAction = new global::BattleCheckSquadInFightActionData();
        }
        CheckSquadInFightAction.MergeFrom(other.CheckSquadInFightAction);
        break;
      case InstImplOneofCase.CheckTagMatchAction:
        if (CheckTagMatchAction == null) {
          CheckTagMatchAction = new global::BattleCheckTagMatchActionData();
        }
        CheckTagMatchAction.MergeFrom(other.CheckTagMatchAction);
        break;
      case InstImplOneofCase.CheckTargetAngleAction:
        if (CheckTargetAngleAction == null) {
          CheckTargetAngleAction = new global::BattleCheckTargetAngleActionData();
        }
        CheckTargetAngleAction.MergeFrom(other.CheckTargetAngleAction);
        break;
      case InstImplOneofCase.CompareFloatAction:
        if (CompareFloatAction == null) {
          CompareFloatAction = new global::BattleCompareFloatActionData();
        }
        CompareFloatAction.MergeFrom(other.CompareFloatAction);
        break;
      case InstImplOneofCase.ProbabilityAction:
        if (ProbabilityAction == null) {
          ProbabilityAction = new global::BattleProbabilityActionData();
        }
        ProbabilityAction.MergeFrom(other.ProbabilityAction);
        break;
      case InstImplOneofCase.LaunchProjectileAction:
        if (LaunchProjectileAction == null) {
          LaunchProjectileAction = new global::BattleLaunchProjectileActionData();
        }
        LaunchProjectileAction.MergeFrom(other.LaunchProjectileAction);
        break;
      case InstImplOneofCase.SpawnAbilityEntityAction:
        if (SpawnAbilityEntityAction == null) {
          SpawnAbilityEntityAction = new global::BattleSpawnAbilityEntityActionData();
        }
        SpawnAbilityEntityAction.MergeFrom(other.SpawnAbilityEntityAction);
        break;
      case InstImplOneofCase.SpawnCustomSummonAction:
        if (SpawnCustomSummonAction == null) {
          SpawnCustomSummonAction = new global::BattleSpawnCustomSummonActionData();
        }
        SpawnCustomSummonAction.MergeFrom(other.SpawnCustomSummonAction);
        break;
      case InstImplOneofCase.RefreshBuffAttrModifierValueAction:
        if (RefreshBuffAttrModifierValueAction == null) {
          RefreshBuffAttrModifierValueAction = new global::BattleRefreshBuffAttrModifierValueActionData();
        }
        RefreshBuffAttrModifierValueAction.MergeFrom(other.RefreshBuffAttrModifierValueAction);
        break;
      case InstImplOneofCase.StoreAttributeValueAction:
        if (StoreAttributeValueAction == null) {
          StoreAttributeValueAction = new global::BattleStoreAttributeValueActionData();
        }
        StoreAttributeValueAction.MergeFrom(other.StoreAttributeValueAction);
        break;
      case InstImplOneofCase.SetBlackboardFromPresetAction:
        if (SetBlackboardFromPresetAction == null) {
          SetBlackboardFromPresetAction = new global::BattleSetBlackboardFromPresetData();
        }
        SetBlackboardFromPresetAction.MergeFrom(other.SetBlackboardFromPresetAction);
        break;
      case InstImplOneofCase.EmptyRes:
        if (EmptyRes == null) {
          EmptyRes = new global::BattleActionEmptyRes();
        }
        EmptyRes.MergeFrom(other.EmptyRes);
        break;
    }

    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ActionId = input.ReadInt32();
          break;
        }
        case 16: {
          actionType_ = (global::ServerBattleActionType) input.ReadEnum();
          break;
        }
        case 26: {
          global::BattleDamageActionData subBuilder = new global::BattleDamageActionData();
          if (instImplCase_ == InstImplOneofCase.DamageAction) {
            subBuilder.MergeFrom(DamageAction);
          }
          input.ReadMessage(subBuilder);
          DamageAction = subBuilder;
          break;
        }
        case 34: {
          global::BattleCreateBuffActionData subBuilder = new global::BattleCreateBuffActionData();
          if (instImplCase_ == InstImplOneofCase.CreateBuffAction) {
            subBuilder.MergeFrom(CreateBuffAction);
          }
          input.ReadMessage(subBuilder);
          CreateBuffAction = subBuilder;
          break;
        }
        case 42: {
          global::BattleFinishBuffActionData subBuilder = new global::BattleFinishBuffActionData();
          if (instImplCase_ == InstImplOneofCase.FinishBuffAction) {
            subBuilder.MergeFrom(FinishBuffAction);
          }
          input.ReadMessage(subBuilder);
          FinishBuffAction = subBuilder;
          break;
        }
        case 50: {
          global::BattleGainCostActionData subBuilder = new global::BattleGainCostActionData();
          if (instImplCase_ == InstImplOneofCase.GainCostAction) {
            subBuilder.MergeFrom(GainCostAction);
          }
          input.ReadMessage(subBuilder);
          GainCostAction = subBuilder;
          break;
        }
        case 58: {
          global::BattleHealActionData subBuilder = new global::BattleHealActionData();
          if (instImplCase_ == InstImplOneofCase.HealAction) {
            subBuilder.MergeFrom(HealAction);
          }
          input.ReadMessage(subBuilder);
          HealAction = subBuilder;
          break;
        }
        case 66: {
          global::BattleSwitchModeActionData subBuilder = new global::BattleSwitchModeActionData();
          if (instImplCase_ == InstImplOneofCase.SwitchModeAction) {
            subBuilder.MergeFrom(SwitchModeAction);
          }
          input.ReadMessage(subBuilder);
          SwitchModeAction = subBuilder;
          break;
        }
        case 74: {
          global::BattleModifyDynamicBlackboardActionData subBuilder = new global::BattleModifyDynamicBlackboardActionData();
          if (instImplCase_ == InstImplOneofCase.ModifyDynamicBlackboardAction) {
            subBuilder.MergeFrom(ModifyDynamicBlackboardAction);
          }
          input.ReadMessage(subBuilder);
          ModifyDynamicBlackboardAction = subBuilder;
          break;
        }
        case 82: {
          global::BattleSpawnEnemyActionData subBuilder = new global::BattleSpawnEnemyActionData();
          if (instImplCase_ == InstImplOneofCase.SpawnEnemyAction) {
            subBuilder.MergeFrom(SpawnEnemyAction);
          }
          input.ReadMessage(subBuilder);
          SpawnEnemyAction = subBuilder;
          break;
        }
        case 90: {
          global::BattleCheckDamageTypeActionData subBuilder = new global::BattleCheckDamageTypeActionData();
          if (instImplCase_ == InstImplOneofCase.CheckDamageTypeAction) {
            subBuilder.MergeFrom(CheckDamageTypeAction);
          }
          input.ReadMessage(subBuilder);
          CheckDamageTypeAction = subBuilder;
          break;
        }
        case 98: {
          global::BattleCheckDamageDecorateMaskActionData subBuilder = new global::BattleCheckDamageDecorateMaskActionData();
          if (instImplCase_ == InstImplOneofCase.CheckDamageDecorateMaskAction) {
            subBuilder.MergeFrom(CheckDamageDecorateMaskAction);
          }
          input.ReadMessage(subBuilder);
          CheckDamageDecorateMaskAction = subBuilder;
          break;
        }
        case 106: {
          global::BattleCheckDistanceConditionActionData subBuilder = new global::BattleCheckDistanceConditionActionData();
          if (instImplCase_ == InstImplOneofCase.CheckDistanceConditionAction) {
            subBuilder.MergeFrom(CheckDistanceConditionAction);
          }
          input.ReadMessage(subBuilder);
          CheckDistanceConditionAction = subBuilder;
          break;
        }
        case 114: {
          global::BattleCheckEntityNumActionData subBuilder = new global::BattleCheckEntityNumActionData();
          if (instImplCase_ == InstImplOneofCase.CheckEntityNumAction) {
            subBuilder.MergeFrom(CheckEntityNumAction);
          }
          input.ReadMessage(subBuilder);
          CheckEntityNumAction = subBuilder;
          break;
        }
        case 122: {
          global::BattleCheckHpActionData subBuilder = new global::BattleCheckHpActionData();
          if (instImplCase_ == InstImplOneofCase.CheckHpAction) {
            subBuilder.MergeFrom(CheckHpAction);
          }
          input.ReadMessage(subBuilder);
          CheckHpAction = subBuilder;
          break;
        }
        case 130: {
          global::BattleCheckIsCriticalDamageActionData subBuilder = new global::BattleCheckIsCriticalDamageActionData();
          if (instImplCase_ == InstImplOneofCase.CheckIsCriticalDamageAction) {
            subBuilder.MergeFrom(CheckIsCriticalDamageAction);
          }
          input.ReadMessage(subBuilder);
          CheckIsCriticalDamageAction = subBuilder;
          break;
        }
        case 138: {
          global::BattleCheckMainCharacterActionData subBuilder = new global::BattleCheckMainCharacterActionData();
          if (instImplCase_ == InstImplOneofCase.CheckMainCharacterAction) {
            subBuilder.MergeFrom(CheckMainCharacterAction);
          }
          input.ReadMessage(subBuilder);
          CheckMainCharacterAction = subBuilder;
          break;
        }
        case 146: {
          global::BattleCheckObjectTypeMatchActionData subBuilder = new global::BattleCheckObjectTypeMatchActionData();
          if (instImplCase_ == InstImplOneofCase.CheckObjectTypeMatchAction) {
            subBuilder.MergeFrom(CheckObjectTypeMatchAction);
          }
          input.ReadMessage(subBuilder);
          CheckObjectTypeMatchAction = subBuilder;
          break;
        }
        case 154: {
          global::BattleCheckSkillTypeActionData subBuilder = new global::BattleCheckSkillTypeActionData();
          if (instImplCase_ == InstImplOneofCase.CheckSkillTypeAction) {
            subBuilder.MergeFrom(CheckSkillTypeAction);
          }
          input.ReadMessage(subBuilder);
          CheckSkillTypeAction = subBuilder;
          break;
        }
        case 162: {
          global::BattleCheckSquadInFightActionData subBuilder = new global::BattleCheckSquadInFightActionData();
          if (instImplCase_ == InstImplOneofCase.CheckSquadInFightAction) {
            subBuilder.MergeFrom(CheckSquadInFightAction);
          }
          input.ReadMessage(subBuilder);
          CheckSquadInFightAction = subBuilder;
          break;
        }
        case 170: {
          global::BattleCheckTagMatchActionData subBuilder = new global::BattleCheckTagMatchActionData();
          if (instImplCase_ == InstImplOneofCase.CheckTagMatchAction) {
            subBuilder.MergeFrom(CheckTagMatchAction);
          }
          input.ReadMessage(subBuilder);
          CheckTagMatchAction = subBuilder;
          break;
        }
        case 178: {
          global::BattleCheckTargetAngleActionData subBuilder = new global::BattleCheckTargetAngleActionData();
          if (instImplCase_ == InstImplOneofCase.CheckTargetAngleAction) {
            subBuilder.MergeFrom(CheckTargetAngleAction);
          }
          input.ReadMessage(subBuilder);
          CheckTargetAngleAction = subBuilder;
          break;
        }
        case 186: {
          global::BattleCompareFloatActionData subBuilder = new global::BattleCompareFloatActionData();
          if (instImplCase_ == InstImplOneofCase.CompareFloatAction) {
            subBuilder.MergeFrom(CompareFloatAction);
          }
          input.ReadMessage(subBuilder);
          CompareFloatAction = subBuilder;
          break;
        }
        case 194: {
          global::BattleProbabilityActionData subBuilder = new global::BattleProbabilityActionData();
          if (instImplCase_ == InstImplOneofCase.ProbabilityAction) {
            subBuilder.MergeFrom(ProbabilityAction);
          }
          input.ReadMessage(subBuilder);
          ProbabilityAction = subBuilder;
          break;
        }
        case 202: {
          global::BattleLaunchProjectileActionData subBuilder = new global::BattleLaunchProjectileActionData();
          if (instImplCase_ == InstImplOneofCase.LaunchProjectileAction) {
            subBuilder.MergeFrom(LaunchProjectileAction);
          }
          input.ReadMessage(subBuilder);
          LaunchProjectileAction = subBuilder;
          break;
        }
        case 210: {
          global::BattleSpawnAbilityEntityActionData subBuilder = new global::BattleSpawnAbilityEntityActionData();
          if (instImplCase_ == InstImplOneofCase.SpawnAbilityEntityAction) {
            subBuilder.MergeFrom(SpawnAbilityEntityAction);
          }
          input.ReadMessage(subBuilder);
          SpawnAbilityEntityAction = subBuilder;
          break;
        }
        case 218: {
          global::BattleSpawnCustomSummonActionData subBuilder = new global::BattleSpawnCustomSummonActionData();
          if (instImplCase_ == InstImplOneofCase.SpawnCustomSummonAction) {
            subBuilder.MergeFrom(SpawnCustomSummonAction);
          }
          input.ReadMessage(subBuilder);
          SpawnCustomSummonAction = subBuilder;
          break;
        }
        case 226: {
          global::BattleRefreshBuffAttrModifierValueActionData subBuilder = new global::BattleRefreshBuffAttrModifierValueActionData();
          if (instImplCase_ == InstImplOneofCase.RefreshBuffAttrModifierValueAction) {
            subBuilder.MergeFrom(RefreshBuffAttrModifierValueAction);
          }
          input.ReadMessage(subBuilder);
          RefreshBuffAttrModifierValueAction = subBuilder;
          break;
        }
        case 234: {
          global::BattleStoreAttributeValueActionData subBuilder = new global::BattleStoreAttributeValueActionData();
          if (instImplCase_ == InstImplOneofCase.StoreAttributeValueAction) {
            subBuilder.MergeFrom(StoreAttributeValueAction);
          }
          input.ReadMessage(subBuilder);
          StoreAttributeValueAction = subBuilder;
          break;
        }
        case 242: {
          global::BattleSetBlackboardFromPresetData subBuilder = new global::BattleSetBlackboardFromPresetData();
          if (instImplCase_ == InstImplOneofCase.SetBlackboardFromPresetAction) {
            subBuilder.MergeFrom(SetBlackboardFromPresetAction);
          }
          input.ReadMessage(subBuilder);
          SetBlackboardFromPresetAction = subBuilder;
          break;
        }
        case 7994: {
          global::BattleActionEmptyRes subBuilder = new global::BattleActionEmptyRes();
          if (instImplCase_ == InstImplOneofCase.EmptyRes) {
            subBuilder.MergeFrom(EmptyRes);
          }
          input.ReadMessage(subBuilder);
          EmptyRes = subBuilder;
          break;
        }
      }
    }
  }

}

public sealed partial class BattleDamageActionData : pb::IMessage<BattleDamageActionData> {
  private static readonly pb::MessageParser<BattleDamageActionData> _parser = new pb::MessageParser<BattleDamageActionData>(() => new BattleDamageActionData());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleDamageActionData> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[142]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleDamageActionData() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleDamageActionData(BattleDamageActionData other) : this() {
    target_ = other.target_ != null ? other.target_.Clone() : null;
    attackerType_ = other.attackerType_;
    damageUnit_ = other.damageUnit_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleDamageActionData Clone() {
    return new BattleDamageActionData(this);
  }

  /// <summary>Field number for the "target" field.</summary>
  public const int TargetFieldNumber = 1;
  private global::BattleActionTargetSetting target_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleActionTargetSetting Target {
    get { return target_; }
    set {
      target_ = value;
    }
  }

  /// <summary>Field number for the "attacker_type" field.</summary>
  public const int AttackerTypeFieldNumber = 2;
  private int attackerType_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int AttackerType {
    get { return attackerType_; }
    set {
      attackerType_ = value;
    }
  }

  /// <summary>Field number for the "damage_unit" field.</summary>
  public const int DamageUnitFieldNumber = 3;
  private static readonly pb::FieldCodec<global::BattleActionDamageUnit> _repeated_damageUnit_codec
      = pb::FieldCodec.ForMessage(26, global::BattleActionDamageUnit.Parser);
  private readonly pbc::RepeatedField<global::BattleActionDamageUnit> damageUnit_ = new pbc::RepeatedField<global::BattleActionDamageUnit>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::BattleActionDamageUnit> DamageUnit {
    get { return damageUnit_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleDamageActionData);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleDamageActionData other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!object.Equals(Target, other.Target)) return false;
    if (AttackerType != other.AttackerType) return false;
    if(!damageUnit_.Equals(other.damageUnit_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (target_ != null) hash ^= Target.GetHashCode();
    if (AttackerType != 0) hash ^= AttackerType.GetHashCode();
    hash ^= damageUnit_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (target_ != null) {
      output.WriteRawTag(10);
      output.WriteMessage(Target);
    }
    if (AttackerType != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(AttackerType);
    }
    damageUnit_.WriteTo(output, _repeated_damageUnit_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (target_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Target);
    }
    if (AttackerType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(AttackerType);
    }
    size += damageUnit_.CalculateSize(_repeated_damageUnit_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleDamageActionData other) {
    if (other == null) {
      return;
    }
    if (other.target_ != null) {
      if (target_ == null) {
        target_ = new global::BattleActionTargetSetting();
      }
      Target.MergeFrom(other.Target);
    }
    if (other.AttackerType != 0) {
      AttackerType = other.AttackerType;
    }
    damageUnit_.Add(other.damageUnit_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          if (target_ == null) {
            target_ = new global::BattleActionTargetSetting();
          }
          input.ReadMessage(target_);
          break;
        }
        case 16: {
          AttackerType = input.ReadInt32();
          break;
        }
        case 26: {
          damageUnit_.AddEntriesFrom(input, _repeated_damageUnit_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class BattleActionTargetSetting : pb::IMessage<BattleActionTargetSetting> {
  private static readonly pb::MessageParser<BattleActionTargetSetting> _parser = new pb::MessageParser<BattleActionTargetSetting>(() => new BattleActionTargetSetting());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleActionTargetSetting> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[143]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleActionTargetSetting() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleActionTargetSetting(BattleActionTargetSetting other) : this() {
    targetSource_ = other.targetSource_;
    targetGroupKey_ = other.targetGroupKey_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleActionTargetSetting Clone() {
    return new BattleActionTargetSetting(this);
  }

  /// <summary>Field number for the "target_source" field.</summary>
  public const int TargetSourceFieldNumber = 1;
  private int targetSource_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int TargetSource {
    get { return targetSource_; }
    set {
      targetSource_ = value;
    }
  }

  /// <summary>Field number for the "target_group_key" field.</summary>
  public const int TargetGroupKeyFieldNumber = 2;
  private string targetGroupKey_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string TargetGroupKey {
    get { return targetGroupKey_; }
    set {
      targetGroupKey_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleActionTargetSetting);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleActionTargetSetting other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (TargetSource != other.TargetSource) return false;
    if (TargetGroupKey != other.TargetGroupKey) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (TargetSource != 0) hash ^= TargetSource.GetHashCode();
    if (TargetGroupKey.Length != 0) hash ^= TargetGroupKey.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (TargetSource != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(TargetSource);
    }
    if (TargetGroupKey.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(TargetGroupKey);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (TargetSource != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(TargetSource);
    }
    if (TargetGroupKey.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(TargetGroupKey);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleActionTargetSetting other) {
    if (other == null) {
      return;
    }
    if (other.TargetSource != 0) {
      TargetSource = other.TargetSource;
    }
    if (other.TargetGroupKey.Length != 0) {
      TargetGroupKey = other.TargetGroupKey;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          TargetSource = input.ReadInt32();
          break;
        }
        case 18: {
          TargetGroupKey = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class BattleActionDamageUnit : pb::IMessage<BattleActionDamageUnit> {
  private static readonly pb::MessageParser<BattleActionDamageUnit> _parser = new pb::MessageParser<BattleActionDamageUnit>(() => new BattleActionDamageUnit());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleActionDamageUnit> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[144]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleActionDamageUnit() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleActionDamageUnit(BattleActionDamageUnit other) : this() {
    damageType_ = other.damageType_;
    damageAttributeType_ = other.damageAttributeType_;
    damageDecorateMask_ = other.damageDecorateMask_;
    simpleCalculation_ = other.simpleCalculation_;
    atkScale_ = other.atkScale_ != null ? other.atkScale_.Clone() : null;
    atkCalculation_ = other.atkCalculation_ != null ? other.atkCalculation_.Clone() : null;
    damageProcessors_ = other.damageProcessors_.Clone();
    gainCost_ = other.gainCost_;
    costData_ = other.costData_.Clone();
    reduceDamageForGuard_ = other.reduceDamageForGuard_;
    reduceDamageForGuardRatio_ = other.reduceDamageForGuardRatio_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleActionDamageUnit Clone() {
    return new BattleActionDamageUnit(this);
  }

  /// <summary>Field number for the "damage_type" field.</summary>
  public const int DamageTypeFieldNumber = 1;
  private int damageType_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int DamageType {
    get { return damageType_; }
    set {
      damageType_ = value;
    }
  }

  /// <summary>Field number for the "damage_attribute_type" field.</summary>
  public const int DamageAttributeTypeFieldNumber = 2;
  private int damageAttributeType_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int DamageAttributeType {
    get { return damageAttributeType_; }
    set {
      damageAttributeType_ = value;
    }
  }

  /// <summary>Field number for the "damage_decorate_mask" field.</summary>
  public const int DamageDecorateMaskFieldNumber = 3;
  private int damageDecorateMask_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int DamageDecorateMask {
    get { return damageDecorateMask_; }
    set {
      damageDecorateMask_ = value;
    }
  }

  /// <summary>Field number for the "simple_calculation" field.</summary>
  public const int SimpleCalculationFieldNumber = 4;
  private bool simpleCalculation_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool SimpleCalculation {
    get { return simpleCalculation_; }
    set {
      simpleCalculation_ = value;
    }
  }

  /// <summary>Field number for the "atk_scale" field.</summary>
  public const int AtkScaleFieldNumber = 5;
  private global::BattleBlackboardFloat atkScale_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleBlackboardFloat AtkScale {
    get { return atkScale_; }
    set {
      atkScale_ = value;
    }
  }

  /// <summary>Field number for the "atk_calculation" field.</summary>
  public const int AtkCalculationFieldNumber = 6;
  private global::BattleDamageAtkCalculation atkCalculation_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleDamageAtkCalculation AtkCalculation {
    get { return atkCalculation_; }
    set {
      atkCalculation_ = value;
    }
  }

  /// <summary>Field number for the "damage_processors" field.</summary>
  public const int DamageProcessorsFieldNumber = 7;
  private static readonly pb::FieldCodec<global::BattleDamageProcessor> _repeated_damageProcessors_codec
      = pb::FieldCodec.ForMessage(58, global::BattleDamageProcessor.Parser);
  private readonly pbc::RepeatedField<global::BattleDamageProcessor> damageProcessors_ = new pbc::RepeatedField<global::BattleDamageProcessor>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::BattleDamageProcessor> DamageProcessors {
    get { return damageProcessors_; }
  }

  /// <summary>Field number for the "gain_cost" field.</summary>
  public const int GainCostFieldNumber = 8;
  private bool gainCost_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool GainCost {
    get { return gainCost_; }
    set {
      gainCost_ = value;
    }
  }

  /// <summary>Field number for the "cost_data" field.</summary>
  public const int CostDataFieldNumber = 9;
  private static readonly pb::FieldCodec<global::SkillCostData> _repeated_costData_codec
      = pb::FieldCodec.ForMessage(74, global::SkillCostData.Parser);
  private readonly pbc::RepeatedField<global::SkillCostData> costData_ = new pbc::RepeatedField<global::SkillCostData>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::SkillCostData> CostData {
    get { return costData_; }
  }

  /// <summary>Field number for the "reduce_damage_for_guard" field.</summary>
  public const int ReduceDamageForGuardFieldNumber = 10;
  private bool reduceDamageForGuard_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool ReduceDamageForGuard {
    get { return reduceDamageForGuard_; }
    set {
      reduceDamageForGuard_ = value;
    }
  }

  /// <summary>Field number for the "reduce_damage_for_guard_ratio" field.</summary>
  public const int ReduceDamageForGuardRatioFieldNumber = 11;
  private float reduceDamageForGuardRatio_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public float ReduceDamageForGuardRatio {
    get { return reduceDamageForGuardRatio_; }
    set {
      reduceDamageForGuardRatio_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleActionDamageUnit);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleActionDamageUnit other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (DamageType != other.DamageType) return false;
    if (DamageAttributeType != other.DamageAttributeType) return false;
    if (DamageDecorateMask != other.DamageDecorateMask) return false;
    if (SimpleCalculation != other.SimpleCalculation) return false;
    if (!object.Equals(AtkScale, other.AtkScale)) return false;
    if (!object.Equals(AtkCalculation, other.AtkCalculation)) return false;
    if(!damageProcessors_.Equals(other.damageProcessors_)) return false;
    if (GainCost != other.GainCost) return false;
    if(!costData_.Equals(other.costData_)) return false;
    if (ReduceDamageForGuard != other.ReduceDamageForGuard) return false;
    if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(ReduceDamageForGuardRatio, other.ReduceDamageForGuardRatio)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (DamageType != 0) hash ^= DamageType.GetHashCode();
    if (DamageAttributeType != 0) hash ^= DamageAttributeType.GetHashCode();
    if (DamageDecorateMask != 0) hash ^= DamageDecorateMask.GetHashCode();
    if (SimpleCalculation != false) hash ^= SimpleCalculation.GetHashCode();
    if (atkScale_ != null) hash ^= AtkScale.GetHashCode();
    if (atkCalculation_ != null) hash ^= AtkCalculation.GetHashCode();
    hash ^= damageProcessors_.GetHashCode();
    if (GainCost != false) hash ^= GainCost.GetHashCode();
    hash ^= costData_.GetHashCode();
    if (ReduceDamageForGuard != false) hash ^= ReduceDamageForGuard.GetHashCode();
    if (ReduceDamageForGuardRatio != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(ReduceDamageForGuardRatio);
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (DamageType != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(DamageType);
    }
    if (DamageAttributeType != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(DamageAttributeType);
    }
    if (DamageDecorateMask != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(DamageDecorateMask);
    }
    if (SimpleCalculation != false) {
      output.WriteRawTag(32);
      output.WriteBool(SimpleCalculation);
    }
    if (atkScale_ != null) {
      output.WriteRawTag(42);
      output.WriteMessage(AtkScale);
    }
    if (atkCalculation_ != null) {
      output.WriteRawTag(50);
      output.WriteMessage(AtkCalculation);
    }
    damageProcessors_.WriteTo(output, _repeated_damageProcessors_codec);
    if (GainCost != false) {
      output.WriteRawTag(64);
      output.WriteBool(GainCost);
    }
    costData_.WriteTo(output, _repeated_costData_codec);
    if (ReduceDamageForGuard != false) {
      output.WriteRawTag(80);
      output.WriteBool(ReduceDamageForGuard);
    }
    if (ReduceDamageForGuardRatio != 0F) {
      output.WriteRawTag(93);
      output.WriteFloat(ReduceDamageForGuardRatio);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (DamageType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(DamageType);
    }
    if (DamageAttributeType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(DamageAttributeType);
    }
    if (DamageDecorateMask != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(DamageDecorateMask);
    }
    if (SimpleCalculation != false) {
      size += 1 + 1;
    }
    if (atkScale_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(AtkScale);
    }
    if (atkCalculation_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(AtkCalculation);
    }
    size += damageProcessors_.CalculateSize(_repeated_damageProcessors_codec);
    if (GainCost != false) {
      size += 1 + 1;
    }
    size += costData_.CalculateSize(_repeated_costData_codec);
    if (ReduceDamageForGuard != false) {
      size += 1 + 1;
    }
    if (ReduceDamageForGuardRatio != 0F) {
      size += 1 + 4;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleActionDamageUnit other) {
    if (other == null) {
      return;
    }
    if (other.DamageType != 0) {
      DamageType = other.DamageType;
    }
    if (other.DamageAttributeType != 0) {
      DamageAttributeType = other.DamageAttributeType;
    }
    if (other.DamageDecorateMask != 0) {
      DamageDecorateMask = other.DamageDecorateMask;
    }
    if (other.SimpleCalculation != false) {
      SimpleCalculation = other.SimpleCalculation;
    }
    if (other.atkScale_ != null) {
      if (atkScale_ == null) {
        atkScale_ = new global::BattleBlackboardFloat();
      }
      AtkScale.MergeFrom(other.AtkScale);
    }
    if (other.atkCalculation_ != null) {
      if (atkCalculation_ == null) {
        atkCalculation_ = new global::BattleDamageAtkCalculation();
      }
      AtkCalculation.MergeFrom(other.AtkCalculation);
    }
    damageProcessors_.Add(other.damageProcessors_);
    if (other.GainCost != false) {
      GainCost = other.GainCost;
    }
    costData_.Add(other.costData_);
    if (other.ReduceDamageForGuard != false) {
      ReduceDamageForGuard = other.ReduceDamageForGuard;
    }
    if (other.ReduceDamageForGuardRatio != 0F) {
      ReduceDamageForGuardRatio = other.ReduceDamageForGuardRatio;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          DamageType = input.ReadInt32();
          break;
        }
        case 16: {
          DamageAttributeType = input.ReadInt32();
          break;
        }
        case 24: {
          DamageDecorateMask = input.ReadInt32();
          break;
        }
        case 32: {
          SimpleCalculation = input.ReadBool();
          break;
        }
        case 42: {
          if (atkScale_ == null) {
            atkScale_ = new global::BattleBlackboardFloat();
          }
          input.ReadMessage(atkScale_);
          break;
        }
        case 50: {
          if (atkCalculation_ == null) {
            atkCalculation_ = new global::BattleDamageAtkCalculation();
          }
          input.ReadMessage(atkCalculation_);
          break;
        }
        case 58: {
          damageProcessors_.AddEntriesFrom(input, _repeated_damageProcessors_codec);
          break;
        }
        case 64: {
          GainCost = input.ReadBool();
          break;
        }
        case 74: {
          costData_.AddEntriesFrom(input, _repeated_costData_codec);
          break;
        }
        case 80: {
          ReduceDamageForGuard = input.ReadBool();
          break;
        }
        case 93: {
          ReduceDamageForGuardRatio = input.ReadFloat();
          break;
        }
      }
    }
  }

}

public sealed partial class BattleDamageAtkCalculation : pb::IMessage<BattleDamageAtkCalculation> {
  private static readonly pb::MessageParser<BattleDamageAtkCalculation> _parser = new pb::MessageParser<BattleDamageAtkCalculation>(() => new BattleDamageAtkCalculation());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleDamageAtkCalculation> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[145]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleDamageAtkCalculation() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleDamageAtkCalculation(BattleDamageAtkCalculation other) : this() {
    type_ = other.type_;
    switch (other.CalculationImplCase) {
      case CalculationImplOneofCase.AtkScaleCalculation:
        AtkScaleCalculation = other.AtkScaleCalculation.Clone();
        break;
      case CalculationImplOneofCase.DefiniteValueCalculation:
        DefiniteValueCalculation = other.DefiniteValueCalculation.Clone();
        break;
      case CalculationImplOneofCase.MultiplyAttributeCalculation:
        MultiplyAttributeCalculation = other.MultiplyAttributeCalculation.Clone();
        break;
      case CalculationImplOneofCase.BreakingAttackCalculation:
        BreakingAttackCalculation = other.BreakingAttackCalculation.Clone();
        break;
      case CalculationImplOneofCase.PrimaryAttrCalculation:
        PrimaryAttrCalculation = other.PrimaryAttrCalculation.Clone();
        break;
    }

    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleDamageAtkCalculation Clone() {
    return new BattleDamageAtkCalculation(this);
  }

  /// <summary>Field number for the "type" field.</summary>
  public const int TypeFieldNumber = 1;
  private global::AtkCalculationType type_ = 0;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::AtkCalculationType Type {
    get { return type_; }
    set {
      type_ = value;
    }
  }

  /// <summary>Field number for the "atk_scale_calculation" field.</summary>
  public const int AtkScaleCalculationFieldNumber = 2;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::AtkScaleCalculation AtkScaleCalculation {
    get { return calculationImplCase_ == CalculationImplOneofCase.AtkScaleCalculation ? (global::AtkScaleCalculation) calculationImpl_ : null; }
    set {
      calculationImpl_ = value;
      calculationImplCase_ = value == null ? CalculationImplOneofCase.None : CalculationImplOneofCase.AtkScaleCalculation;
    }
  }

  /// <summary>Field number for the "definite_value_calculation" field.</summary>
  public const int DefiniteValueCalculationFieldNumber = 3;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::DefiniteValueCalculation DefiniteValueCalculation {
    get { return calculationImplCase_ == CalculationImplOneofCase.DefiniteValueCalculation ? (global::DefiniteValueCalculation) calculationImpl_ : null; }
    set {
      calculationImpl_ = value;
      calculationImplCase_ = value == null ? CalculationImplOneofCase.None : CalculationImplOneofCase.DefiniteValueCalculation;
    }
  }

  /// <summary>Field number for the "multiply_attribute_calculation" field.</summary>
  public const int MultiplyAttributeCalculationFieldNumber = 4;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::MultiplyAttributeCalculation MultiplyAttributeCalculation {
    get { return calculationImplCase_ == CalculationImplOneofCase.MultiplyAttributeCalculation ? (global::MultiplyAttributeCalculation) calculationImpl_ : null; }
    set {
      calculationImpl_ = value;
      calculationImplCase_ = value == null ? CalculationImplOneofCase.None : CalculationImplOneofCase.MultiplyAttributeCalculation;
    }
  }

  /// <summary>Field number for the "breaking_attack_calculation" field.</summary>
  public const int BreakingAttackCalculationFieldNumber = 5;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BreakingAttackCalculation BreakingAttackCalculation {
    get { return calculationImplCase_ == CalculationImplOneofCase.BreakingAttackCalculation ? (global::BreakingAttackCalculation) calculationImpl_ : null; }
    set {
      calculationImpl_ = value;
      calculationImplCase_ = value == null ? CalculationImplOneofCase.None : CalculationImplOneofCase.BreakingAttackCalculation;
    }
  }

  /// <summary>Field number for the "primary_attr_calculation" field.</summary>
  public const int PrimaryAttrCalculationFieldNumber = 6;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::PrimaryAttrCalculation PrimaryAttrCalculation {
    get { return calculationImplCase_ == CalculationImplOneofCase.PrimaryAttrCalculation ? (global::PrimaryAttrCalculation) calculationImpl_ : null; }
    set {
      calculationImpl_ = value;
      calculationImplCase_ = value == null ? CalculationImplOneofCase.None : CalculationImplOneofCase.PrimaryAttrCalculation;
    }
  }

  private object calculationImpl_;
  /// <summary>Enum of possible cases for the "calculation_impl" oneof.</summary>
  public enum CalculationImplOneofCase {
    None = 0,
    AtkScaleCalculation = 2,
    DefiniteValueCalculation = 3,
    MultiplyAttributeCalculation = 4,
    BreakingAttackCalculation = 5,
    PrimaryAttrCalculation = 6,
  }
  private CalculationImplOneofCase calculationImplCase_ = CalculationImplOneofCase.None;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CalculationImplOneofCase CalculationImplCase {
    get { return calculationImplCase_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void ClearCalculationImpl() {
    calculationImplCase_ = CalculationImplOneofCase.None;
    calculationImpl_ = null;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleDamageAtkCalculation);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleDamageAtkCalculation other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Type != other.Type) return false;
    if (!object.Equals(AtkScaleCalculation, other.AtkScaleCalculation)) return false;
    if (!object.Equals(DefiniteValueCalculation, other.DefiniteValueCalculation)) return false;
    if (!object.Equals(MultiplyAttributeCalculation, other.MultiplyAttributeCalculation)) return false;
    if (!object.Equals(BreakingAttackCalculation, other.BreakingAttackCalculation)) return false;
    if (!object.Equals(PrimaryAttrCalculation, other.PrimaryAttrCalculation)) return false;
    if (CalculationImplCase != other.CalculationImplCase) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Type != 0) hash ^= Type.GetHashCode();
    if (calculationImplCase_ == CalculationImplOneofCase.AtkScaleCalculation) hash ^= AtkScaleCalculation.GetHashCode();
    if (calculationImplCase_ == CalculationImplOneofCase.DefiniteValueCalculation) hash ^= DefiniteValueCalculation.GetHashCode();
    if (calculationImplCase_ == CalculationImplOneofCase.MultiplyAttributeCalculation) hash ^= MultiplyAttributeCalculation.GetHashCode();
    if (calculationImplCase_ == CalculationImplOneofCase.BreakingAttackCalculation) hash ^= BreakingAttackCalculation.GetHashCode();
    if (calculationImplCase_ == CalculationImplOneofCase.PrimaryAttrCalculation) hash ^= PrimaryAttrCalculation.GetHashCode();
    hash ^= (int) calculationImplCase_;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Type != 0) {
      output.WriteRawTag(8);
      output.WriteEnum((int) Type);
    }
    if (calculationImplCase_ == CalculationImplOneofCase.AtkScaleCalculation) {
      output.WriteRawTag(18);
      output.WriteMessage(AtkScaleCalculation);
    }
    if (calculationImplCase_ == CalculationImplOneofCase.DefiniteValueCalculation) {
      output.WriteRawTag(26);
      output.WriteMessage(DefiniteValueCalculation);
    }
    if (calculationImplCase_ == CalculationImplOneofCase.MultiplyAttributeCalculation) {
      output.WriteRawTag(34);
      output.WriteMessage(MultiplyAttributeCalculation);
    }
    if (calculationImplCase_ == CalculationImplOneofCase.BreakingAttackCalculation) {
      output.WriteRawTag(42);
      output.WriteMessage(BreakingAttackCalculation);
    }
    if (calculationImplCase_ == CalculationImplOneofCase.PrimaryAttrCalculation) {
      output.WriteRawTag(50);
      output.WriteMessage(PrimaryAttrCalculation);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Type != 0) {
      size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Type);
    }
    if (calculationImplCase_ == CalculationImplOneofCase.AtkScaleCalculation) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(AtkScaleCalculation);
    }
    if (calculationImplCase_ == CalculationImplOneofCase.DefiniteValueCalculation) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(DefiniteValueCalculation);
    }
    if (calculationImplCase_ == CalculationImplOneofCase.MultiplyAttributeCalculation) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(MultiplyAttributeCalculation);
    }
    if (calculationImplCase_ == CalculationImplOneofCase.BreakingAttackCalculation) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(BreakingAttackCalculation);
    }
    if (calculationImplCase_ == CalculationImplOneofCase.PrimaryAttrCalculation) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(PrimaryAttrCalculation);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleDamageAtkCalculation other) {
    if (other == null) {
      return;
    }
    if (other.Type != 0) {
      Type = other.Type;
    }
    switch (other.CalculationImplCase) {
      case CalculationImplOneofCase.AtkScaleCalculation:
        if (AtkScaleCalculation == null) {
          AtkScaleCalculation = new global::AtkScaleCalculation();
        }
        AtkScaleCalculation.MergeFrom(other.AtkScaleCalculation);
        break;
      case CalculationImplOneofCase.DefiniteValueCalculation:
        if (DefiniteValueCalculation == null) {
          DefiniteValueCalculation = new global::DefiniteValueCalculation();
        }
        DefiniteValueCalculation.MergeFrom(other.DefiniteValueCalculation);
        break;
      case CalculationImplOneofCase.MultiplyAttributeCalculation:
        if (MultiplyAttributeCalculation == null) {
          MultiplyAttributeCalculation = new global::MultiplyAttributeCalculation();
        }
        MultiplyAttributeCalculation.MergeFrom(other.MultiplyAttributeCalculation);
        break;
      case CalculationImplOneofCase.BreakingAttackCalculation:
        if (BreakingAttackCalculation == null) {
          BreakingAttackCalculation = new global::BreakingAttackCalculation();
        }
        BreakingAttackCalculation.MergeFrom(other.BreakingAttackCalculation);
        break;
      case CalculationImplOneofCase.PrimaryAttrCalculation:
        if (PrimaryAttrCalculation == null) {
          PrimaryAttrCalculation = new global::PrimaryAttrCalculation();
        }
        PrimaryAttrCalculation.MergeFrom(other.PrimaryAttrCalculation);
        break;
    }

    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          type_ = (global::AtkCalculationType) input.ReadEnum();
          break;
        }
        case 18: {
          global::AtkScaleCalculation subBuilder = new global::AtkScaleCalculation();
          if (calculationImplCase_ == CalculationImplOneofCase.AtkScaleCalculation) {
            subBuilder.MergeFrom(AtkScaleCalculation);
          }
          input.ReadMessage(subBuilder);
          AtkScaleCalculation = subBuilder;
          break;
        }
        case 26: {
          global::DefiniteValueCalculation subBuilder = new global::DefiniteValueCalculation();
          if (calculationImplCase_ == CalculationImplOneofCase.DefiniteValueCalculation) {
            subBuilder.MergeFrom(DefiniteValueCalculation);
          }
          input.ReadMessage(subBuilder);
          DefiniteValueCalculation = subBuilder;
          break;
        }
        case 34: {
          global::MultiplyAttributeCalculation subBuilder = new global::MultiplyAttributeCalculation();
          if (calculationImplCase_ == CalculationImplOneofCase.MultiplyAttributeCalculation) {
            subBuilder.MergeFrom(MultiplyAttributeCalculation);
          }
          input.ReadMessage(subBuilder);
          MultiplyAttributeCalculation = subBuilder;
          break;
        }
        case 42: {
          global::BreakingAttackCalculation subBuilder = new global::BreakingAttackCalculation();
          if (calculationImplCase_ == CalculationImplOneofCase.BreakingAttackCalculation) {
            subBuilder.MergeFrom(BreakingAttackCalculation);
          }
          input.ReadMessage(subBuilder);
          BreakingAttackCalculation = subBuilder;
          break;
        }
        case 50: {
          global::PrimaryAttrCalculation subBuilder = new global::PrimaryAttrCalculation();
          if (calculationImplCase_ == CalculationImplOneofCase.PrimaryAttrCalculation) {
            subBuilder.MergeFrom(PrimaryAttrCalculation);
          }
          input.ReadMessage(subBuilder);
          PrimaryAttrCalculation = subBuilder;
          break;
        }
      }
    }
  }

}

public sealed partial class AtkScaleCalculation : pb::IMessage<AtkScaleCalculation> {
  private static readonly pb::MessageParser<AtkScaleCalculation> _parser = new pb::MessageParser<AtkScaleCalculation>(() => new AtkScaleCalculation());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<AtkScaleCalculation> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[146]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public AtkScaleCalculation() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public AtkScaleCalculation(AtkScaleCalculation other) : this() {
    type_ = other.type_;
    atkScale_ = other.atkScale_ != null ? other.atkScale_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public AtkScaleCalculation Clone() {
    return new AtkScaleCalculation(this);
  }

  /// <summary>Field number for the "type" field.</summary>
  public const int TypeFieldNumber = 1;
  private global::AtkCalculationType type_ = 0;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::AtkCalculationType Type {
    get { return type_; }
    set {
      type_ = value;
    }
  }

  /// <summary>Field number for the "atk_scale" field.</summary>
  public const int AtkScaleFieldNumber = 2;
  private global::BattleBlackboardFloat atkScale_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleBlackboardFloat AtkScale {
    get { return atkScale_; }
    set {
      atkScale_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as AtkScaleCalculation);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(AtkScaleCalculation other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Type != other.Type) return false;
    if (!object.Equals(AtkScale, other.AtkScale)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Type != 0) hash ^= Type.GetHashCode();
    if (atkScale_ != null) hash ^= AtkScale.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Type != 0) {
      output.WriteRawTag(8);
      output.WriteEnum((int) Type);
    }
    if (atkScale_ != null) {
      output.WriteRawTag(18);
      output.WriteMessage(AtkScale);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Type != 0) {
      size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Type);
    }
    if (atkScale_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(AtkScale);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(AtkScaleCalculation other) {
    if (other == null) {
      return;
    }
    if (other.Type != 0) {
      Type = other.Type;
    }
    if (other.atkScale_ != null) {
      if (atkScale_ == null) {
        atkScale_ = new global::BattleBlackboardFloat();
      }
      AtkScale.MergeFrom(other.AtkScale);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          type_ = (global::AtkCalculationType) input.ReadEnum();
          break;
        }
        case 18: {
          if (atkScale_ == null) {
            atkScale_ = new global::BattleBlackboardFloat();
          }
          input.ReadMessage(atkScale_);
          break;
        }
      }
    }
  }

}

public sealed partial class DefiniteValueCalculation : pb::IMessage<DefiniteValueCalculation> {
  private static readonly pb::MessageParser<DefiniteValueCalculation> _parser = new pb::MessageParser<DefiniteValueCalculation>(() => new DefiniteValueCalculation());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<DefiniteValueCalculation> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[147]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public DefiniteValueCalculation() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public DefiniteValueCalculation(DefiniteValueCalculation other) : this() {
    type_ = other.type_;
    definiteValue_ = other.definiteValue_ != null ? other.definiteValue_.Clone() : null;
    applyScale_ = other.applyScale_;
    valueScale_ = other.valueScale_ != null ? other.valueScale_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public DefiniteValueCalculation Clone() {
    return new DefiniteValueCalculation(this);
  }

  /// <summary>Field number for the "type" field.</summary>
  public const int TypeFieldNumber = 1;
  private global::AtkCalculationType type_ = 0;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::AtkCalculationType Type {
    get { return type_; }
    set {
      type_ = value;
    }
  }

  /// <summary>Field number for the "definite_value" field.</summary>
  public const int DefiniteValueFieldNumber = 2;
  private global::BattleBlackboardFloat definiteValue_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleBlackboardFloat DefiniteValue {
    get { return definiteValue_; }
    set {
      definiteValue_ = value;
    }
  }

  /// <summary>Field number for the "apply_scale" field.</summary>
  public const int ApplyScaleFieldNumber = 3;
  private bool applyScale_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool ApplyScale {
    get { return applyScale_; }
    set {
      applyScale_ = value;
    }
  }

  /// <summary>Field number for the "value_scale" field.</summary>
  public const int ValueScaleFieldNumber = 4;
  private global::BattleBlackboardFloat valueScale_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleBlackboardFloat ValueScale {
    get { return valueScale_; }
    set {
      valueScale_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as DefiniteValueCalculation);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(DefiniteValueCalculation other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Type != other.Type) return false;
    if (!object.Equals(DefiniteValue, other.DefiniteValue)) return false;
    if (ApplyScale != other.ApplyScale) return false;
    if (!object.Equals(ValueScale, other.ValueScale)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Type != 0) hash ^= Type.GetHashCode();
    if (definiteValue_ != null) hash ^= DefiniteValue.GetHashCode();
    if (ApplyScale != false) hash ^= ApplyScale.GetHashCode();
    if (valueScale_ != null) hash ^= ValueScale.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Type != 0) {
      output.WriteRawTag(8);
      output.WriteEnum((int) Type);
    }
    if (definiteValue_ != null) {
      output.WriteRawTag(18);
      output.WriteMessage(DefiniteValue);
    }
    if (ApplyScale != false) {
      output.WriteRawTag(24);
      output.WriteBool(ApplyScale);
    }
    if (valueScale_ != null) {
      output.WriteRawTag(34);
      output.WriteMessage(ValueScale);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Type != 0) {
      size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Type);
    }
    if (definiteValue_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(DefiniteValue);
    }
    if (ApplyScale != false) {
      size += 1 + 1;
    }
    if (valueScale_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(ValueScale);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(DefiniteValueCalculation other) {
    if (other == null) {
      return;
    }
    if (other.Type != 0) {
      Type = other.Type;
    }
    if (other.definiteValue_ != null) {
      if (definiteValue_ == null) {
        definiteValue_ = new global::BattleBlackboardFloat();
      }
      DefiniteValue.MergeFrom(other.DefiniteValue);
    }
    if (other.ApplyScale != false) {
      ApplyScale = other.ApplyScale;
    }
    if (other.valueScale_ != null) {
      if (valueScale_ == null) {
        valueScale_ = new global::BattleBlackboardFloat();
      }
      ValueScale.MergeFrom(other.ValueScale);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          type_ = (global::AtkCalculationType) input.ReadEnum();
          break;
        }
        case 18: {
          if (definiteValue_ == null) {
            definiteValue_ = new global::BattleBlackboardFloat();
          }
          input.ReadMessage(definiteValue_);
          break;
        }
        case 24: {
          ApplyScale = input.ReadBool();
          break;
        }
        case 34: {
          if (valueScale_ == null) {
            valueScale_ = new global::BattleBlackboardFloat();
          }
          input.ReadMessage(valueScale_);
          break;
        }
      }
    }
  }

}

public sealed partial class MultiplyAttributeCalculation : pb::IMessage<MultiplyAttributeCalculation> {
  private static readonly pb::MessageParser<MultiplyAttributeCalculation> _parser = new pb::MessageParser<MultiplyAttributeCalculation>(() => new MultiplyAttributeCalculation());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<MultiplyAttributeCalculation> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[148]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public MultiplyAttributeCalculation() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public MultiplyAttributeCalculation(MultiplyAttributeCalculation other) : this() {
    type_ = other.type_;
    valueSource_ = other.valueSource_;
    attrType_ = other.attrType_;
    multiplier_ = other.multiplier_ != null ? other.multiplier_.Clone() : null;
    addValue_ = other.addValue_ != null ? other.addValue_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public MultiplyAttributeCalculation Clone() {
    return new MultiplyAttributeCalculation(this);
  }

  /// <summary>Field number for the "type" field.</summary>
  public const int TypeFieldNumber = 1;
  private global::AtkCalculationType type_ = 0;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::AtkCalculationType Type {
    get { return type_; }
    set {
      type_ = value;
    }
  }

  /// <summary>Field number for the "value_source" field.</summary>
  public const int ValueSourceFieldNumber = 2;
  private int valueSource_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ValueSource {
    get { return valueSource_; }
    set {
      valueSource_ = value;
    }
  }

  /// <summary>Field number for the "attr_type" field.</summary>
  public const int AttrTypeFieldNumber = 3;
  private int attrType_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int AttrType {
    get { return attrType_; }
    set {
      attrType_ = value;
    }
  }

  /// <summary>Field number for the "multiplier" field.</summary>
  public const int MultiplierFieldNumber = 4;
  private global::BattleBlackboardFloat multiplier_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleBlackboardFloat Multiplier {
    get { return multiplier_; }
    set {
      multiplier_ = value;
    }
  }

  /// <summary>Field number for the "add_value" field.</summary>
  public const int AddValueFieldNumber = 5;
  private global::BattleBlackboardFloat addValue_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleBlackboardFloat AddValue {
    get { return addValue_; }
    set {
      addValue_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as MultiplyAttributeCalculation);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(MultiplyAttributeCalculation other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Type != other.Type) return false;
    if (ValueSource != other.ValueSource) return false;
    if (AttrType != other.AttrType) return false;
    if (!object.Equals(Multiplier, other.Multiplier)) return false;
    if (!object.Equals(AddValue, other.AddValue)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Type != 0) hash ^= Type.GetHashCode();
    if (ValueSource != 0) hash ^= ValueSource.GetHashCode();
    if (AttrType != 0) hash ^= AttrType.GetHashCode();
    if (multiplier_ != null) hash ^= Multiplier.GetHashCode();
    if (addValue_ != null) hash ^= AddValue.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Type != 0) {
      output.WriteRawTag(8);
      output.WriteEnum((int) Type);
    }
    if (ValueSource != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(ValueSource);
    }
    if (AttrType != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(AttrType);
    }
    if (multiplier_ != null) {
      output.WriteRawTag(34);
      output.WriteMessage(Multiplier);
    }
    if (addValue_ != null) {
      output.WriteRawTag(42);
      output.WriteMessage(AddValue);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Type != 0) {
      size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Type);
    }
    if (ValueSource != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ValueSource);
    }
    if (AttrType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(AttrType);
    }
    if (multiplier_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Multiplier);
    }
    if (addValue_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(AddValue);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(MultiplyAttributeCalculation other) {
    if (other == null) {
      return;
    }
    if (other.Type != 0) {
      Type = other.Type;
    }
    if (other.ValueSource != 0) {
      ValueSource = other.ValueSource;
    }
    if (other.AttrType != 0) {
      AttrType = other.AttrType;
    }
    if (other.multiplier_ != null) {
      if (multiplier_ == null) {
        multiplier_ = new global::BattleBlackboardFloat();
      }
      Multiplier.MergeFrom(other.Multiplier);
    }
    if (other.addValue_ != null) {
      if (addValue_ == null) {
        addValue_ = new global::BattleBlackboardFloat();
      }
      AddValue.MergeFrom(other.AddValue);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          type_ = (global::AtkCalculationType) input.ReadEnum();
          break;
        }
        case 16: {
          ValueSource = input.ReadInt32();
          break;
        }
        case 24: {
          AttrType = input.ReadInt32();
          break;
        }
        case 34: {
          if (multiplier_ == null) {
            multiplier_ = new global::BattleBlackboardFloat();
          }
          input.ReadMessage(multiplier_);
          break;
        }
        case 42: {
          if (addValue_ == null) {
            addValue_ = new global::BattleBlackboardFloat();
          }
          input.ReadMessage(addValue_);
          break;
        }
      }
    }
  }

}

public sealed partial class BreakingAttackCalculation : pb::IMessage<BreakingAttackCalculation> {
  private static readonly pb::MessageParser<BreakingAttackCalculation> _parser = new pb::MessageParser<BreakingAttackCalculation>(() => new BreakingAttackCalculation());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BreakingAttackCalculation> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[149]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BreakingAttackCalculation() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BreakingAttackCalculation(BreakingAttackCalculation other) : this() {
    type_ = other.type_;
    atkScale_ = other.atkScale_ != null ? other.atkScale_.Clone() : null;
    multiplier_ = other.multiplier_ != null ? other.multiplier_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BreakingAttackCalculation Clone() {
    return new BreakingAttackCalculation(this);
  }

  /// <summary>Field number for the "type" field.</summary>
  public const int TypeFieldNumber = 1;
  private global::AtkCalculationType type_ = 0;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::AtkCalculationType Type {
    get { return type_; }
    set {
      type_ = value;
    }
  }

  /// <summary>Field number for the "atk_scale" field.</summary>
  public const int AtkScaleFieldNumber = 2;
  private global::BattleBlackboardFloat atkScale_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleBlackboardFloat AtkScale {
    get { return atkScale_; }
    set {
      atkScale_ = value;
    }
  }

  /// <summary>Field number for the "multiplier" field.</summary>
  public const int MultiplierFieldNumber = 3;
  private global::BattleBlackboardFloat multiplier_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleBlackboardFloat Multiplier {
    get { return multiplier_; }
    set {
      multiplier_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BreakingAttackCalculation);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BreakingAttackCalculation other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Type != other.Type) return false;
    if (!object.Equals(AtkScale, other.AtkScale)) return false;
    if (!object.Equals(Multiplier, other.Multiplier)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Type != 0) hash ^= Type.GetHashCode();
    if (atkScale_ != null) hash ^= AtkScale.GetHashCode();
    if (multiplier_ != null) hash ^= Multiplier.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Type != 0) {
      output.WriteRawTag(8);
      output.WriteEnum((int) Type);
    }
    if (atkScale_ != null) {
      output.WriteRawTag(18);
      output.WriteMessage(AtkScale);
    }
    if (multiplier_ != null) {
      output.WriteRawTag(26);
      output.WriteMessage(Multiplier);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Type != 0) {
      size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Type);
    }
    if (atkScale_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(AtkScale);
    }
    if (multiplier_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Multiplier);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BreakingAttackCalculation other) {
    if (other == null) {
      return;
    }
    if (other.Type != 0) {
      Type = other.Type;
    }
    if (other.atkScale_ != null) {
      if (atkScale_ == null) {
        atkScale_ = new global::BattleBlackboardFloat();
      }
      AtkScale.MergeFrom(other.AtkScale);
    }
    if (other.multiplier_ != null) {
      if (multiplier_ == null) {
        multiplier_ = new global::BattleBlackboardFloat();
      }
      Multiplier.MergeFrom(other.Multiplier);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          type_ = (global::AtkCalculationType) input.ReadEnum();
          break;
        }
        case 18: {
          if (atkScale_ == null) {
            atkScale_ = new global::BattleBlackboardFloat();
          }
          input.ReadMessage(atkScale_);
          break;
        }
        case 26: {
          if (multiplier_ == null) {
            multiplier_ = new global::BattleBlackboardFloat();
          }
          input.ReadMessage(multiplier_);
          break;
        }
      }
    }
  }

}

public sealed partial class PrimaryAttrCalculation : pb::IMessage<PrimaryAttrCalculation> {
  private static readonly pb::MessageParser<PrimaryAttrCalculation> _parser = new pb::MessageParser<PrimaryAttrCalculation>(() => new PrimaryAttrCalculation());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<PrimaryAttrCalculation> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[150]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public PrimaryAttrCalculation() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public PrimaryAttrCalculation(PrimaryAttrCalculation other) : this() {
    valueSource_ = other.valueSource_;
    attrType_ = other.attrType_;
    applyScale_ = other.applyScale_;
    valueScale_ = other.valueScale_ != null ? other.valueScale_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public PrimaryAttrCalculation Clone() {
    return new PrimaryAttrCalculation(this);
  }

  /// <summary>Field number for the "value_source" field.</summary>
  public const int ValueSourceFieldNumber = 1;
  private int valueSource_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ValueSource {
    get { return valueSource_; }
    set {
      valueSource_ = value;
    }
  }

  /// <summary>Field number for the "attr_type" field.</summary>
  public const int AttrTypeFieldNumber = 2;
  private int attrType_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int AttrType {
    get { return attrType_; }
    set {
      attrType_ = value;
    }
  }

  /// <summary>Field number for the "apply_scale" field.</summary>
  public const int ApplyScaleFieldNumber = 3;
  private bool applyScale_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool ApplyScale {
    get { return applyScale_; }
    set {
      applyScale_ = value;
    }
  }

  /// <summary>Field number for the "value_scale" field.</summary>
  public const int ValueScaleFieldNumber = 4;
  private global::BattleBlackboardFloat valueScale_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleBlackboardFloat ValueScale {
    get { return valueScale_; }
    set {
      valueScale_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as PrimaryAttrCalculation);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(PrimaryAttrCalculation other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ValueSource != other.ValueSource) return false;
    if (AttrType != other.AttrType) return false;
    if (ApplyScale != other.ApplyScale) return false;
    if (!object.Equals(ValueScale, other.ValueScale)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ValueSource != 0) hash ^= ValueSource.GetHashCode();
    if (AttrType != 0) hash ^= AttrType.GetHashCode();
    if (ApplyScale != false) hash ^= ApplyScale.GetHashCode();
    if (valueScale_ != null) hash ^= ValueScale.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ValueSource != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(ValueSource);
    }
    if (AttrType != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(AttrType);
    }
    if (ApplyScale != false) {
      output.WriteRawTag(24);
      output.WriteBool(ApplyScale);
    }
    if (valueScale_ != null) {
      output.WriteRawTag(34);
      output.WriteMessage(ValueScale);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ValueSource != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ValueSource);
    }
    if (AttrType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(AttrType);
    }
    if (ApplyScale != false) {
      size += 1 + 1;
    }
    if (valueScale_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(ValueScale);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(PrimaryAttrCalculation other) {
    if (other == null) {
      return;
    }
    if (other.ValueSource != 0) {
      ValueSource = other.ValueSource;
    }
    if (other.AttrType != 0) {
      AttrType = other.AttrType;
    }
    if (other.ApplyScale != false) {
      ApplyScale = other.ApplyScale;
    }
    if (other.valueScale_ != null) {
      if (valueScale_ == null) {
        valueScale_ = new global::BattleBlackboardFloat();
      }
      ValueScale.MergeFrom(other.ValueScale);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ValueSource = input.ReadInt32();
          break;
        }
        case 16: {
          AttrType = input.ReadInt32();
          break;
        }
        case 24: {
          ApplyScale = input.ReadBool();
          break;
        }
        case 34: {
          if (valueScale_ == null) {
            valueScale_ = new global::BattleBlackboardFloat();
          }
          input.ReadMessage(valueScale_);
          break;
        }
      }
    }
  }

}

public sealed partial class BattleDamageProcessor : pb::IMessage<BattleDamageProcessor> {
  private static readonly pb::MessageParser<BattleDamageProcessor> _parser = new pb::MessageParser<BattleDamageProcessor>(() => new BattleDamageProcessor());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleDamageProcessor> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[151]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleDamageProcessor() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleDamageProcessor(BattleDamageProcessor other) : this() {
    type_ = other.type_;
    switch (other.ProcessorImplCase) {
      case ProcessorImplOneofCase.AttackerCritRateProcessor:
        AttackerCritRateProcessor = other.AttackerCritRateProcessor.Clone();
        break;
      case ProcessorImplOneofCase.AttackerAtkProcessor:
        AttackerAtkProcessor = other.AttackerAtkProcessor.Clone();
        break;
      case ProcessorImplOneofCase.AttackerCritDamageProcessor:
        AttackerCritDamageProcessor = other.AttackerCritDamageProcessor.Clone();
        break;
      case ProcessorImplOneofCase.AttackerPenProcessor:
        AttackerPenProcessor = other.AttackerPenProcessor.Clone();
        break;
      case ProcessorImplOneofCase.DamageScaleProcessor:
        DamageScaleProcessor = other.DamageScaleProcessor.Clone();
        break;
      case ProcessorImplOneofCase.DefenderDefProcessor:
        DefenderDefProcessor = other.DefenderDefProcessor.Clone();
        break;
      case ProcessorImplOneofCase.ModifyCalulateResultProcessor:
        ModifyCalulateResultProcessor = other.ModifyCalulateResultProcessor.Clone();
        break;
      case ProcessorImplOneofCase.InstantModifyAttributeProcessor:
        InstantModifyAttributeProcessor = other.InstantModifyAttributeProcessor.Clone();
        break;
    }

    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleDamageProcessor Clone() {
    return new BattleDamageProcessor(this);
  }

  /// <summary>Field number for the "type" field.</summary>
  public const int TypeFieldNumber = 1;
  private global::DamageProcessorType type_ = 0;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::DamageProcessorType Type {
    get { return type_; }
    set {
      type_ = value;
    }
  }

  /// <summary>Field number for the "attacker_crit_rate_processor" field.</summary>
  public const int AttackerCritRateProcessorFieldNumber = 2;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::AttackerCritRateProcessor AttackerCritRateProcessor {
    get { return processorImplCase_ == ProcessorImplOneofCase.AttackerCritRateProcessor ? (global::AttackerCritRateProcessor) processorImpl_ : null; }
    set {
      processorImpl_ = value;
      processorImplCase_ = value == null ? ProcessorImplOneofCase.None : ProcessorImplOneofCase.AttackerCritRateProcessor;
    }
  }

  /// <summary>Field number for the "attacker_atk_processor" field.</summary>
  public const int AttackerAtkProcessorFieldNumber = 3;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::AttackerAtkProcessor AttackerAtkProcessor {
    get { return processorImplCase_ == ProcessorImplOneofCase.AttackerAtkProcessor ? (global::AttackerAtkProcessor) processorImpl_ : null; }
    set {
      processorImpl_ = value;
      processorImplCase_ = value == null ? ProcessorImplOneofCase.None : ProcessorImplOneofCase.AttackerAtkProcessor;
    }
  }

  /// <summary>Field number for the "attacker_crit_damage_processor" field.</summary>
  public const int AttackerCritDamageProcessorFieldNumber = 4;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::AttackerCritDamageProcessor AttackerCritDamageProcessor {
    get { return processorImplCase_ == ProcessorImplOneofCase.AttackerCritDamageProcessor ? (global::AttackerCritDamageProcessor) processorImpl_ : null; }
    set {
      processorImpl_ = value;
      processorImplCase_ = value == null ? ProcessorImplOneofCase.None : ProcessorImplOneofCase.AttackerCritDamageProcessor;
    }
  }

  /// <summary>Field number for the "attacker_pen_processor" field.</summary>
  public const int AttackerPenProcessorFieldNumber = 5;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::AttackerPenProcessor AttackerPenProcessor {
    get { return processorImplCase_ == ProcessorImplOneofCase.AttackerPenProcessor ? (global::AttackerPenProcessor) processorImpl_ : null; }
    set {
      processorImpl_ = value;
      processorImplCase_ = value == null ? ProcessorImplOneofCase.None : ProcessorImplOneofCase.AttackerPenProcessor;
    }
  }

  /// <summary>Field number for the "damage_scale_processor" field.</summary>
  public const int DamageScaleProcessorFieldNumber = 6;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::DamageScaleProcessor DamageScaleProcessor {
    get { return processorImplCase_ == ProcessorImplOneofCase.DamageScaleProcessor ? (global::DamageScaleProcessor) processorImpl_ : null; }
    set {
      processorImpl_ = value;
      processorImplCase_ = value == null ? ProcessorImplOneofCase.None : ProcessorImplOneofCase.DamageScaleProcessor;
    }
  }

  /// <summary>Field number for the "defender_def_processor" field.</summary>
  public const int DefenderDefProcessorFieldNumber = 7;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::DefenderDefProcessor DefenderDefProcessor {
    get { return processorImplCase_ == ProcessorImplOneofCase.DefenderDefProcessor ? (global::DefenderDefProcessor) processorImpl_ : null; }
    set {
      processorImpl_ = value;
      processorImplCase_ = value == null ? ProcessorImplOneofCase.None : ProcessorImplOneofCase.DefenderDefProcessor;
    }
  }

  /// <summary>Field number for the "modify_calulate_result_processor" field.</summary>
  public const int ModifyCalulateResultProcessorFieldNumber = 8;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ModifyCalculateResultProcessor ModifyCalulateResultProcessor {
    get { return processorImplCase_ == ProcessorImplOneofCase.ModifyCalulateResultProcessor ? (global::ModifyCalculateResultProcessor) processorImpl_ : null; }
    set {
      processorImpl_ = value;
      processorImplCase_ = value == null ? ProcessorImplOneofCase.None : ProcessorImplOneofCase.ModifyCalulateResultProcessor;
    }
  }

  /// <summary>Field number for the "instant_modify_attribute_processor" field.</summary>
  public const int InstantModifyAttributeProcessorFieldNumber = 9;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::InstantModifyAttributeProcessor InstantModifyAttributeProcessor {
    get { return processorImplCase_ == ProcessorImplOneofCase.InstantModifyAttributeProcessor ? (global::InstantModifyAttributeProcessor) processorImpl_ : null; }
    set {
      processorImpl_ = value;
      processorImplCase_ = value == null ? ProcessorImplOneofCase.None : ProcessorImplOneofCase.InstantModifyAttributeProcessor;
    }
  }

  private object processorImpl_;
  /// <summary>Enum of possible cases for the "processor_impl" oneof.</summary>
  public enum ProcessorImplOneofCase {
    None = 0,
    AttackerCritRateProcessor = 2,
    AttackerAtkProcessor = 3,
    AttackerCritDamageProcessor = 4,
    AttackerPenProcessor = 5,
    DamageScaleProcessor = 6,
    DefenderDefProcessor = 7,
    ModifyCalulateResultProcessor = 8,
    InstantModifyAttributeProcessor = 9,
  }
  private ProcessorImplOneofCase processorImplCase_ = ProcessorImplOneofCase.None;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ProcessorImplOneofCase ProcessorImplCase {
    get { return processorImplCase_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void ClearProcessorImpl() {
    processorImplCase_ = ProcessorImplOneofCase.None;
    processorImpl_ = null;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleDamageProcessor);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleDamageProcessor other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Type != other.Type) return false;
    if (!object.Equals(AttackerCritRateProcessor, other.AttackerCritRateProcessor)) return false;
    if (!object.Equals(AttackerAtkProcessor, other.AttackerAtkProcessor)) return false;
    if (!object.Equals(AttackerCritDamageProcessor, other.AttackerCritDamageProcessor)) return false;
    if (!object.Equals(AttackerPenProcessor, other.AttackerPenProcessor)) return false;
    if (!object.Equals(DamageScaleProcessor, other.DamageScaleProcessor)) return false;
    if (!object.Equals(DefenderDefProcessor, other.DefenderDefProcessor)) return false;
    if (!object.Equals(ModifyCalulateResultProcessor, other.ModifyCalulateResultProcessor)) return false;
    if (!object.Equals(InstantModifyAttributeProcessor, other.InstantModifyAttributeProcessor)) return false;
    if (ProcessorImplCase != other.ProcessorImplCase) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Type != 0) hash ^= Type.GetHashCode();
    if (processorImplCase_ == ProcessorImplOneofCase.AttackerCritRateProcessor) hash ^= AttackerCritRateProcessor.GetHashCode();
    if (processorImplCase_ == ProcessorImplOneofCase.AttackerAtkProcessor) hash ^= AttackerAtkProcessor.GetHashCode();
    if (processorImplCase_ == ProcessorImplOneofCase.AttackerCritDamageProcessor) hash ^= AttackerCritDamageProcessor.GetHashCode();
    if (processorImplCase_ == ProcessorImplOneofCase.AttackerPenProcessor) hash ^= AttackerPenProcessor.GetHashCode();
    if (processorImplCase_ == ProcessorImplOneofCase.DamageScaleProcessor) hash ^= DamageScaleProcessor.GetHashCode();
    if (processorImplCase_ == ProcessorImplOneofCase.DefenderDefProcessor) hash ^= DefenderDefProcessor.GetHashCode();
    if (processorImplCase_ == ProcessorImplOneofCase.ModifyCalulateResultProcessor) hash ^= ModifyCalulateResultProcessor.GetHashCode();
    if (processorImplCase_ == ProcessorImplOneofCase.InstantModifyAttributeProcessor) hash ^= InstantModifyAttributeProcessor.GetHashCode();
    hash ^= (int) processorImplCase_;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Type != 0) {
      output.WriteRawTag(8);
      output.WriteEnum((int) Type);
    }
    if (processorImplCase_ == ProcessorImplOneofCase.AttackerCritRateProcessor) {
      output.WriteRawTag(18);
      output.WriteMessage(AttackerCritRateProcessor);
    }
    if (processorImplCase_ == ProcessorImplOneofCase.AttackerAtkProcessor) {
      output.WriteRawTag(26);
      output.WriteMessage(AttackerAtkProcessor);
    }
    if (processorImplCase_ == ProcessorImplOneofCase.AttackerCritDamageProcessor) {
      output.WriteRawTag(34);
      output.WriteMessage(AttackerCritDamageProcessor);
    }
    if (processorImplCase_ == ProcessorImplOneofCase.AttackerPenProcessor) {
      output.WriteRawTag(42);
      output.WriteMessage(AttackerPenProcessor);
    }
    if (processorImplCase_ == ProcessorImplOneofCase.DamageScaleProcessor) {
      output.WriteRawTag(50);
      output.WriteMessage(DamageScaleProcessor);
    }
    if (processorImplCase_ == ProcessorImplOneofCase.DefenderDefProcessor) {
      output.WriteRawTag(58);
      output.WriteMessage(DefenderDefProcessor);
    }
    if (processorImplCase_ == ProcessorImplOneofCase.ModifyCalulateResultProcessor) {
      output.WriteRawTag(66);
      output.WriteMessage(ModifyCalulateResultProcessor);
    }
    if (processorImplCase_ == ProcessorImplOneofCase.InstantModifyAttributeProcessor) {
      output.WriteRawTag(74);
      output.WriteMessage(InstantModifyAttributeProcessor);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Type != 0) {
      size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Type);
    }
    if (processorImplCase_ == ProcessorImplOneofCase.AttackerCritRateProcessor) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(AttackerCritRateProcessor);
    }
    if (processorImplCase_ == ProcessorImplOneofCase.AttackerAtkProcessor) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(AttackerAtkProcessor);
    }
    if (processorImplCase_ == ProcessorImplOneofCase.AttackerCritDamageProcessor) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(AttackerCritDamageProcessor);
    }
    if (processorImplCase_ == ProcessorImplOneofCase.AttackerPenProcessor) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(AttackerPenProcessor);
    }
    if (processorImplCase_ == ProcessorImplOneofCase.DamageScaleProcessor) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(DamageScaleProcessor);
    }
    if (processorImplCase_ == ProcessorImplOneofCase.DefenderDefProcessor) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(DefenderDefProcessor);
    }
    if (processorImplCase_ == ProcessorImplOneofCase.ModifyCalulateResultProcessor) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(ModifyCalulateResultProcessor);
    }
    if (processorImplCase_ == ProcessorImplOneofCase.InstantModifyAttributeProcessor) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(InstantModifyAttributeProcessor);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleDamageProcessor other) {
    if (other == null) {
      return;
    }
    if (other.Type != 0) {
      Type = other.Type;
    }
    switch (other.ProcessorImplCase) {
      case ProcessorImplOneofCase.AttackerCritRateProcessor:
        if (AttackerCritRateProcessor == null) {
          AttackerCritRateProcessor = new global::AttackerCritRateProcessor();
        }
        AttackerCritRateProcessor.MergeFrom(other.AttackerCritRateProcessor);
        break;
      case ProcessorImplOneofCase.AttackerAtkProcessor:
        if (AttackerAtkProcessor == null) {
          AttackerAtkProcessor = new global::AttackerAtkProcessor();
        }
        AttackerAtkProcessor.MergeFrom(other.AttackerAtkProcessor);
        break;
      case ProcessorImplOneofCase.AttackerCritDamageProcessor:
        if (AttackerCritDamageProcessor == null) {
          AttackerCritDamageProcessor = new global::AttackerCritDamageProcessor();
        }
        AttackerCritDamageProcessor.MergeFrom(other.AttackerCritDamageProcessor);
        break;
      case ProcessorImplOneofCase.AttackerPenProcessor:
        if (AttackerPenProcessor == null) {
          AttackerPenProcessor = new global::AttackerPenProcessor();
        }
        AttackerPenProcessor.MergeFrom(other.AttackerPenProcessor);
        break;
      case ProcessorImplOneofCase.DamageScaleProcessor:
        if (DamageScaleProcessor == null) {
          DamageScaleProcessor = new global::DamageScaleProcessor();
        }
        DamageScaleProcessor.MergeFrom(other.DamageScaleProcessor);
        break;
      case ProcessorImplOneofCase.DefenderDefProcessor:
        if (DefenderDefProcessor == null) {
          DefenderDefProcessor = new global::DefenderDefProcessor();
        }
        DefenderDefProcessor.MergeFrom(other.DefenderDefProcessor);
        break;
      case ProcessorImplOneofCase.ModifyCalulateResultProcessor:
        if (ModifyCalulateResultProcessor == null) {
          ModifyCalulateResultProcessor = new global::ModifyCalculateResultProcessor();
        }
        ModifyCalulateResultProcessor.MergeFrom(other.ModifyCalulateResultProcessor);
        break;
      case ProcessorImplOneofCase.InstantModifyAttributeProcessor:
        if (InstantModifyAttributeProcessor == null) {
          InstantModifyAttributeProcessor = new global::InstantModifyAttributeProcessor();
        }
        InstantModifyAttributeProcessor.MergeFrom(other.InstantModifyAttributeProcessor);
        break;
    }

    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          type_ = (global::DamageProcessorType) input.ReadEnum();
          break;
        }
        case 18: {
          global::AttackerCritRateProcessor subBuilder = new global::AttackerCritRateProcessor();
          if (processorImplCase_ == ProcessorImplOneofCase.AttackerCritRateProcessor) {
            subBuilder.MergeFrom(AttackerCritRateProcessor);
          }
          input.ReadMessage(subBuilder);
          AttackerCritRateProcessor = subBuilder;
          break;
        }
        case 26: {
          global::AttackerAtkProcessor subBuilder = new global::AttackerAtkProcessor();
          if (processorImplCase_ == ProcessorImplOneofCase.AttackerAtkProcessor) {
            subBuilder.MergeFrom(AttackerAtkProcessor);
          }
          input.ReadMessage(subBuilder);
          AttackerAtkProcessor = subBuilder;
          break;
        }
        case 34: {
          global::AttackerCritDamageProcessor subBuilder = new global::AttackerCritDamageProcessor();
          if (processorImplCase_ == ProcessorImplOneofCase.AttackerCritDamageProcessor) {
            subBuilder.MergeFrom(AttackerCritDamageProcessor);
          }
          input.ReadMessage(subBuilder);
          AttackerCritDamageProcessor = subBuilder;
          break;
        }
        case 42: {
          global::AttackerPenProcessor subBuilder = new global::AttackerPenProcessor();
          if (processorImplCase_ == ProcessorImplOneofCase.AttackerPenProcessor) {
            subBuilder.MergeFrom(AttackerPenProcessor);
          }
          input.ReadMessage(subBuilder);
          AttackerPenProcessor = subBuilder;
          break;
        }
        case 50: {
          global::DamageScaleProcessor subBuilder = new global::DamageScaleProcessor();
          if (processorImplCase_ == ProcessorImplOneofCase.DamageScaleProcessor) {
            subBuilder.MergeFrom(DamageScaleProcessor);
          }
          input.ReadMessage(subBuilder);
          DamageScaleProcessor = subBuilder;
          break;
        }
        case 58: {
          global::DefenderDefProcessor subBuilder = new global::DefenderDefProcessor();
          if (processorImplCase_ == ProcessorImplOneofCase.DefenderDefProcessor) {
            subBuilder.MergeFrom(DefenderDefProcessor);
          }
          input.ReadMessage(subBuilder);
          DefenderDefProcessor = subBuilder;
          break;
        }
        case 66: {
          global::ModifyCalculateResultProcessor subBuilder = new global::ModifyCalculateResultProcessor();
          if (processorImplCase_ == ProcessorImplOneofCase.ModifyCalulateResultProcessor) {
            subBuilder.MergeFrom(ModifyCalulateResultProcessor);
          }
          input.ReadMessage(subBuilder);
          ModifyCalulateResultProcessor = subBuilder;
          break;
        }
        case 74: {
          global::InstantModifyAttributeProcessor subBuilder = new global::InstantModifyAttributeProcessor();
          if (processorImplCase_ == ProcessorImplOneofCase.InstantModifyAttributeProcessor) {
            subBuilder.MergeFrom(InstantModifyAttributeProcessor);
          }
          input.ReadMessage(subBuilder);
          InstantModifyAttributeProcessor = subBuilder;
          break;
        }
      }
    }
  }

}

public sealed partial class AttackerCritRateProcessor : pb::IMessage<AttackerCritRateProcessor> {
  private static readonly pb::MessageParser<AttackerCritRateProcessor> _parser = new pb::MessageParser<AttackerCritRateProcessor>(() => new AttackerCritRateProcessor());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<AttackerCritRateProcessor> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[152]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public AttackerCritRateProcessor() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public AttackerCritRateProcessor(AttackerCritRateProcessor other) : this() {
    type_ = other.type_;
    addition_ = other.addition_ != null ? other.addition_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public AttackerCritRateProcessor Clone() {
    return new AttackerCritRateProcessor(this);
  }

  /// <summary>Field number for the "type" field.</summary>
  public const int TypeFieldNumber = 1;
  private global::DamageProcessorType type_ = 0;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::DamageProcessorType Type {
    get { return type_; }
    set {
      type_ = value;
    }
  }

  /// <summary>Field number for the "addition" field.</summary>
  public const int AdditionFieldNumber = 2;
  private global::BattleBlackboardFloat addition_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleBlackboardFloat Addition {
    get { return addition_; }
    set {
      addition_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as AttackerCritRateProcessor);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(AttackerCritRateProcessor other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Type != other.Type) return false;
    if (!object.Equals(Addition, other.Addition)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Type != 0) hash ^= Type.GetHashCode();
    if (addition_ != null) hash ^= Addition.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Type != 0) {
      output.WriteRawTag(8);
      output.WriteEnum((int) Type);
    }
    if (addition_ != null) {
      output.WriteRawTag(18);
      output.WriteMessage(Addition);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Type != 0) {
      size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Type);
    }
    if (addition_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Addition);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(AttackerCritRateProcessor other) {
    if (other == null) {
      return;
    }
    if (other.Type != 0) {
      Type = other.Type;
    }
    if (other.addition_ != null) {
      if (addition_ == null) {
        addition_ = new global::BattleBlackboardFloat();
      }
      Addition.MergeFrom(other.Addition);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          type_ = (global::DamageProcessorType) input.ReadEnum();
          break;
        }
        case 18: {
          if (addition_ == null) {
            addition_ = new global::BattleBlackboardFloat();
          }
          input.ReadMessage(addition_);
          break;
        }
      }
    }
  }

}

public sealed partial class AttackerAtkProcessor : pb::IMessage<AttackerAtkProcessor> {
  private static readonly pb::MessageParser<AttackerAtkProcessor> _parser = new pb::MessageParser<AttackerAtkProcessor>(() => new AttackerAtkProcessor());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<AttackerAtkProcessor> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[153]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public AttackerAtkProcessor() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public AttackerAtkProcessor(AttackerAtkProcessor other) : this() {
    type_ = other.type_;
    scale_ = other.scale_ != null ? other.scale_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public AttackerAtkProcessor Clone() {
    return new AttackerAtkProcessor(this);
  }

  /// <summary>Field number for the "type" field.</summary>
  public const int TypeFieldNumber = 1;
  private global::DamageProcessorType type_ = 0;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::DamageProcessorType Type {
    get { return type_; }
    set {
      type_ = value;
    }
  }

  /// <summary>Field number for the "scale" field.</summary>
  public const int ScaleFieldNumber = 2;
  private global::BattleBlackboardFloat scale_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleBlackboardFloat Scale {
    get { return scale_; }
    set {
      scale_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as AttackerAtkProcessor);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(AttackerAtkProcessor other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Type != other.Type) return false;
    if (!object.Equals(Scale, other.Scale)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Type != 0) hash ^= Type.GetHashCode();
    if (scale_ != null) hash ^= Scale.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Type != 0) {
      output.WriteRawTag(8);
      output.WriteEnum((int) Type);
    }
    if (scale_ != null) {
      output.WriteRawTag(18);
      output.WriteMessage(Scale);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Type != 0) {
      size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Type);
    }
    if (scale_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Scale);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(AttackerAtkProcessor other) {
    if (other == null) {
      return;
    }
    if (other.Type != 0) {
      Type = other.Type;
    }
    if (other.scale_ != null) {
      if (scale_ == null) {
        scale_ = new global::BattleBlackboardFloat();
      }
      Scale.MergeFrom(other.Scale);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          type_ = (global::DamageProcessorType) input.ReadEnum();
          break;
        }
        case 18: {
          if (scale_ == null) {
            scale_ = new global::BattleBlackboardFloat();
          }
          input.ReadMessage(scale_);
          break;
        }
      }
    }
  }

}

public sealed partial class AttackerCritDamageProcessor : pb::IMessage<AttackerCritDamageProcessor> {
  private static readonly pb::MessageParser<AttackerCritDamageProcessor> _parser = new pb::MessageParser<AttackerCritDamageProcessor>(() => new AttackerCritDamageProcessor());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<AttackerCritDamageProcessor> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[154]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public AttackerCritDamageProcessor() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public AttackerCritDamageProcessor(AttackerCritDamageProcessor other) : this() {
    type_ = other.type_;
    scale_ = other.scale_ != null ? other.scale_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public AttackerCritDamageProcessor Clone() {
    return new AttackerCritDamageProcessor(this);
  }

  /// <summary>Field number for the "type" field.</summary>
  public const int TypeFieldNumber = 1;
  private global::DamageProcessorType type_ = 0;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::DamageProcessorType Type {
    get { return type_; }
    set {
      type_ = value;
    }
  }

  /// <summary>Field number for the "scale" field.</summary>
  public const int ScaleFieldNumber = 2;
  private global::BattleBlackboardFloat scale_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleBlackboardFloat Scale {
    get { return scale_; }
    set {
      scale_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as AttackerCritDamageProcessor);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(AttackerCritDamageProcessor other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Type != other.Type) return false;
    if (!object.Equals(Scale, other.Scale)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Type != 0) hash ^= Type.GetHashCode();
    if (scale_ != null) hash ^= Scale.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Type != 0) {
      output.WriteRawTag(8);
      output.WriteEnum((int) Type);
    }
    if (scale_ != null) {
      output.WriteRawTag(18);
      output.WriteMessage(Scale);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Type != 0) {
      size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Type);
    }
    if (scale_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Scale);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(AttackerCritDamageProcessor other) {
    if (other == null) {
      return;
    }
    if (other.Type != 0) {
      Type = other.Type;
    }
    if (other.scale_ != null) {
      if (scale_ == null) {
        scale_ = new global::BattleBlackboardFloat();
      }
      Scale.MergeFrom(other.Scale);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          type_ = (global::DamageProcessorType) input.ReadEnum();
          break;
        }
        case 18: {
          if (scale_ == null) {
            scale_ = new global::BattleBlackboardFloat();
          }
          input.ReadMessage(scale_);
          break;
        }
      }
    }
  }

}

public sealed partial class AttackerPenProcessor : pb::IMessage<AttackerPenProcessor> {
  private static readonly pb::MessageParser<AttackerPenProcessor> _parser = new pb::MessageParser<AttackerPenProcessor>(() => new AttackerPenProcessor());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<AttackerPenProcessor> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[155]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public AttackerPenProcessor() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public AttackerPenProcessor(AttackerPenProcessor other) : this() {
    type_ = other.type_;
    scale_ = other.scale_ != null ? other.scale_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public AttackerPenProcessor Clone() {
    return new AttackerPenProcessor(this);
  }

  /// <summary>Field number for the "type" field.</summary>
  public const int TypeFieldNumber = 1;
  private global::DamageProcessorType type_ = 0;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::DamageProcessorType Type {
    get { return type_; }
    set {
      type_ = value;
    }
  }

  /// <summary>Field number for the "scale" field.</summary>
  public const int ScaleFieldNumber = 2;
  private global::BattleBlackboardFloat scale_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleBlackboardFloat Scale {
    get { return scale_; }
    set {
      scale_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as AttackerPenProcessor);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(AttackerPenProcessor other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Type != other.Type) return false;
    if (!object.Equals(Scale, other.Scale)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Type != 0) hash ^= Type.GetHashCode();
    if (scale_ != null) hash ^= Scale.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Type != 0) {
      output.WriteRawTag(8);
      output.WriteEnum((int) Type);
    }
    if (scale_ != null) {
      output.WriteRawTag(18);
      output.WriteMessage(Scale);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Type != 0) {
      size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Type);
    }
    if (scale_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Scale);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(AttackerPenProcessor other) {
    if (other == null) {
      return;
    }
    if (other.Type != 0) {
      Type = other.Type;
    }
    if (other.scale_ != null) {
      if (scale_ == null) {
        scale_ = new global::BattleBlackboardFloat();
      }
      Scale.MergeFrom(other.Scale);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          type_ = (global::DamageProcessorType) input.ReadEnum();
          break;
        }
        case 18: {
          if (scale_ == null) {
            scale_ = new global::BattleBlackboardFloat();
          }
          input.ReadMessage(scale_);
          break;
        }
      }
    }
  }

}

public sealed partial class DamageScaleProcessor : pb::IMessage<DamageScaleProcessor> {
  private static readonly pb::MessageParser<DamageScaleProcessor> _parser = new pb::MessageParser<DamageScaleProcessor>(() => new DamageScaleProcessor());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<DamageScaleProcessor> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[156]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public DamageScaleProcessor() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public DamageScaleProcessor(DamageScaleProcessor other) : this() {
    type_ = other.type_;
    damageScaleSide_ = other.damageScaleSide_;
    zoneName_ = other.zoneName_;
    addition_ = other.addition_ != null ? other.addition_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public DamageScaleProcessor Clone() {
    return new DamageScaleProcessor(this);
  }

  /// <summary>Field number for the "type" field.</summary>
  public const int TypeFieldNumber = 1;
  private global::DamageProcessorType type_ = 0;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::DamageProcessorType Type {
    get { return type_; }
    set {
      type_ = value;
    }
  }

  /// <summary>Field number for the "damage_scale_side" field.</summary>
  public const int DamageScaleSideFieldNumber = 2;
  private int damageScaleSide_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int DamageScaleSide {
    get { return damageScaleSide_; }
    set {
      damageScaleSide_ = value;
    }
  }

  /// <summary>Field number for the "zone_name" field.</summary>
  public const int ZoneNameFieldNumber = 3;
  private string zoneName_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ZoneName {
    get { return zoneName_; }
    set {
      zoneName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "addition" field.</summary>
  public const int AdditionFieldNumber = 4;
  private global::BattleBlackboardFloat addition_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleBlackboardFloat Addition {
    get { return addition_; }
    set {
      addition_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as DamageScaleProcessor);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(DamageScaleProcessor other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Type != other.Type) return false;
    if (DamageScaleSide != other.DamageScaleSide) return false;
    if (ZoneName != other.ZoneName) return false;
    if (!object.Equals(Addition, other.Addition)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Type != 0) hash ^= Type.GetHashCode();
    if (DamageScaleSide != 0) hash ^= DamageScaleSide.GetHashCode();
    if (ZoneName.Length != 0) hash ^= ZoneName.GetHashCode();
    if (addition_ != null) hash ^= Addition.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Type != 0) {
      output.WriteRawTag(8);
      output.WriteEnum((int) Type);
    }
    if (DamageScaleSide != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(DamageScaleSide);
    }
    if (ZoneName.Length != 0) {
      output.WriteRawTag(26);
      output.WriteString(ZoneName);
    }
    if (addition_ != null) {
      output.WriteRawTag(34);
      output.WriteMessage(Addition);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Type != 0) {
      size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Type);
    }
    if (DamageScaleSide != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(DamageScaleSide);
    }
    if (ZoneName.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ZoneName);
    }
    if (addition_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Addition);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(DamageScaleProcessor other) {
    if (other == null) {
      return;
    }
    if (other.Type != 0) {
      Type = other.Type;
    }
    if (other.DamageScaleSide != 0) {
      DamageScaleSide = other.DamageScaleSide;
    }
    if (other.ZoneName.Length != 0) {
      ZoneName = other.ZoneName;
    }
    if (other.addition_ != null) {
      if (addition_ == null) {
        addition_ = new global::BattleBlackboardFloat();
      }
      Addition.MergeFrom(other.Addition);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          type_ = (global::DamageProcessorType) input.ReadEnum();
          break;
        }
        case 16: {
          DamageScaleSide = input.ReadInt32();
          break;
        }
        case 26: {
          ZoneName = input.ReadString();
          break;
        }
        case 34: {
          if (addition_ == null) {
            addition_ = new global::BattleBlackboardFloat();
          }
          input.ReadMessage(addition_);
          break;
        }
      }
    }
  }

}

public sealed partial class DefenderDefProcessor : pb::IMessage<DefenderDefProcessor> {
  private static readonly pb::MessageParser<DefenderDefProcessor> _parser = new pb::MessageParser<DefenderDefProcessor>(() => new DefenderDefProcessor());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<DefenderDefProcessor> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[157]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public DefenderDefProcessor() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public DefenderDefProcessor(DefenderDefProcessor other) : this() {
    type_ = other.type_;
    multiplier_ = other.multiplier_ != null ? other.multiplier_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public DefenderDefProcessor Clone() {
    return new DefenderDefProcessor(this);
  }

  /// <summary>Field number for the "type" field.</summary>
  public const int TypeFieldNumber = 1;
  private global::DamageProcessorType type_ = 0;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::DamageProcessorType Type {
    get { return type_; }
    set {
      type_ = value;
    }
  }

  /// <summary>Field number for the "multiplier" field.</summary>
  public const int MultiplierFieldNumber = 2;
  private global::BattleBlackboardFloat multiplier_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleBlackboardFloat Multiplier {
    get { return multiplier_; }
    set {
      multiplier_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as DefenderDefProcessor);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(DefenderDefProcessor other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Type != other.Type) return false;
    if (!object.Equals(Multiplier, other.Multiplier)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Type != 0) hash ^= Type.GetHashCode();
    if (multiplier_ != null) hash ^= Multiplier.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Type != 0) {
      output.WriteRawTag(8);
      output.WriteEnum((int) Type);
    }
    if (multiplier_ != null) {
      output.WriteRawTag(18);
      output.WriteMessage(Multiplier);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Type != 0) {
      size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Type);
    }
    if (multiplier_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Multiplier);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(DefenderDefProcessor other) {
    if (other == null) {
      return;
    }
    if (other.Type != 0) {
      Type = other.Type;
    }
    if (other.multiplier_ != null) {
      if (multiplier_ == null) {
        multiplier_ = new global::BattleBlackboardFloat();
      }
      Multiplier.MergeFrom(other.Multiplier);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          type_ = (global::DamageProcessorType) input.ReadEnum();
          break;
        }
        case 18: {
          if (multiplier_ == null) {
            multiplier_ = new global::BattleBlackboardFloat();
          }
          input.ReadMessage(multiplier_);
          break;
        }
      }
    }
  }

}

public sealed partial class ModifyCalculateResultProcessor : pb::IMessage<ModifyCalculateResultProcessor> {
  private static readonly pb::MessageParser<ModifyCalculateResultProcessor> _parser = new pb::MessageParser<ModifyCalculateResultProcessor>(() => new ModifyCalculateResultProcessor());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ModifyCalculateResultProcessor> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[158]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ModifyCalculateResultProcessor() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ModifyCalculateResultProcessor(ModifyCalculateResultProcessor other) : this() {
    type_ = other.type_;
    calType_ = other.calType_;
    baseMultiplier_ = other.baseMultiplier_ != null ? other.baseMultiplier_.Clone() : null;
    multiplierCnt_ = other.multiplierCnt_ != null ? other.multiplierCnt_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ModifyCalculateResultProcessor Clone() {
    return new ModifyCalculateResultProcessor(this);
  }

  /// <summary>Field number for the "type" field.</summary>
  public const int TypeFieldNumber = 1;
  private global::DamageProcessorType type_ = 0;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::DamageProcessorType Type {
    get { return type_; }
    set {
      type_ = value;
    }
  }

  /// <summary>Field number for the "cal_type" field.</summary>
  public const int CalTypeFieldNumber = 2;
  private int calType_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalType {
    get { return calType_; }
    set {
      calType_ = value;
    }
  }

  /// <summary>Field number for the "base_multiplier" field.</summary>
  public const int BaseMultiplierFieldNumber = 3;
  private global::BattleBlackboardFloat baseMultiplier_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleBlackboardFloat BaseMultiplier {
    get { return baseMultiplier_; }
    set {
      baseMultiplier_ = value;
    }
  }

  /// <summary>Field number for the "multiplier_cnt" field.</summary>
  public const int MultiplierCntFieldNumber = 4;
  private global::BattleBlackboardFloat multiplierCnt_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleBlackboardFloat MultiplierCnt {
    get { return multiplierCnt_; }
    set {
      multiplierCnt_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ModifyCalculateResultProcessor);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ModifyCalculateResultProcessor other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Type != other.Type) return false;
    if (CalType != other.CalType) return false;
    if (!object.Equals(BaseMultiplier, other.BaseMultiplier)) return false;
    if (!object.Equals(MultiplierCnt, other.MultiplierCnt)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Type != 0) hash ^= Type.GetHashCode();
    if (CalType != 0) hash ^= CalType.GetHashCode();
    if (baseMultiplier_ != null) hash ^= BaseMultiplier.GetHashCode();
    if (multiplierCnt_ != null) hash ^= MultiplierCnt.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Type != 0) {
      output.WriteRawTag(8);
      output.WriteEnum((int) Type);
    }
    if (CalType != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(CalType);
    }
    if (baseMultiplier_ != null) {
      output.WriteRawTag(26);
      output.WriteMessage(BaseMultiplier);
    }
    if (multiplierCnt_ != null) {
      output.WriteRawTag(34);
      output.WriteMessage(MultiplierCnt);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Type != 0) {
      size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Type);
    }
    if (CalType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(CalType);
    }
    if (baseMultiplier_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(BaseMultiplier);
    }
    if (multiplierCnt_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(MultiplierCnt);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ModifyCalculateResultProcessor other) {
    if (other == null) {
      return;
    }
    if (other.Type != 0) {
      Type = other.Type;
    }
    if (other.CalType != 0) {
      CalType = other.CalType;
    }
    if (other.baseMultiplier_ != null) {
      if (baseMultiplier_ == null) {
        baseMultiplier_ = new global::BattleBlackboardFloat();
      }
      BaseMultiplier.MergeFrom(other.BaseMultiplier);
    }
    if (other.multiplierCnt_ != null) {
      if (multiplierCnt_ == null) {
        multiplierCnt_ = new global::BattleBlackboardFloat();
      }
      MultiplierCnt.MergeFrom(other.MultiplierCnt);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          type_ = (global::DamageProcessorType) input.ReadEnum();
          break;
        }
        case 16: {
          CalType = input.ReadInt32();
          break;
        }
        case 26: {
          if (baseMultiplier_ == null) {
            baseMultiplier_ = new global::BattleBlackboardFloat();
          }
          input.ReadMessage(baseMultiplier_);
          break;
        }
        case 34: {
          if (multiplierCnt_ == null) {
            multiplierCnt_ = new global::BattleBlackboardFloat();
          }
          input.ReadMessage(multiplierCnt_);
          break;
        }
      }
    }
  }

}

public sealed partial class InstantModifyAttributeProcessor : pb::IMessage<InstantModifyAttributeProcessor> {
  private static readonly pb::MessageParser<InstantModifyAttributeProcessor> _parser = new pb::MessageParser<InstantModifyAttributeProcessor>(() => new InstantModifyAttributeProcessor());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<InstantModifyAttributeProcessor> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[159]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public InstantModifyAttributeProcessor() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public InstantModifyAttributeProcessor(InstantModifyAttributeProcessor other) : this() {
    type_ = other.type_;
    targetSide_ = other.targetSide_;
    attrModifier_ = other.attrModifier_ != null ? other.attrModifier_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public InstantModifyAttributeProcessor Clone() {
    return new InstantModifyAttributeProcessor(this);
  }

  /// <summary>Field number for the "type" field.</summary>
  public const int TypeFieldNumber = 1;
  private global::DamageProcessorType type_ = 0;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::DamageProcessorType Type {
    get { return type_; }
    set {
      type_ = value;
    }
  }

  /// <summary>Field number for the "target_side" field.</summary>
  public const int TargetSideFieldNumber = 2;
  private int targetSide_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int TargetSide {
    get { return targetSide_; }
    set {
      targetSide_ = value;
    }
  }

  /// <summary>Field number for the "attr_modifier" field.</summary>
  public const int AttrModifierFieldNumber = 3;
  private global::BattleAttrModifier attrModifier_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleAttrModifier AttrModifier {
    get { return attrModifier_; }
    set {
      attrModifier_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as InstantModifyAttributeProcessor);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(InstantModifyAttributeProcessor other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Type != other.Type) return false;
    if (TargetSide != other.TargetSide) return false;
    if (!object.Equals(AttrModifier, other.AttrModifier)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Type != 0) hash ^= Type.GetHashCode();
    if (TargetSide != 0) hash ^= TargetSide.GetHashCode();
    if (attrModifier_ != null) hash ^= AttrModifier.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Type != 0) {
      output.WriteRawTag(8);
      output.WriteEnum((int) Type);
    }
    if (TargetSide != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(TargetSide);
    }
    if (attrModifier_ != null) {
      output.WriteRawTag(26);
      output.WriteMessage(AttrModifier);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Type != 0) {
      size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Type);
    }
    if (TargetSide != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(TargetSide);
    }
    if (attrModifier_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(AttrModifier);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(InstantModifyAttributeProcessor other) {
    if (other == null) {
      return;
    }
    if (other.Type != 0) {
      Type = other.Type;
    }
    if (other.TargetSide != 0) {
      TargetSide = other.TargetSide;
    }
    if (other.attrModifier_ != null) {
      if (attrModifier_ == null) {
        attrModifier_ = new global::BattleAttrModifier();
      }
      AttrModifier.MergeFrom(other.AttrModifier);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          type_ = (global::DamageProcessorType) input.ReadEnum();
          break;
        }
        case 16: {
          TargetSide = input.ReadInt32();
          break;
        }
        case 26: {
          if (attrModifier_ == null) {
            attrModifier_ = new global::BattleAttrModifier();
          }
          input.ReadMessage(attrModifier_);
          break;
        }
      }
    }
  }

}

public sealed partial class SkillCostData : pb::IMessage<SkillCostData> {
  private static readonly pb::MessageParser<SkillCostData> _parser = new pb::MessageParser<SkillCostData>(() => new SkillCostData());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<SkillCostData> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[160]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SkillCostData() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SkillCostData(SkillCostData other) : this() {
    costType_ = other.costType_;
    costValue_ = other.costValue_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SkillCostData Clone() {
    return new SkillCostData(this);
  }

  /// <summary>Field number for the "cost_type" field.</summary>
  public const int CostTypeFieldNumber = 1;
  private global::SkillCostType costType_ = 0;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::SkillCostType CostType {
    get { return costType_; }
    set {
      costType_ = value;
    }
  }

  /// <summary>Field number for the "cost_value" field.</summary>
  public const int CostValueFieldNumber = 2;
  private float costValue_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public float CostValue {
    get { return costValue_; }
    set {
      costValue_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as SkillCostData);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(SkillCostData other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (CostType != other.CostType) return false;
    if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(CostValue, other.CostValue)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (CostType != 0) hash ^= CostType.GetHashCode();
    if (CostValue != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(CostValue);
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (CostType != 0) {
      output.WriteRawTag(8);
      output.WriteEnum((int) CostType);
    }
    if (CostValue != 0F) {
      output.WriteRawTag(21);
      output.WriteFloat(CostValue);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (CostType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) CostType);
    }
    if (CostValue != 0F) {
      size += 1 + 4;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(SkillCostData other) {
    if (other == null) {
      return;
    }
    if (other.CostType != 0) {
      CostType = other.CostType;
    }
    if (other.CostValue != 0F) {
      CostValue = other.CostValue;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          costType_ = (global::SkillCostType) input.ReadEnum();
          break;
        }
        case 21: {
          CostValue = input.ReadFloat();
          break;
        }
      }
    }
  }

}

public sealed partial class BattleCreateBuffActionData : pb::IMessage<BattleCreateBuffActionData> {
  private static readonly pb::MessageParser<BattleCreateBuffActionData> _parser = new pb::MessageParser<BattleCreateBuffActionData>(() => new BattleCreateBuffActionData());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleCreateBuffActionData> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[161]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCreateBuffActionData() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCreateBuffActionData(BattleCreateBuffActionData other) : this() {
    buffInput_ = other.buffInput_.Clone();
    count_ = other.count_ != null ? other.count_.Clone() : null;
    target_ = other.target_ != null ? other.target_.Clone() : null;
    buffSourceType_ = other.buffSourceType_;
    autoFinishByAction_ = other.autoFinishByAction_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCreateBuffActionData Clone() {
    return new BattleCreateBuffActionData(this);
  }

  /// <summary>Field number for the "buff_input" field.</summary>
  public const int BuffInputFieldNumber = 1;
  private static readonly pb::FieldCodec<global::BuffInput> _repeated_buffInput_codec
      = pb::FieldCodec.ForMessage(10, global::BuffInput.Parser);
  private readonly pbc::RepeatedField<global::BuffInput> buffInput_ = new pbc::RepeatedField<global::BuffInput>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::BuffInput> BuffInput {
    get { return buffInput_; }
  }

  /// <summary>Field number for the "count" field.</summary>
  public const int CountFieldNumber = 2;
  private global::BattleBlackboardFloat count_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleBlackboardFloat Count {
    get { return count_; }
    set {
      count_ = value;
    }
  }

  /// <summary>Field number for the "target" field.</summary>
  public const int TargetFieldNumber = 3;
  private global::BattleActionTargetSetting target_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleActionTargetSetting Target {
    get { return target_; }
    set {
      target_ = value;
    }
  }

  /// <summary>Field number for the "buff_source_type" field.</summary>
  public const int BuffSourceTypeFieldNumber = 4;
  private int buffSourceType_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int BuffSourceType {
    get { return buffSourceType_; }
    set {
      buffSourceType_ = value;
    }
  }

  /// <summary>Field number for the "auto_finish_by_action" field.</summary>
  public const int AutoFinishByActionFieldNumber = 5;
  private bool autoFinishByAction_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool AutoFinishByAction {
    get { return autoFinishByAction_; }
    set {
      autoFinishByAction_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleCreateBuffActionData);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleCreateBuffActionData other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!buffInput_.Equals(other.buffInput_)) return false;
    if (!object.Equals(Count, other.Count)) return false;
    if (!object.Equals(Target, other.Target)) return false;
    if (BuffSourceType != other.BuffSourceType) return false;
    if (AutoFinishByAction != other.AutoFinishByAction) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= buffInput_.GetHashCode();
    if (count_ != null) hash ^= Count.GetHashCode();
    if (target_ != null) hash ^= Target.GetHashCode();
    if (BuffSourceType != 0) hash ^= BuffSourceType.GetHashCode();
    if (AutoFinishByAction != false) hash ^= AutoFinishByAction.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    buffInput_.WriteTo(output, _repeated_buffInput_codec);
    if (count_ != null) {
      output.WriteRawTag(18);
      output.WriteMessage(Count);
    }
    if (target_ != null) {
      output.WriteRawTag(26);
      output.WriteMessage(Target);
    }
    if (BuffSourceType != 0) {
      output.WriteRawTag(32);
      output.WriteInt32(BuffSourceType);
    }
    if (AutoFinishByAction != false) {
      output.WriteRawTag(40);
      output.WriteBool(AutoFinishByAction);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += buffInput_.CalculateSize(_repeated_buffInput_codec);
    if (count_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Count);
    }
    if (target_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Target);
    }
    if (BuffSourceType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(BuffSourceType);
    }
    if (AutoFinishByAction != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleCreateBuffActionData other) {
    if (other == null) {
      return;
    }
    buffInput_.Add(other.buffInput_);
    if (other.count_ != null) {
      if (count_ == null) {
        count_ = new global::BattleBlackboardFloat();
      }
      Count.MergeFrom(other.Count);
    }
    if (other.target_ != null) {
      if (target_ == null) {
        target_ = new global::BattleActionTargetSetting();
      }
      Target.MergeFrom(other.Target);
    }
    if (other.BuffSourceType != 0) {
      BuffSourceType = other.BuffSourceType;
    }
    if (other.AutoFinishByAction != false) {
      AutoFinishByAction = other.AutoFinishByAction;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          buffInput_.AddEntriesFrom(input, _repeated_buffInput_codec);
          break;
        }
        case 18: {
          if (count_ == null) {
            count_ = new global::BattleBlackboardFloat();
          }
          input.ReadMessage(count_);
          break;
        }
        case 26: {
          if (target_ == null) {
            target_ = new global::BattleActionTargetSetting();
          }
          input.ReadMessage(target_);
          break;
        }
        case 32: {
          BuffSourceType = input.ReadInt32();
          break;
        }
        case 40: {
          AutoFinishByAction = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class BuffInput : pb::IMessage<BuffInput> {
  private static readonly pb::MessageParser<BuffInput> _parser = new pb::MessageParser<BuffInput>(() => new BuffInput());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BuffInput> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[162]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BuffInput() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BuffInput(BuffInput other) : this() {
    buffId_ = other.buffId_;
    assignBlackboard_ = other.assignBlackboard_;
    assignedItems_ = other.assignedItems_.Clone();
    readIdFromBlackboard_ = other.readIdFromBlackboard_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BuffInput Clone() {
    return new BuffInput(this);
  }

  /// <summary>Field number for the "buff_id" field.</summary>
  public const int BuffIdFieldNumber = 1;
  private string buffId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string BuffId {
    get { return buffId_; }
    set {
      buffId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "assign_blackboard" field.</summary>
  public const int AssignBlackboardFieldNumber = 2;
  private bool assignBlackboard_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool AssignBlackboard {
    get { return assignBlackboard_; }
    set {
      assignBlackboard_ = value;
    }
  }

  /// <summary>Field number for the "assigned_items" field.</summary>
  public const int AssignedItemsFieldNumber = 3;
  private static readonly pb::FieldCodec<global::BattleBlackboardAssignItem> _repeated_assignedItems_codec
      = pb::FieldCodec.ForMessage(26, global::BattleBlackboardAssignItem.Parser);
  private readonly pbc::RepeatedField<global::BattleBlackboardAssignItem> assignedItems_ = new pbc::RepeatedField<global::BattleBlackboardAssignItem>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::BattleBlackboardAssignItem> AssignedItems {
    get { return assignedItems_; }
  }

  /// <summary>Field number for the "read_id_from_blackboard" field.</summary>
  public const int ReadIdFromBlackboardFieldNumber = 4;
  private bool readIdFromBlackboard_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool ReadIdFromBlackboard {
    get { return readIdFromBlackboard_; }
    set {
      readIdFromBlackboard_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BuffInput);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BuffInput other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (BuffId != other.BuffId) return false;
    if (AssignBlackboard != other.AssignBlackboard) return false;
    if(!assignedItems_.Equals(other.assignedItems_)) return false;
    if (ReadIdFromBlackboard != other.ReadIdFromBlackboard) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (BuffId.Length != 0) hash ^= BuffId.GetHashCode();
    if (AssignBlackboard != false) hash ^= AssignBlackboard.GetHashCode();
    hash ^= assignedItems_.GetHashCode();
    if (ReadIdFromBlackboard != false) hash ^= ReadIdFromBlackboard.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (BuffId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(BuffId);
    }
    if (AssignBlackboard != false) {
      output.WriteRawTag(16);
      output.WriteBool(AssignBlackboard);
    }
    assignedItems_.WriteTo(output, _repeated_assignedItems_codec);
    if (ReadIdFromBlackboard != false) {
      output.WriteRawTag(32);
      output.WriteBool(ReadIdFromBlackboard);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (BuffId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(BuffId);
    }
    if (AssignBlackboard != false) {
      size += 1 + 1;
    }
    size += assignedItems_.CalculateSize(_repeated_assignedItems_codec);
    if (ReadIdFromBlackboard != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BuffInput other) {
    if (other == null) {
      return;
    }
    if (other.BuffId.Length != 0) {
      BuffId = other.BuffId;
    }
    if (other.AssignBlackboard != false) {
      AssignBlackboard = other.AssignBlackboard;
    }
    assignedItems_.Add(other.assignedItems_);
    if (other.ReadIdFromBlackboard != false) {
      ReadIdFromBlackboard = other.ReadIdFromBlackboard;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          BuffId = input.ReadString();
          break;
        }
        case 16: {
          AssignBlackboard = input.ReadBool();
          break;
        }
        case 26: {
          assignedItems_.AddEntriesFrom(input, _repeated_assignedItems_codec);
          break;
        }
        case 32: {
          ReadIdFromBlackboard = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class BattleFinishBuffActionData : pb::IMessage<BattleFinishBuffActionData> {
  private static readonly pb::MessageParser<BattleFinishBuffActionData> _parser = new pb::MessageParser<BattleFinishBuffActionData>(() => new BattleFinishBuffActionData());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleFinishBuffActionData> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[163]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleFinishBuffActionData() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleFinishBuffActionData(BattleFinishBuffActionData other) : this() {
    buffOwner_ = other.buffOwner_ != null ? other.buffOwner_.Clone() : null;
    buffIds_ = other.buffIds_.Clone();
    finishAllBuff_ = other.finishAllBuff_;
    finishLayerCnt_ = other.finishLayerCnt_ != null ? other.finishLayerCnt_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleFinishBuffActionData Clone() {
    return new BattleFinishBuffActionData(this);
  }

  /// <summary>Field number for the "buff_owner" field.</summary>
  public const int BuffOwnerFieldNumber = 1;
  private global::BattleActionTargetSetting buffOwner_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleActionTargetSetting BuffOwner {
    get { return buffOwner_; }
    set {
      buffOwner_ = value;
    }
  }

  /// <summary>Field number for the "buff_ids" field.</summary>
  public const int BuffIdsFieldNumber = 2;
  private static readonly pb::FieldCodec<string> _repeated_buffIds_codec
      = pb::FieldCodec.ForString(18);
  private readonly pbc::RepeatedField<string> buffIds_ = new pbc::RepeatedField<string>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<string> BuffIds {
    get { return buffIds_; }
  }

  /// <summary>Field number for the "finish_all_buff" field.</summary>
  public const int FinishAllBuffFieldNumber = 3;
  private bool finishAllBuff_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool FinishAllBuff {
    get { return finishAllBuff_; }
    set {
      finishAllBuff_ = value;
    }
  }

  /// <summary>Field number for the "finish_layer_cnt" field.</summary>
  public const int FinishLayerCntFieldNumber = 4;
  private global::BattleBlackboardFloat finishLayerCnt_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleBlackboardFloat FinishLayerCnt {
    get { return finishLayerCnt_; }
    set {
      finishLayerCnt_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleFinishBuffActionData);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleFinishBuffActionData other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!object.Equals(BuffOwner, other.BuffOwner)) return false;
    if(!buffIds_.Equals(other.buffIds_)) return false;
    if (FinishAllBuff != other.FinishAllBuff) return false;
    if (!object.Equals(FinishLayerCnt, other.FinishLayerCnt)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (buffOwner_ != null) hash ^= BuffOwner.GetHashCode();
    hash ^= buffIds_.GetHashCode();
    if (FinishAllBuff != false) hash ^= FinishAllBuff.GetHashCode();
    if (finishLayerCnt_ != null) hash ^= FinishLayerCnt.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (buffOwner_ != null) {
      output.WriteRawTag(10);
      output.WriteMessage(BuffOwner);
    }
    buffIds_.WriteTo(output, _repeated_buffIds_codec);
    if (FinishAllBuff != false) {
      output.WriteRawTag(24);
      output.WriteBool(FinishAllBuff);
    }
    if (finishLayerCnt_ != null) {
      output.WriteRawTag(34);
      output.WriteMessage(FinishLayerCnt);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (buffOwner_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(BuffOwner);
    }
    size += buffIds_.CalculateSize(_repeated_buffIds_codec);
    if (FinishAllBuff != false) {
      size += 1 + 1;
    }
    if (finishLayerCnt_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(FinishLayerCnt);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleFinishBuffActionData other) {
    if (other == null) {
      return;
    }
    if (other.buffOwner_ != null) {
      if (buffOwner_ == null) {
        buffOwner_ = new global::BattleActionTargetSetting();
      }
      BuffOwner.MergeFrom(other.BuffOwner);
    }
    buffIds_.Add(other.buffIds_);
    if (other.FinishAllBuff != false) {
      FinishAllBuff = other.FinishAllBuff;
    }
    if (other.finishLayerCnt_ != null) {
      if (finishLayerCnt_ == null) {
        finishLayerCnt_ = new global::BattleBlackboardFloat();
      }
      FinishLayerCnt.MergeFrom(other.FinishLayerCnt);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          if (buffOwner_ == null) {
            buffOwner_ = new global::BattleActionTargetSetting();
          }
          input.ReadMessage(buffOwner_);
          break;
        }
        case 18: {
          buffIds_.AddEntriesFrom(input, _repeated_buffIds_codec);
          break;
        }
        case 24: {
          FinishAllBuff = input.ReadBool();
          break;
        }
        case 34: {
          if (finishLayerCnt_ == null) {
            finishLayerCnt_ = new global::BattleBlackboardFloat();
          }
          input.ReadMessage(finishLayerCnt_);
          break;
        }
      }
    }
  }

}

public sealed partial class BattleGainCostActionData : pb::IMessage<BattleGainCostActionData> {
  private static readonly pb::MessageParser<BattleGainCostActionData> _parser = new pb::MessageParser<BattleGainCostActionData>(() => new BattleGainCostActionData());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleGainCostActionData> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[164]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleGainCostActionData() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleGainCostActionData(BattleGainCostActionData other) : this() {
    costData_ = other.costData_ != null ? other.costData_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleGainCostActionData Clone() {
    return new BattleGainCostActionData(this);
  }

  /// <summary>Field number for the "cost_data" field.</summary>
  public const int CostDataFieldNumber = 2;
  private global::SkillCostData costData_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::SkillCostData CostData {
    get { return costData_; }
    set {
      costData_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleGainCostActionData);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleGainCostActionData other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!object.Equals(CostData, other.CostData)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (costData_ != null) hash ^= CostData.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (costData_ != null) {
      output.WriteRawTag(18);
      output.WriteMessage(CostData);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (costData_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(CostData);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleGainCostActionData other) {
    if (other == null) {
      return;
    }
    if (other.costData_ != null) {
      if (costData_ == null) {
        costData_ = new global::SkillCostData();
      }
      CostData.MergeFrom(other.CostData);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 18: {
          if (costData_ == null) {
            costData_ = new global::SkillCostData();
          }
          input.ReadMessage(costData_);
          break;
        }
      }
    }
  }

}

public sealed partial class BattleHealActionData : pb::IMessage<BattleHealActionData> {
  private static readonly pb::MessageParser<BattleHealActionData> _parser = new pb::MessageParser<BattleHealActionData>(() => new BattleHealActionData());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleHealActionData> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[165]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleHealActionData() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleHealActionData(BattleHealActionData other) : this() {
    healType_ = other.healType_;
    healCalculation_ = other.healCalculation_ != null ? other.healCalculation_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleHealActionData Clone() {
    return new BattleHealActionData(this);
  }

  /// <summary>Field number for the "heal_type" field.</summary>
  public const int HealTypeFieldNumber = 1;
  private int healType_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int HealType {
    get { return healType_; }
    set {
      healType_ = value;
    }
  }

  /// <summary>Field number for the "heal_calculation" field.</summary>
  public const int HealCalculationFieldNumber = 2;
  private global::BattleDamageAtkCalculation healCalculation_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleDamageAtkCalculation HealCalculation {
    get { return healCalculation_; }
    set {
      healCalculation_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleHealActionData);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleHealActionData other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (HealType != other.HealType) return false;
    if (!object.Equals(HealCalculation, other.HealCalculation)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (HealType != 0) hash ^= HealType.GetHashCode();
    if (healCalculation_ != null) hash ^= HealCalculation.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (HealType != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(HealType);
    }
    if (healCalculation_ != null) {
      output.WriteRawTag(18);
      output.WriteMessage(HealCalculation);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (HealType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(HealType);
    }
    if (healCalculation_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(HealCalculation);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleHealActionData other) {
    if (other == null) {
      return;
    }
    if (other.HealType != 0) {
      HealType = other.HealType;
    }
    if (other.healCalculation_ != null) {
      if (healCalculation_ == null) {
        healCalculation_ = new global::BattleDamageAtkCalculation();
      }
      HealCalculation.MergeFrom(other.HealCalculation);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          HealType = input.ReadInt32();
          break;
        }
        case 18: {
          if (healCalculation_ == null) {
            healCalculation_ = new global::BattleDamageAtkCalculation();
          }
          input.ReadMessage(healCalculation_);
          break;
        }
      }
    }
  }

}

public sealed partial class BattleSwitchModeActionData : pb::IMessage<BattleSwitchModeActionData> {
  private static readonly pb::MessageParser<BattleSwitchModeActionData> _parser = new pb::MessageParser<BattleSwitchModeActionData>(() => new BattleSwitchModeActionData());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleSwitchModeActionData> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[166]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleSwitchModeActionData() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleSwitchModeActionData(BattleSwitchModeActionData other) : this() {
    modeId_ = other.modeId_;
    resetOnEnd_ = other.resetOnEnd_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleSwitchModeActionData Clone() {
    return new BattleSwitchModeActionData(this);
  }

  /// <summary>Field number for the "mode_id" field.</summary>
  public const int ModeIdFieldNumber = 1;
  private string modeId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ModeId {
    get { return modeId_; }
    set {
      modeId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "reset_on_end" field.</summary>
  public const int ResetOnEndFieldNumber = 2;
  private bool resetOnEnd_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool ResetOnEnd {
    get { return resetOnEnd_; }
    set {
      resetOnEnd_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleSwitchModeActionData);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleSwitchModeActionData other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ModeId != other.ModeId) return false;
    if (ResetOnEnd != other.ResetOnEnd) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ModeId.Length != 0) hash ^= ModeId.GetHashCode();
    if (ResetOnEnd != false) hash ^= ResetOnEnd.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ModeId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(ModeId);
    }
    if (ResetOnEnd != false) {
      output.WriteRawTag(16);
      output.WriteBool(ResetOnEnd);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ModeId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ModeId);
    }
    if (ResetOnEnd != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleSwitchModeActionData other) {
    if (other == null) {
      return;
    }
    if (other.ModeId.Length != 0) {
      ModeId = other.ModeId;
    }
    if (other.ResetOnEnd != false) {
      ResetOnEnd = other.ResetOnEnd;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          ModeId = input.ReadString();
          break;
        }
        case 16: {
          ResetOnEnd = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class BattleModifyDynamicBlackboardActionData : pb::IMessage<BattleModifyDynamicBlackboardActionData> {
  private static readonly pb::MessageParser<BattleModifyDynamicBlackboardActionData> _parser = new pb::MessageParser<BattleModifyDynamicBlackboardActionData>(() => new BattleModifyDynamicBlackboardActionData());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleModifyDynamicBlackboardActionData> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[167]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleModifyDynamicBlackboardActionData() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleModifyDynamicBlackboardActionData(BattleModifyDynamicBlackboardActionData other) : this() {
    key_ = other.key_;
    value_ = other.value_ != null ? other.value_.Clone() : null;
    modifyType_ = other.modifyType_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleModifyDynamicBlackboardActionData Clone() {
    return new BattleModifyDynamicBlackboardActionData(this);
  }

  /// <summary>Field number for the "key" field.</summary>
  public const int KeyFieldNumber = 1;
  private string key_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string Key {
    get { return key_; }
    set {
      key_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "value" field.</summary>
  public const int ValueFieldNumber = 2;
  private global::BattleBlackboardFloat value_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleBlackboardFloat Value {
    get { return value_; }
    set {
      value_ = value;
    }
  }

  /// <summary>Field number for the "modify_type" field.</summary>
  public const int ModifyTypeFieldNumber = 3;
  private int modifyType_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ModifyType {
    get { return modifyType_; }
    set {
      modifyType_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleModifyDynamicBlackboardActionData);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleModifyDynamicBlackboardActionData other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Key != other.Key) return false;
    if (!object.Equals(Value, other.Value)) return false;
    if (ModifyType != other.ModifyType) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Key.Length != 0) hash ^= Key.GetHashCode();
    if (value_ != null) hash ^= Value.GetHashCode();
    if (ModifyType != 0) hash ^= ModifyType.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Key.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(Key);
    }
    if (value_ != null) {
      output.WriteRawTag(18);
      output.WriteMessage(Value);
    }
    if (ModifyType != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(ModifyType);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Key.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(Key);
    }
    if (value_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Value);
    }
    if (ModifyType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ModifyType);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleModifyDynamicBlackboardActionData other) {
    if (other == null) {
      return;
    }
    if (other.Key.Length != 0) {
      Key = other.Key;
    }
    if (other.value_ != null) {
      if (value_ == null) {
        value_ = new global::BattleBlackboardFloat();
      }
      Value.MergeFrom(other.Value);
    }
    if (other.ModifyType != 0) {
      ModifyType = other.ModifyType;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          Key = input.ReadString();
          break;
        }
        case 18: {
          if (value_ == null) {
            value_ = new global::BattleBlackboardFloat();
          }
          input.ReadMessage(value_);
          break;
        }
        case 24: {
          ModifyType = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class BattleSpawnEnemyActionData : pb::IMessage<BattleSpawnEnemyActionData> {
  private static readonly pb::MessageParser<BattleSpawnEnemyActionData> _parser = new pb::MessageParser<BattleSpawnEnemyActionData>(() => new BattleSpawnEnemyActionData());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleSpawnEnemyActionData> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[168]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleSpawnEnemyActionData() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleSpawnEnemyActionData(BattleSpawnEnemyActionData other) : this() {
    enemyId_ = other.enemyId_;
    hpRatio_ = other.hpRatio_ != null ? other.hpRatio_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleSpawnEnemyActionData Clone() {
    return new BattleSpawnEnemyActionData(this);
  }

  /// <summary>Field number for the "enemy_id" field.</summary>
  public const int EnemyIdFieldNumber = 1;
  private string enemyId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string EnemyId {
    get { return enemyId_; }
    set {
      enemyId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "hp_ratio" field.</summary>
  public const int HpRatioFieldNumber = 2;
  private global::BattleBlackboardFloat hpRatio_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleBlackboardFloat HpRatio {
    get { return hpRatio_; }
    set {
      hpRatio_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleSpawnEnemyActionData);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleSpawnEnemyActionData other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (EnemyId != other.EnemyId) return false;
    if (!object.Equals(HpRatio, other.HpRatio)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (EnemyId.Length != 0) hash ^= EnemyId.GetHashCode();
    if (hpRatio_ != null) hash ^= HpRatio.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (EnemyId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(EnemyId);
    }
    if (hpRatio_ != null) {
      output.WriteRawTag(18);
      output.WriteMessage(HpRatio);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (EnemyId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(EnemyId);
    }
    if (hpRatio_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(HpRatio);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleSpawnEnemyActionData other) {
    if (other == null) {
      return;
    }
    if (other.EnemyId.Length != 0) {
      EnemyId = other.EnemyId;
    }
    if (other.hpRatio_ != null) {
      if (hpRatio_ == null) {
        hpRatio_ = new global::BattleBlackboardFloat();
      }
      HpRatio.MergeFrom(other.HpRatio);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          EnemyId = input.ReadString();
          break;
        }
        case 18: {
          if (hpRatio_ == null) {
            hpRatio_ = new global::BattleBlackboardFloat();
          }
          input.ReadMessage(hpRatio_);
          break;
        }
      }
    }
  }

}

public sealed partial class BattleCheckDamageTypeActionData : pb::IMessage<BattleCheckDamageTypeActionData> {
  private static readonly pb::MessageParser<BattleCheckDamageTypeActionData> _parser = new pb::MessageParser<BattleCheckDamageTypeActionData>(() => new BattleCheckDamageTypeActionData());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleCheckDamageTypeActionData> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[169]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCheckDamageTypeActionData() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCheckDamageTypeActionData(BattleCheckDamageTypeActionData other) : this() {
    damageType_ = other.damageType_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCheckDamageTypeActionData Clone() {
    return new BattleCheckDamageTypeActionData(this);
  }

  /// <summary>Field number for the "damage_type" field.</summary>
  public const int DamageTypeFieldNumber = 1;
  private int damageType_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int DamageType {
    get { return damageType_; }
    set {
      damageType_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleCheckDamageTypeActionData);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleCheckDamageTypeActionData other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (DamageType != other.DamageType) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (DamageType != 0) hash ^= DamageType.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (DamageType != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(DamageType);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (DamageType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(DamageType);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleCheckDamageTypeActionData other) {
    if (other == null) {
      return;
    }
    if (other.DamageType != 0) {
      DamageType = other.DamageType;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          DamageType = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class BattleCheckDamageDecorateMaskActionData : pb::IMessage<BattleCheckDamageDecorateMaskActionData> {
  private static readonly pb::MessageParser<BattleCheckDamageDecorateMaskActionData> _parser = new pb::MessageParser<BattleCheckDamageDecorateMaskActionData>(() => new BattleCheckDamageDecorateMaskActionData());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleCheckDamageDecorateMaskActionData> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[170]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCheckDamageDecorateMaskActionData() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCheckDamageDecorateMaskActionData(BattleCheckDamageDecorateMaskActionData other) : this() {
    damageDecorateMask_ = other.damageDecorateMask_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCheckDamageDecorateMaskActionData Clone() {
    return new BattleCheckDamageDecorateMaskActionData(this);
  }

  /// <summary>Field number for the "damage_decorate_mask" field.</summary>
  public const int DamageDecorateMaskFieldNumber = 1;
  private int damageDecorateMask_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int DamageDecorateMask {
    get { return damageDecorateMask_; }
    set {
      damageDecorateMask_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleCheckDamageDecorateMaskActionData);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleCheckDamageDecorateMaskActionData other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (DamageDecorateMask != other.DamageDecorateMask) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (DamageDecorateMask != 0) hash ^= DamageDecorateMask.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (DamageDecorateMask != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(DamageDecorateMask);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (DamageDecorateMask != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(DamageDecorateMask);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleCheckDamageDecorateMaskActionData other) {
    if (other == null) {
      return;
    }
    if (other.DamageDecorateMask != 0) {
      DamageDecorateMask = other.DamageDecorateMask;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          DamageDecorateMask = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class BattleCheckDistanceConditionActionData : pb::IMessage<BattleCheckDistanceConditionActionData> {
  private static readonly pb::MessageParser<BattleCheckDistanceConditionActionData> _parser = new pb::MessageParser<BattleCheckDistanceConditionActionData>(() => new BattleCheckDistanceConditionActionData());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleCheckDistanceConditionActionData> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[171]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCheckDistanceConditionActionData() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCheckDistanceConditionActionData(BattleCheckDistanceConditionActionData other) : this() {
    distance_ = other.distance_;
    lessThan_ = other.lessThan_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCheckDistanceConditionActionData Clone() {
    return new BattleCheckDistanceConditionActionData(this);
  }

  /// <summary>Field number for the "distance" field.</summary>
  public const int DistanceFieldNumber = 1;
  private float distance_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public float Distance {
    get { return distance_; }
    set {
      distance_ = value;
    }
  }

  /// <summary>Field number for the "less_than" field.</summary>
  public const int LessThanFieldNumber = 2;
  private bool lessThan_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool LessThan {
    get { return lessThan_; }
    set {
      lessThan_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleCheckDistanceConditionActionData);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleCheckDistanceConditionActionData other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(Distance, other.Distance)) return false;
    if (LessThan != other.LessThan) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Distance != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(Distance);
    if (LessThan != false) hash ^= LessThan.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Distance != 0F) {
      output.WriteRawTag(13);
      output.WriteFloat(Distance);
    }
    if (LessThan != false) {
      output.WriteRawTag(16);
      output.WriteBool(LessThan);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Distance != 0F) {
      size += 1 + 4;
    }
    if (LessThan != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleCheckDistanceConditionActionData other) {
    if (other == null) {
      return;
    }
    if (other.Distance != 0F) {
      Distance = other.Distance;
    }
    if (other.LessThan != false) {
      LessThan = other.LessThan;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 13: {
          Distance = input.ReadFloat();
          break;
        }
        case 16: {
          LessThan = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class BattleCheckEntityNumActionData : pb::IMessage<BattleCheckEntityNumActionData> {
  private static readonly pb::MessageParser<BattleCheckEntityNumActionData> _parser = new pb::MessageParser<BattleCheckEntityNumActionData>(() => new BattleCheckEntityNumActionData());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleCheckEntityNumActionData> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[172]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCheckEntityNumActionData() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCheckEntityNumActionData(BattleCheckEntityNumActionData other) : this() {
    zeroAlwaysReturnTrue_ = other.zeroAlwaysReturnTrue_;
    minNum_ = other.minNum_;
    compareType_ = other.compareType_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCheckEntityNumActionData Clone() {
    return new BattleCheckEntityNumActionData(this);
  }

  /// <summary>Field number for the "zero_always_return_true" field.</summary>
  public const int ZeroAlwaysReturnTrueFieldNumber = 1;
  private bool zeroAlwaysReturnTrue_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool ZeroAlwaysReturnTrue {
    get { return zeroAlwaysReturnTrue_; }
    set {
      zeroAlwaysReturnTrue_ = value;
    }
  }

  /// <summary>Field number for the "min_num" field.</summary>
  public const int MinNumFieldNumber = 2;
  private int minNum_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int MinNum {
    get { return minNum_; }
    set {
      minNum_ = value;
    }
  }

  /// <summary>Field number for the "compare_type" field.</summary>
  public const int CompareTypeFieldNumber = 3;
  private int compareType_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CompareType {
    get { return compareType_; }
    set {
      compareType_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleCheckEntityNumActionData);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleCheckEntityNumActionData other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ZeroAlwaysReturnTrue != other.ZeroAlwaysReturnTrue) return false;
    if (MinNum != other.MinNum) return false;
    if (CompareType != other.CompareType) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ZeroAlwaysReturnTrue != false) hash ^= ZeroAlwaysReturnTrue.GetHashCode();
    if (MinNum != 0) hash ^= MinNum.GetHashCode();
    if (CompareType != 0) hash ^= CompareType.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ZeroAlwaysReturnTrue != false) {
      output.WriteRawTag(8);
      output.WriteBool(ZeroAlwaysReturnTrue);
    }
    if (MinNum != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(MinNum);
    }
    if (CompareType != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(CompareType);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ZeroAlwaysReturnTrue != false) {
      size += 1 + 1;
    }
    if (MinNum != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(MinNum);
    }
    if (CompareType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(CompareType);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleCheckEntityNumActionData other) {
    if (other == null) {
      return;
    }
    if (other.ZeroAlwaysReturnTrue != false) {
      ZeroAlwaysReturnTrue = other.ZeroAlwaysReturnTrue;
    }
    if (other.MinNum != 0) {
      MinNum = other.MinNum;
    }
    if (other.CompareType != 0) {
      CompareType = other.CompareType;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ZeroAlwaysReturnTrue = input.ReadBool();
          break;
        }
        case 16: {
          MinNum = input.ReadInt32();
          break;
        }
        case 24: {
          CompareType = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class BattleCheckHpActionData : pb::IMessage<BattleCheckHpActionData> {
  private static readonly pb::MessageParser<BattleCheckHpActionData> _parser = new pb::MessageParser<BattleCheckHpActionData>(() => new BattleCheckHpActionData());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleCheckHpActionData> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[173]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCheckHpActionData() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCheckHpActionData(BattleCheckHpActionData other) : this() {
    compareType_ = other.compareType_;
    isRatio_ = other.isRatio_;
    value_ = other.value_ != null ? other.value_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCheckHpActionData Clone() {
    return new BattleCheckHpActionData(this);
  }

  /// <summary>Field number for the "compare_type" field.</summary>
  public const int CompareTypeFieldNumber = 1;
  private int compareType_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CompareType {
    get { return compareType_; }
    set {
      compareType_ = value;
    }
  }

  /// <summary>Field number for the "is_ratio" field.</summary>
  public const int IsRatioFieldNumber = 2;
  private bool isRatio_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool IsRatio {
    get { return isRatio_; }
    set {
      isRatio_ = value;
    }
  }

  /// <summary>Field number for the "value" field.</summary>
  public const int ValueFieldNumber = 3;
  private global::BattleBlackboardFloat value_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleBlackboardFloat Value {
    get { return value_; }
    set {
      value_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleCheckHpActionData);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleCheckHpActionData other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (CompareType != other.CompareType) return false;
    if (IsRatio != other.IsRatio) return false;
    if (!object.Equals(Value, other.Value)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (CompareType != 0) hash ^= CompareType.GetHashCode();
    if (IsRatio != false) hash ^= IsRatio.GetHashCode();
    if (value_ != null) hash ^= Value.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (CompareType != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(CompareType);
    }
    if (IsRatio != false) {
      output.WriteRawTag(16);
      output.WriteBool(IsRatio);
    }
    if (value_ != null) {
      output.WriteRawTag(26);
      output.WriteMessage(Value);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (CompareType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(CompareType);
    }
    if (IsRatio != false) {
      size += 1 + 1;
    }
    if (value_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Value);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleCheckHpActionData other) {
    if (other == null) {
      return;
    }
    if (other.CompareType != 0) {
      CompareType = other.CompareType;
    }
    if (other.IsRatio != false) {
      IsRatio = other.IsRatio;
    }
    if (other.value_ != null) {
      if (value_ == null) {
        value_ = new global::BattleBlackboardFloat();
      }
      Value.MergeFrom(other.Value);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          CompareType = input.ReadInt32();
          break;
        }
        case 16: {
          IsRatio = input.ReadBool();
          break;
        }
        case 26: {
          if (value_ == null) {
            value_ = new global::BattleBlackboardFloat();
          }
          input.ReadMessage(value_);
          break;
        }
      }
    }
  }

}

public sealed partial class BattleCheckIsCriticalDamageActionData : pb::IMessage<BattleCheckIsCriticalDamageActionData> {
  private static readonly pb::MessageParser<BattleCheckIsCriticalDamageActionData> _parser = new pb::MessageParser<BattleCheckIsCriticalDamageActionData>(() => new BattleCheckIsCriticalDamageActionData());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleCheckIsCriticalDamageActionData> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[174]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCheckIsCriticalDamageActionData() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCheckIsCriticalDamageActionData(BattleCheckIsCriticalDamageActionData other) : this() {
    isInverse_ = other.isInverse_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCheckIsCriticalDamageActionData Clone() {
    return new BattleCheckIsCriticalDamageActionData(this);
  }

  /// <summary>Field number for the "is_inverse" field.</summary>
  public const int IsInverseFieldNumber = 1;
  private bool isInverse_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool IsInverse {
    get { return isInverse_; }
    set {
      isInverse_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleCheckIsCriticalDamageActionData);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleCheckIsCriticalDamageActionData other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (IsInverse != other.IsInverse) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (IsInverse != false) hash ^= IsInverse.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (IsInverse != false) {
      output.WriteRawTag(8);
      output.WriteBool(IsInverse);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (IsInverse != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleCheckIsCriticalDamageActionData other) {
    if (other == null) {
      return;
    }
    if (other.IsInverse != false) {
      IsInverse = other.IsInverse;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          IsInverse = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class BattleCheckMainCharacterActionData : pb::IMessage<BattleCheckMainCharacterActionData> {
  private static readonly pb::MessageParser<BattleCheckMainCharacterActionData> _parser = new pb::MessageParser<BattleCheckMainCharacterActionData>(() => new BattleCheckMainCharacterActionData());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleCheckMainCharacterActionData> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[175]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCheckMainCharacterActionData() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCheckMainCharacterActionData(BattleCheckMainCharacterActionData other) : this() {
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCheckMainCharacterActionData Clone() {
    return new BattleCheckMainCharacterActionData(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleCheckMainCharacterActionData);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleCheckMainCharacterActionData other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleCheckMainCharacterActionData other) {
    if (other == null) {
      return;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
      }
    }
  }

}

public sealed partial class BattleCheckObjectTypeMatchActionData : pb::IMessage<BattleCheckObjectTypeMatchActionData> {
  private static readonly pb::MessageParser<BattleCheckObjectTypeMatchActionData> _parser = new pb::MessageParser<BattleCheckObjectTypeMatchActionData>(() => new BattleCheckObjectTypeMatchActionData());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleCheckObjectTypeMatchActionData> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[176]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCheckObjectTypeMatchActionData() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCheckObjectTypeMatchActionData(BattleCheckObjectTypeMatchActionData other) : this() {
    objectTypeMask_ = other.objectTypeMask_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCheckObjectTypeMatchActionData Clone() {
    return new BattleCheckObjectTypeMatchActionData(this);
  }

  /// <summary>Field number for the "object_type_mask" field.</summary>
  public const int ObjectTypeMaskFieldNumber = 1;
  private int objectTypeMask_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ObjectTypeMask {
    get { return objectTypeMask_; }
    set {
      objectTypeMask_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleCheckObjectTypeMatchActionData);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleCheckObjectTypeMatchActionData other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ObjectTypeMask != other.ObjectTypeMask) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ObjectTypeMask != 0) hash ^= ObjectTypeMask.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ObjectTypeMask != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(ObjectTypeMask);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ObjectTypeMask != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ObjectTypeMask);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleCheckObjectTypeMatchActionData other) {
    if (other == null) {
      return;
    }
    if (other.ObjectTypeMask != 0) {
      ObjectTypeMask = other.ObjectTypeMask;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ObjectTypeMask = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class BattleCheckSkillTypeActionData : pb::IMessage<BattleCheckSkillTypeActionData> {
  private static readonly pb::MessageParser<BattleCheckSkillTypeActionData> _parser = new pb::MessageParser<BattleCheckSkillTypeActionData>(() => new BattleCheckSkillTypeActionData());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleCheckSkillTypeActionData> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[177]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCheckSkillTypeActionData() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCheckSkillTypeActionData(BattleCheckSkillTypeActionData other) : this() {
    skillType_ = other.skillType_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCheckSkillTypeActionData Clone() {
    return new BattleCheckSkillTypeActionData(this);
  }

  /// <summary>Field number for the "skill_type" field.</summary>
  public const int SkillTypeFieldNumber = 1;
  private int skillType_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int SkillType {
    get { return skillType_; }
    set {
      skillType_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleCheckSkillTypeActionData);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleCheckSkillTypeActionData other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SkillType != other.SkillType) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SkillType != 0) hash ^= SkillType.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SkillType != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(SkillType);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SkillType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(SkillType);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleCheckSkillTypeActionData other) {
    if (other == null) {
      return;
    }
    if (other.SkillType != 0) {
      SkillType = other.SkillType;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          SkillType = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class BattleCheckSquadInFightActionData : pb::IMessage<BattleCheckSquadInFightActionData> {
  private static readonly pb::MessageParser<BattleCheckSquadInFightActionData> _parser = new pb::MessageParser<BattleCheckSquadInFightActionData>(() => new BattleCheckSquadInFightActionData());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleCheckSquadInFightActionData> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[178]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCheckSquadInFightActionData() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCheckSquadInFightActionData(BattleCheckSquadInFightActionData other) : this() {
    isInverse_ = other.isInverse_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCheckSquadInFightActionData Clone() {
    return new BattleCheckSquadInFightActionData(this);
  }

  /// <summary>Field number for the "is_inverse" field.</summary>
  public const int IsInverseFieldNumber = 1;
  private bool isInverse_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool IsInverse {
    get { return isInverse_; }
    set {
      isInverse_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleCheckSquadInFightActionData);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleCheckSquadInFightActionData other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (IsInverse != other.IsInverse) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (IsInverse != false) hash ^= IsInverse.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (IsInverse != false) {
      output.WriteRawTag(8);
      output.WriteBool(IsInverse);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (IsInverse != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleCheckSquadInFightActionData other) {
    if (other == null) {
      return;
    }
    if (other.IsInverse != false) {
      IsInverse = other.IsInverse;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          IsInverse = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class BattleCheckTagMatchActionData : pb::IMessage<BattleCheckTagMatchActionData> {
  private static readonly pb::MessageParser<BattleCheckTagMatchActionData> _parser = new pb::MessageParser<BattleCheckTagMatchActionData>(() => new BattleCheckTagMatchActionData());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleCheckTagMatchActionData> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[179]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCheckTagMatchActionData() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCheckTagMatchActionData(BattleCheckTagMatchActionData other) : this() {
    query_ = other.query_ != null ? other.query_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCheckTagMatchActionData Clone() {
    return new BattleCheckTagMatchActionData(this);
  }

  /// <summary>Field number for the "query" field.</summary>
  public const int QueryFieldNumber = 1;
  private global::GameplayTagQuery query_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::GameplayTagQuery Query {
    get { return query_; }
    set {
      query_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleCheckTagMatchActionData);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleCheckTagMatchActionData other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!object.Equals(Query, other.Query)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (query_ != null) hash ^= Query.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (query_ != null) {
      output.WriteRawTag(10);
      output.WriteMessage(Query);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (query_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Query);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleCheckTagMatchActionData other) {
    if (other == null) {
      return;
    }
    if (other.query_ != null) {
      if (query_ == null) {
        query_ = new global::GameplayTagQuery();
      }
      Query.MergeFrom(other.Query);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          if (query_ == null) {
            query_ = new global::GameplayTagQuery();
          }
          input.ReadMessage(query_);
          break;
        }
      }
    }
  }

}

public sealed partial class GameplayTagQuery : pb::IMessage<GameplayTagQuery> {
  private static readonly pb::MessageParser<GameplayTagQuery> _parser = new pb::MessageParser<GameplayTagQuery>(() => new GameplayTagQuery());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<GameplayTagQuery> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[180]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public GameplayTagQuery() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public GameplayTagQuery(GameplayTagQuery other) : this() {
    queryType_ = other.queryType_;
    tagIds_ = other.tagIds_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public GameplayTagQuery Clone() {
    return new GameplayTagQuery(this);
  }

  /// <summary>Field number for the "query_type" field.</summary>
  public const int QueryTypeFieldNumber = 1;
  private int queryType_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int QueryType {
    get { return queryType_; }
    set {
      queryType_ = value;
    }
  }

  /// <summary>Field number for the "tag_ids" field.</summary>
  public const int TagIdsFieldNumber = 2;
  private static readonly pb::FieldCodec<int> _repeated_tagIds_codec
      = pb::FieldCodec.ForInt32(18);
  private readonly pbc::RepeatedField<int> tagIds_ = new pbc::RepeatedField<int>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<int> TagIds {
    get { return tagIds_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as GameplayTagQuery);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(GameplayTagQuery other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (QueryType != other.QueryType) return false;
    if(!tagIds_.Equals(other.tagIds_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (QueryType != 0) hash ^= QueryType.GetHashCode();
    hash ^= tagIds_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (QueryType != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(QueryType);
    }
    tagIds_.WriteTo(output, _repeated_tagIds_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (QueryType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(QueryType);
    }
    size += tagIds_.CalculateSize(_repeated_tagIds_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(GameplayTagQuery other) {
    if (other == null) {
      return;
    }
    if (other.QueryType != 0) {
      QueryType = other.QueryType;
    }
    tagIds_.Add(other.tagIds_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          QueryType = input.ReadInt32();
          break;
        }
        case 18:
        case 16: {
          tagIds_.AddEntriesFrom(input, _repeated_tagIds_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class BattleCheckTargetAngleActionData : pb::IMessage<BattleCheckTargetAngleActionData> {
  private static readonly pb::MessageParser<BattleCheckTargetAngleActionData> _parser = new pb::MessageParser<BattleCheckTargetAngleActionData>(() => new BattleCheckTargetAngleActionData());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleCheckTargetAngleActionData> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[181]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCheckTargetAngleActionData() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCheckTargetAngleActionData(BattleCheckTargetAngleActionData other) : this() {
    angle_ = other.angle_ != null ? other.angle_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCheckTargetAngleActionData Clone() {
    return new BattleCheckTargetAngleActionData(this);
  }

  /// <summary>Field number for the "angle" field.</summary>
  public const int AngleFieldNumber = 1;
  private global::BattleBlackboardFloat angle_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleBlackboardFloat Angle {
    get { return angle_; }
    set {
      angle_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleCheckTargetAngleActionData);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleCheckTargetAngleActionData other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!object.Equals(Angle, other.Angle)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (angle_ != null) hash ^= Angle.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (angle_ != null) {
      output.WriteRawTag(10);
      output.WriteMessage(Angle);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (angle_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Angle);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleCheckTargetAngleActionData other) {
    if (other == null) {
      return;
    }
    if (other.angle_ != null) {
      if (angle_ == null) {
        angle_ = new global::BattleBlackboardFloat();
      }
      Angle.MergeFrom(other.Angle);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          if (angle_ == null) {
            angle_ = new global::BattleBlackboardFloat();
          }
          input.ReadMessage(angle_);
          break;
        }
      }
    }
  }

}

public sealed partial class BattleCompareFloatActionData : pb::IMessage<BattleCompareFloatActionData> {
  private static readonly pb::MessageParser<BattleCompareFloatActionData> _parser = new pb::MessageParser<BattleCompareFloatActionData>(() => new BattleCompareFloatActionData());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleCompareFloatActionData> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[182]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCompareFloatActionData() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCompareFloatActionData(BattleCompareFloatActionData other) : this() {
    compareType_ = other.compareType_;
    valueA_ = other.valueA_ != null ? other.valueA_.Clone() : null;
    valueB_ = other.valueB_ != null ? other.valueB_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleCompareFloatActionData Clone() {
    return new BattleCompareFloatActionData(this);
  }

  /// <summary>Field number for the "compare_type" field.</summary>
  public const int CompareTypeFieldNumber = 1;
  private int compareType_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CompareType {
    get { return compareType_; }
    set {
      compareType_ = value;
    }
  }

  /// <summary>Field number for the "value_a" field.</summary>
  public const int ValueAFieldNumber = 2;
  private global::BattleBlackboardFloat valueA_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleBlackboardFloat ValueA {
    get { return valueA_; }
    set {
      valueA_ = value;
    }
  }

  /// <summary>Field number for the "value_b" field.</summary>
  public const int ValueBFieldNumber = 3;
  private global::BattleBlackboardFloat valueB_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleBlackboardFloat ValueB {
    get { return valueB_; }
    set {
      valueB_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleCompareFloatActionData);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleCompareFloatActionData other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (CompareType != other.CompareType) return false;
    if (!object.Equals(ValueA, other.ValueA)) return false;
    if (!object.Equals(ValueB, other.ValueB)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (CompareType != 0) hash ^= CompareType.GetHashCode();
    if (valueA_ != null) hash ^= ValueA.GetHashCode();
    if (valueB_ != null) hash ^= ValueB.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (CompareType != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(CompareType);
    }
    if (valueA_ != null) {
      output.WriteRawTag(18);
      output.WriteMessage(ValueA);
    }
    if (valueB_ != null) {
      output.WriteRawTag(26);
      output.WriteMessage(ValueB);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (CompareType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(CompareType);
    }
    if (valueA_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(ValueA);
    }
    if (valueB_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(ValueB);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleCompareFloatActionData other) {
    if (other == null) {
      return;
    }
    if (other.CompareType != 0) {
      CompareType = other.CompareType;
    }
    if (other.valueA_ != null) {
      if (valueA_ == null) {
        valueA_ = new global::BattleBlackboardFloat();
      }
      ValueA.MergeFrom(other.ValueA);
    }
    if (other.valueB_ != null) {
      if (valueB_ == null) {
        valueB_ = new global::BattleBlackboardFloat();
      }
      ValueB.MergeFrom(other.ValueB);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          CompareType = input.ReadInt32();
          break;
        }
        case 18: {
          if (valueA_ == null) {
            valueA_ = new global::BattleBlackboardFloat();
          }
          input.ReadMessage(valueA_);
          break;
        }
        case 26: {
          if (valueB_ == null) {
            valueB_ = new global::BattleBlackboardFloat();
          }
          input.ReadMessage(valueB_);
          break;
        }
      }
    }
  }

}

public sealed partial class BattleProbabilityActionData : pb::IMessage<BattleProbabilityActionData> {
  private static readonly pb::MessageParser<BattleProbabilityActionData> _parser = new pb::MessageParser<BattleProbabilityActionData>(() => new BattleProbabilityActionData());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleProbabilityActionData> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[183]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleProbabilityActionData() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleProbabilityActionData(BattleProbabilityActionData other) : this() {
    probability_ = other.probability_ != null ? other.probability_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleProbabilityActionData Clone() {
    return new BattleProbabilityActionData(this);
  }

  /// <summary>Field number for the "probability" field.</summary>
  public const int ProbabilityFieldNumber = 1;
  private global::BattleBlackboardFloat probability_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleBlackboardFloat Probability {
    get { return probability_; }
    set {
      probability_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleProbabilityActionData);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleProbabilityActionData other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!object.Equals(Probability, other.Probability)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (probability_ != null) hash ^= Probability.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (probability_ != null) {
      output.WriteRawTag(10);
      output.WriteMessage(Probability);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (probability_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Probability);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleProbabilityActionData other) {
    if (other == null) {
      return;
    }
    if (other.probability_ != null) {
      if (probability_ == null) {
        probability_ = new global::BattleBlackboardFloat();
      }
      Probability.MergeFrom(other.Probability);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          if (probability_ == null) {
            probability_ = new global::BattleBlackboardFloat();
          }
          input.ReadMessage(probability_);
          break;
        }
      }
    }
  }

}

public sealed partial class BattleLaunchProjectileActionData : pb::IMessage<BattleLaunchProjectileActionData> {
  private static readonly pb::MessageParser<BattleLaunchProjectileActionData> _parser = new pb::MessageParser<BattleLaunchProjectileActionData>(() => new BattleLaunchProjectileActionData());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleLaunchProjectileActionData> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[184]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleLaunchProjectileActionData() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleLaunchProjectileActionData(BattleLaunchProjectileActionData other) : this() {
    projectileId_ = other.projectileId_;
    assignBlackboard_ = other.assignBlackboard_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleLaunchProjectileActionData Clone() {
    return new BattleLaunchProjectileActionData(this);
  }

  /// <summary>Field number for the "projectile_id" field.</summary>
  public const int ProjectileIdFieldNumber = 1;
  private string projectileId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ProjectileId {
    get { return projectileId_; }
    set {
      projectileId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "assign_blackboard" field.</summary>
  public const int AssignBlackboardFieldNumber = 3;
  private bool assignBlackboard_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool AssignBlackboard {
    get { return assignBlackboard_; }
    set {
      assignBlackboard_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleLaunchProjectileActionData);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleLaunchProjectileActionData other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ProjectileId != other.ProjectileId) return false;
    if (AssignBlackboard != other.AssignBlackboard) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ProjectileId.Length != 0) hash ^= ProjectileId.GetHashCode();
    if (AssignBlackboard != false) hash ^= AssignBlackboard.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ProjectileId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(ProjectileId);
    }
    if (AssignBlackboard != false) {
      output.WriteRawTag(24);
      output.WriteBool(AssignBlackboard);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ProjectileId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ProjectileId);
    }
    if (AssignBlackboard != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleLaunchProjectileActionData other) {
    if (other == null) {
      return;
    }
    if (other.ProjectileId.Length != 0) {
      ProjectileId = other.ProjectileId;
    }
    if (other.AssignBlackboard != false) {
      AssignBlackboard = other.AssignBlackboard;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          ProjectileId = input.ReadString();
          break;
        }
        case 24: {
          AssignBlackboard = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class BattleSpawnAbilityEntityActionData : pb::IMessage<BattleSpawnAbilityEntityActionData> {
  private static readonly pb::MessageParser<BattleSpawnAbilityEntityActionData> _parser = new pb::MessageParser<BattleSpawnAbilityEntityActionData>(() => new BattleSpawnAbilityEntityActionData());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleSpawnAbilityEntityActionData> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[185]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleSpawnAbilityEntityActionData() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleSpawnAbilityEntityActionData(BattleSpawnAbilityEntityActionData other) : this() {
    abilityEntityId_ = other.abilityEntityId_;
    assignBlackboard_ = other.assignBlackboard_;
    setSpawnerAsSource_ = other.setSpawnerAsSource_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleSpawnAbilityEntityActionData Clone() {
    return new BattleSpawnAbilityEntityActionData(this);
  }

  /// <summary>Field number for the "ability_entity_id" field.</summary>
  public const int AbilityEntityIdFieldNumber = 1;
  private string abilityEntityId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string AbilityEntityId {
    get { return abilityEntityId_; }
    set {
      abilityEntityId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "assign_blackboard" field.</summary>
  public const int AssignBlackboardFieldNumber = 3;
  private bool assignBlackboard_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool AssignBlackboard {
    get { return assignBlackboard_; }
    set {
      assignBlackboard_ = value;
    }
  }

  /// <summary>Field number for the "set_spawner_as_source" field.</summary>
  public const int SetSpawnerAsSourceFieldNumber = 4;
  private bool setSpawnerAsSource_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool SetSpawnerAsSource {
    get { return setSpawnerAsSource_; }
    set {
      setSpawnerAsSource_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleSpawnAbilityEntityActionData);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleSpawnAbilityEntityActionData other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (AbilityEntityId != other.AbilityEntityId) return false;
    if (AssignBlackboard != other.AssignBlackboard) return false;
    if (SetSpawnerAsSource != other.SetSpawnerAsSource) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (AbilityEntityId.Length != 0) hash ^= AbilityEntityId.GetHashCode();
    if (AssignBlackboard != false) hash ^= AssignBlackboard.GetHashCode();
    if (SetSpawnerAsSource != false) hash ^= SetSpawnerAsSource.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (AbilityEntityId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(AbilityEntityId);
    }
    if (AssignBlackboard != false) {
      output.WriteRawTag(24);
      output.WriteBool(AssignBlackboard);
    }
    if (SetSpawnerAsSource != false) {
      output.WriteRawTag(32);
      output.WriteBool(SetSpawnerAsSource);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (AbilityEntityId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(AbilityEntityId);
    }
    if (AssignBlackboard != false) {
      size += 1 + 1;
    }
    if (SetSpawnerAsSource != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleSpawnAbilityEntityActionData other) {
    if (other == null) {
      return;
    }
    if (other.AbilityEntityId.Length != 0) {
      AbilityEntityId = other.AbilityEntityId;
    }
    if (other.AssignBlackboard != false) {
      AssignBlackboard = other.AssignBlackboard;
    }
    if (other.SetSpawnerAsSource != false) {
      SetSpawnerAsSource = other.SetSpawnerAsSource;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          AbilityEntityId = input.ReadString();
          break;
        }
        case 24: {
          AssignBlackboard = input.ReadBool();
          break;
        }
        case 32: {
          SetSpawnerAsSource = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class BattleSpawnCustomSummonActionData : pb::IMessage<BattleSpawnCustomSummonActionData> {
  private static readonly pb::MessageParser<BattleSpawnCustomSummonActionData> _parser = new pb::MessageParser<BattleSpawnCustomSummonActionData>(() => new BattleSpawnCustomSummonActionData());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleSpawnCustomSummonActionData> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[186]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleSpawnCustomSummonActionData() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleSpawnCustomSummonActionData(BattleSpawnCustomSummonActionData other) : this() {
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleSpawnCustomSummonActionData Clone() {
    return new BattleSpawnCustomSummonActionData(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleSpawnCustomSummonActionData);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleSpawnCustomSummonActionData other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleSpawnCustomSummonActionData other) {
    if (other == null) {
      return;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
      }
    }
  }

}

public sealed partial class BattleRefreshBuffAttrModifierValueActionData : pb::IMessage<BattleRefreshBuffAttrModifierValueActionData> {
  private static readonly pb::MessageParser<BattleRefreshBuffAttrModifierValueActionData> _parser = new pb::MessageParser<BattleRefreshBuffAttrModifierValueActionData>(() => new BattleRefreshBuffAttrModifierValueActionData());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleRefreshBuffAttrModifierValueActionData> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[187]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleRefreshBuffAttrModifierValueActionData() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleRefreshBuffAttrModifierValueActionData(BattleRefreshBuffAttrModifierValueActionData other) : this() {
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleRefreshBuffAttrModifierValueActionData Clone() {
    return new BattleRefreshBuffAttrModifierValueActionData(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleRefreshBuffAttrModifierValueActionData);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleRefreshBuffAttrModifierValueActionData other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleRefreshBuffAttrModifierValueActionData other) {
    if (other == null) {
      return;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
      }
    }
  }

}

public sealed partial class BattleStoreAttributeValueActionData : pb::IMessage<BattleStoreAttributeValueActionData> {
  private static readonly pb::MessageParser<BattleStoreAttributeValueActionData> _parser = new pb::MessageParser<BattleStoreAttributeValueActionData>(() => new BattleStoreAttributeValueActionData());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleStoreAttributeValueActionData> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[188]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleStoreAttributeValueActionData() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleStoreAttributeValueActionData(BattleStoreAttributeValueActionData other) : this() {
    key_ = other.key_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleStoreAttributeValueActionData Clone() {
    return new BattleStoreAttributeValueActionData(this);
  }

  /// <summary>Field number for the "key" field.</summary>
  public const int KeyFieldNumber = 1;
  private string key_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string Key {
    get { return key_; }
    set {
      key_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleStoreAttributeValueActionData);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleStoreAttributeValueActionData other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Key != other.Key) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Key.Length != 0) hash ^= Key.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Key.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(Key);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Key.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(Key);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleStoreAttributeValueActionData other) {
    if (other == null) {
      return;
    }
    if (other.Key.Length != 0) {
      Key = other.Key;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          Key = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class BattleSetBlackboardFromPresetData : pb::IMessage<BattleSetBlackboardFromPresetData> {
  private static readonly pb::MessageParser<BattleSetBlackboardFromPresetData> _parser = new pb::MessageParser<BattleSetBlackboardFromPresetData>(() => new BattleSetBlackboardFromPresetData());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleSetBlackboardFromPresetData> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[189]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleSetBlackboardFromPresetData() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleSetBlackboardFromPresetData(BattleSetBlackboardFromPresetData other) : this() {
    validValues_ = other.validValues_.Clone();
    key_ = other.key_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleSetBlackboardFromPresetData Clone() {
    return new BattleSetBlackboardFromPresetData(this);
  }

  /// <summary>Field number for the "valid_values" field.</summary>
  public const int ValidValuesFieldNumber = 1;
  private static readonly pb::FieldCodec<string> _repeated_validValues_codec
      = pb::FieldCodec.ForString(10);
  private readonly pbc::RepeatedField<string> validValues_ = new pbc::RepeatedField<string>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<string> ValidValues {
    get { return validValues_; }
  }

  /// <summary>Field number for the "key" field.</summary>
  public const int KeyFieldNumber = 2;
  private string key_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string Key {
    get { return key_; }
    set {
      key_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleSetBlackboardFromPresetData);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleSetBlackboardFromPresetData other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!validValues_.Equals(other.validValues_)) return false;
    if (Key != other.Key) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= validValues_.GetHashCode();
    if (Key.Length != 0) hash ^= Key.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    validValues_.WriteTo(output, _repeated_validValues_codec);
    if (Key.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(Key);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += validValues_.CalculateSize(_repeated_validValues_codec);
    if (Key.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(Key);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleSetBlackboardFromPresetData other) {
    if (other == null) {
      return;
    }
    validValues_.Add(other.validValues_);
    if (other.Key.Length != 0) {
      Key = other.Key;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          validValues_.AddEntriesFrom(input, _repeated_validValues_codec);
          break;
        }
        case 18: {
          Key = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class BattleActionEmptyRes : pb::IMessage<BattleActionEmptyRes> {
  private static readonly pb::MessageParser<BattleActionEmptyRes> _parser = new pb::MessageParser<BattleActionEmptyRes>(() => new BattleActionEmptyRes());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleActionEmptyRes> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[190]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleActionEmptyRes() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleActionEmptyRes(BattleActionEmptyRes other) : this() {
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleActionEmptyRes Clone() {
    return new BattleActionEmptyRes(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleActionEmptyRes);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleActionEmptyRes other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleActionEmptyRes other) {
    if (other == null) {
      return;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
      }
    }
  }

}

public sealed partial class BuffHealModifierRes : pb::IMessage<BuffHealModifierRes> {
  private static readonly pb::MessageParser<BuffHealModifierRes> _parser = new pb::MessageParser<BuffHealModifierRes>(() => new BuffHealModifierRes());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BuffHealModifierRes> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[191]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BuffHealModifierRes() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BuffHealModifierRes(BuffHealModifierRes other) : this() {
    enableSide_ = other.enableSide_;
    index_ = other.index_;
    condActions_ = other.condActions_.Clone();
    healProcessors_ = other.healProcessors_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BuffHealModifierRes Clone() {
    return new BuffHealModifierRes(this);
  }

  /// <summary>Field number for the "enable_side" field.</summary>
  public const int EnableSideFieldNumber = 1;
  private int enableSide_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int EnableSide {
    get { return enableSide_; }
    set {
      enableSide_ = value;
    }
  }

  /// <summary>Field number for the "index" field.</summary>
  public const int IndexFieldNumber = 2;
  private int index_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Index {
    get { return index_; }
    set {
      index_ = value;
    }
  }

  /// <summary>Field number for the "cond_actions" field.</summary>
  public const int CondActionsFieldNumber = 3;
  private static readonly pb::FieldCodec<global::BattleActionRes> _repeated_condActions_codec
      = pb::FieldCodec.ForMessage(26, global::BattleActionRes.Parser);
  private readonly pbc::RepeatedField<global::BattleActionRes> condActions_ = new pbc::RepeatedField<global::BattleActionRes>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::BattleActionRes> CondActions {
    get { return condActions_; }
  }

  /// <summary>Field number for the "heal_processors" field.</summary>
  public const int HealProcessorsFieldNumber = 4;
  private static readonly pb::FieldCodec<global::BattleHealProcessor> _repeated_healProcessors_codec
      = pb::FieldCodec.ForMessage(34, global::BattleHealProcessor.Parser);
  private readonly pbc::RepeatedField<global::BattleHealProcessor> healProcessors_ = new pbc::RepeatedField<global::BattleHealProcessor>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::BattleHealProcessor> HealProcessors {
    get { return healProcessors_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BuffHealModifierRes);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BuffHealModifierRes other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (EnableSide != other.EnableSide) return false;
    if (Index != other.Index) return false;
    if(!condActions_.Equals(other.condActions_)) return false;
    if(!healProcessors_.Equals(other.healProcessors_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (EnableSide != 0) hash ^= EnableSide.GetHashCode();
    if (Index != 0) hash ^= Index.GetHashCode();
    hash ^= condActions_.GetHashCode();
    hash ^= healProcessors_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (EnableSide != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(EnableSide);
    }
    if (Index != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(Index);
    }
    condActions_.WriteTo(output, _repeated_condActions_codec);
    healProcessors_.WriteTo(output, _repeated_healProcessors_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (EnableSide != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(EnableSide);
    }
    if (Index != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Index);
    }
    size += condActions_.CalculateSize(_repeated_condActions_codec);
    size += healProcessors_.CalculateSize(_repeated_healProcessors_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BuffHealModifierRes other) {
    if (other == null) {
      return;
    }
    if (other.EnableSide != 0) {
      EnableSide = other.EnableSide;
    }
    if (other.Index != 0) {
      Index = other.Index;
    }
    condActions_.Add(other.condActions_);
    healProcessors_.Add(other.healProcessors_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          EnableSide = input.ReadInt32();
          break;
        }
        case 16: {
          Index = input.ReadInt32();
          break;
        }
        case 26: {
          condActions_.AddEntriesFrom(input, _repeated_condActions_codec);
          break;
        }
        case 34: {
          healProcessors_.AddEntriesFrom(input, _repeated_healProcessors_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class BattleHealProcessor : pb::IMessage<BattleHealProcessor> {
  private static readonly pb::MessageParser<BattleHealProcessor> _parser = new pb::MessageParser<BattleHealProcessor>(() => new BattleHealProcessor());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleHealProcessor> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[192]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleHealProcessor() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleHealProcessor(BattleHealProcessor other) : this() {
    type_ = other.type_;
    switch (other.ProcessorImplCase) {
      case ProcessorImplOneofCase.HealProcessorEmpty:
        HealProcessorEmpty = other.HealProcessorEmpty.Clone();
        break;
      case ProcessorImplOneofCase.HealModifyCalcResult:
        HealModifyCalcResult = other.HealModifyCalcResult.Clone();
        break;
      case ProcessorImplOneofCase.InstantModifyAttributeForHealProcessor:
        InstantModifyAttributeForHealProcessor = other.InstantModifyAttributeForHealProcessor.Clone();
        break;
    }

    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleHealProcessor Clone() {
    return new BattleHealProcessor(this);
  }

  /// <summary>Field number for the "type" field.</summary>
  public const int TypeFieldNumber = 1;
  private global::HealProcessorType type_ = 0;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::HealProcessorType Type {
    get { return type_; }
    set {
      type_ = value;
    }
  }

  /// <summary>Field number for the "heal_processor_empty" field.</summary>
  public const int HealProcessorEmptyFieldNumber = 2;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::HealProcessorEmpty HealProcessorEmpty {
    get { return processorImplCase_ == ProcessorImplOneofCase.HealProcessorEmpty ? (global::HealProcessorEmpty) processorImpl_ : null; }
    set {
      processorImpl_ = value;
      processorImplCase_ = value == null ? ProcessorImplOneofCase.None : ProcessorImplOneofCase.HealProcessorEmpty;
    }
  }

  /// <summary>Field number for the "heal_modify_calc_result" field.</summary>
  public const int HealModifyCalcResultFieldNumber = 3;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleModifyHealCalcResult HealModifyCalcResult {
    get { return processorImplCase_ == ProcessorImplOneofCase.HealModifyCalcResult ? (global::BattleModifyHealCalcResult) processorImpl_ : null; }
    set {
      processorImpl_ = value;
      processorImplCase_ = value == null ? ProcessorImplOneofCase.None : ProcessorImplOneofCase.HealModifyCalcResult;
    }
  }

  /// <summary>Field number for the "instant_modify_attribute_for_heal_processor" field.</summary>
  public const int InstantModifyAttributeForHealProcessorFieldNumber = 4;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::InstantModifyAttributeForHealProcessor InstantModifyAttributeForHealProcessor {
    get { return processorImplCase_ == ProcessorImplOneofCase.InstantModifyAttributeForHealProcessor ? (global::InstantModifyAttributeForHealProcessor) processorImpl_ : null; }
    set {
      processorImpl_ = value;
      processorImplCase_ = value == null ? ProcessorImplOneofCase.None : ProcessorImplOneofCase.InstantModifyAttributeForHealProcessor;
    }
  }

  private object processorImpl_;
  /// <summary>Enum of possible cases for the "processor_impl" oneof.</summary>
  public enum ProcessorImplOneofCase {
    None = 0,
    HealProcessorEmpty = 2,
    HealModifyCalcResult = 3,
    InstantModifyAttributeForHealProcessor = 4,
  }
  private ProcessorImplOneofCase processorImplCase_ = ProcessorImplOneofCase.None;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ProcessorImplOneofCase ProcessorImplCase {
    get { return processorImplCase_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void ClearProcessorImpl() {
    processorImplCase_ = ProcessorImplOneofCase.None;
    processorImpl_ = null;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleHealProcessor);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleHealProcessor other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Type != other.Type) return false;
    if (!object.Equals(HealProcessorEmpty, other.HealProcessorEmpty)) return false;
    if (!object.Equals(HealModifyCalcResult, other.HealModifyCalcResult)) return false;
    if (!object.Equals(InstantModifyAttributeForHealProcessor, other.InstantModifyAttributeForHealProcessor)) return false;
    if (ProcessorImplCase != other.ProcessorImplCase) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Type != 0) hash ^= Type.GetHashCode();
    if (processorImplCase_ == ProcessorImplOneofCase.HealProcessorEmpty) hash ^= HealProcessorEmpty.GetHashCode();
    if (processorImplCase_ == ProcessorImplOneofCase.HealModifyCalcResult) hash ^= HealModifyCalcResult.GetHashCode();
    if (processorImplCase_ == ProcessorImplOneofCase.InstantModifyAttributeForHealProcessor) hash ^= InstantModifyAttributeForHealProcessor.GetHashCode();
    hash ^= (int) processorImplCase_;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Type != 0) {
      output.WriteRawTag(8);
      output.WriteEnum((int) Type);
    }
    if (processorImplCase_ == ProcessorImplOneofCase.HealProcessorEmpty) {
      output.WriteRawTag(18);
      output.WriteMessage(HealProcessorEmpty);
    }
    if (processorImplCase_ == ProcessorImplOneofCase.HealModifyCalcResult) {
      output.WriteRawTag(26);
      output.WriteMessage(HealModifyCalcResult);
    }
    if (processorImplCase_ == ProcessorImplOneofCase.InstantModifyAttributeForHealProcessor) {
      output.WriteRawTag(34);
      output.WriteMessage(InstantModifyAttributeForHealProcessor);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Type != 0) {
      size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Type);
    }
    if (processorImplCase_ == ProcessorImplOneofCase.HealProcessorEmpty) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(HealProcessorEmpty);
    }
    if (processorImplCase_ == ProcessorImplOneofCase.HealModifyCalcResult) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(HealModifyCalcResult);
    }
    if (processorImplCase_ == ProcessorImplOneofCase.InstantModifyAttributeForHealProcessor) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(InstantModifyAttributeForHealProcessor);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleHealProcessor other) {
    if (other == null) {
      return;
    }
    if (other.Type != 0) {
      Type = other.Type;
    }
    switch (other.ProcessorImplCase) {
      case ProcessorImplOneofCase.HealProcessorEmpty:
        if (HealProcessorEmpty == null) {
          HealProcessorEmpty = new global::HealProcessorEmpty();
        }
        HealProcessorEmpty.MergeFrom(other.HealProcessorEmpty);
        break;
      case ProcessorImplOneofCase.HealModifyCalcResult:
        if (HealModifyCalcResult == null) {
          HealModifyCalcResult = new global::BattleModifyHealCalcResult();
        }
        HealModifyCalcResult.MergeFrom(other.HealModifyCalcResult);
        break;
      case ProcessorImplOneofCase.InstantModifyAttributeForHealProcessor:
        if (InstantModifyAttributeForHealProcessor == null) {
          InstantModifyAttributeForHealProcessor = new global::InstantModifyAttributeForHealProcessor();
        }
        InstantModifyAttributeForHealProcessor.MergeFrom(other.InstantModifyAttributeForHealProcessor);
        break;
    }

    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          type_ = (global::HealProcessorType) input.ReadEnum();
          break;
        }
        case 18: {
          global::HealProcessorEmpty subBuilder = new global::HealProcessorEmpty();
          if (processorImplCase_ == ProcessorImplOneofCase.HealProcessorEmpty) {
            subBuilder.MergeFrom(HealProcessorEmpty);
          }
          input.ReadMessage(subBuilder);
          HealProcessorEmpty = subBuilder;
          break;
        }
        case 26: {
          global::BattleModifyHealCalcResult subBuilder = new global::BattleModifyHealCalcResult();
          if (processorImplCase_ == ProcessorImplOneofCase.HealModifyCalcResult) {
            subBuilder.MergeFrom(HealModifyCalcResult);
          }
          input.ReadMessage(subBuilder);
          HealModifyCalcResult = subBuilder;
          break;
        }
        case 34: {
          global::InstantModifyAttributeForHealProcessor subBuilder = new global::InstantModifyAttributeForHealProcessor();
          if (processorImplCase_ == ProcessorImplOneofCase.InstantModifyAttributeForHealProcessor) {
            subBuilder.MergeFrom(InstantModifyAttributeForHealProcessor);
          }
          input.ReadMessage(subBuilder);
          InstantModifyAttributeForHealProcessor = subBuilder;
          break;
        }
      }
    }
  }

}

public sealed partial class HealProcessorEmpty : pb::IMessage<HealProcessorEmpty> {
  private static readonly pb::MessageParser<HealProcessorEmpty> _parser = new pb::MessageParser<HealProcessorEmpty>(() => new HealProcessorEmpty());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<HealProcessorEmpty> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[193]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public HealProcessorEmpty() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public HealProcessorEmpty(HealProcessorEmpty other) : this() {
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public HealProcessorEmpty Clone() {
    return new HealProcessorEmpty(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as HealProcessorEmpty);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(HealProcessorEmpty other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(HealProcessorEmpty other) {
    if (other == null) {
      return;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
      }
    }
  }

}

public sealed partial class BattleModifyHealCalcResult : pb::IMessage<BattleModifyHealCalcResult> {
  private static readonly pb::MessageParser<BattleModifyHealCalcResult> _parser = new pb::MessageParser<BattleModifyHealCalcResult>(() => new BattleModifyHealCalcResult());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleModifyHealCalcResult> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[194]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleModifyHealCalcResult() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleModifyHealCalcResult(BattleModifyHealCalcResult other) : this() {
    modifyType_ = other.modifyType_;
    multiplier_ = other.multiplier_ != null ? other.multiplier_.Clone() : null;
    multiplierCnt_ = other.multiplierCnt_ != null ? other.multiplierCnt_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleModifyHealCalcResult Clone() {
    return new BattleModifyHealCalcResult(this);
  }

  /// <summary>Field number for the "modify_type" field.</summary>
  public const int ModifyTypeFieldNumber = 1;
  private int modifyType_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ModifyType {
    get { return modifyType_; }
    set {
      modifyType_ = value;
    }
  }

  /// <summary>Field number for the "multiplier" field.</summary>
  public const int MultiplierFieldNumber = 2;
  private global::BattleBlackboardFloat multiplier_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleBlackboardFloat Multiplier {
    get { return multiplier_; }
    set {
      multiplier_ = value;
    }
  }

  /// <summary>Field number for the "multiplier_cnt" field.</summary>
  public const int MultiplierCntFieldNumber = 3;
  private global::BattleBlackboardFloat multiplierCnt_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleBlackboardFloat MultiplierCnt {
    get { return multiplierCnt_; }
    set {
      multiplierCnt_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleModifyHealCalcResult);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleModifyHealCalcResult other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ModifyType != other.ModifyType) return false;
    if (!object.Equals(Multiplier, other.Multiplier)) return false;
    if (!object.Equals(MultiplierCnt, other.MultiplierCnt)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ModifyType != 0) hash ^= ModifyType.GetHashCode();
    if (multiplier_ != null) hash ^= Multiplier.GetHashCode();
    if (multiplierCnt_ != null) hash ^= MultiplierCnt.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ModifyType != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(ModifyType);
    }
    if (multiplier_ != null) {
      output.WriteRawTag(18);
      output.WriteMessage(Multiplier);
    }
    if (multiplierCnt_ != null) {
      output.WriteRawTag(26);
      output.WriteMessage(MultiplierCnt);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ModifyType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ModifyType);
    }
    if (multiplier_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Multiplier);
    }
    if (multiplierCnt_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(MultiplierCnt);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleModifyHealCalcResult other) {
    if (other == null) {
      return;
    }
    if (other.ModifyType != 0) {
      ModifyType = other.ModifyType;
    }
    if (other.multiplier_ != null) {
      if (multiplier_ == null) {
        multiplier_ = new global::BattleBlackboardFloat();
      }
      Multiplier.MergeFrom(other.Multiplier);
    }
    if (other.multiplierCnt_ != null) {
      if (multiplierCnt_ == null) {
        multiplierCnt_ = new global::BattleBlackboardFloat();
      }
      MultiplierCnt.MergeFrom(other.MultiplierCnt);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ModifyType = input.ReadInt32();
          break;
        }
        case 18: {
          if (multiplier_ == null) {
            multiplier_ = new global::BattleBlackboardFloat();
          }
          input.ReadMessage(multiplier_);
          break;
        }
        case 26: {
          if (multiplierCnt_ == null) {
            multiplierCnt_ = new global::BattleBlackboardFloat();
          }
          input.ReadMessage(multiplierCnt_);
          break;
        }
      }
    }
  }

}

public sealed partial class InstantModifyAttributeForHealProcessor : pb::IMessage<InstantModifyAttributeForHealProcessor> {
  private static readonly pb::MessageParser<InstantModifyAttributeForHealProcessor> _parser = new pb::MessageParser<InstantModifyAttributeForHealProcessor>(() => new InstantModifyAttributeForHealProcessor());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<InstantModifyAttributeForHealProcessor> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[195]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public InstantModifyAttributeForHealProcessor() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public InstantModifyAttributeForHealProcessor(InstantModifyAttributeForHealProcessor other) : this() {
    type_ = other.type_;
    targetSide_ = other.targetSide_;
    attrModifier_ = other.attrModifier_ != null ? other.attrModifier_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public InstantModifyAttributeForHealProcessor Clone() {
    return new InstantModifyAttributeForHealProcessor(this);
  }

  /// <summary>Field number for the "type" field.</summary>
  public const int TypeFieldNumber = 1;
  private global::HealProcessorType type_ = 0;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::HealProcessorType Type {
    get { return type_; }
    set {
      type_ = value;
    }
  }

  /// <summary>Field number for the "target_side" field.</summary>
  public const int TargetSideFieldNumber = 2;
  private int targetSide_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int TargetSide {
    get { return targetSide_; }
    set {
      targetSide_ = value;
    }
  }

  /// <summary>Field number for the "attr_modifier" field.</summary>
  public const int AttrModifierFieldNumber = 3;
  private global::BattleAttrModifier attrModifier_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleAttrModifier AttrModifier {
    get { return attrModifier_; }
    set {
      attrModifier_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as InstantModifyAttributeForHealProcessor);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(InstantModifyAttributeForHealProcessor other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Type != other.Type) return false;
    if (TargetSide != other.TargetSide) return false;
    if (!object.Equals(AttrModifier, other.AttrModifier)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Type != 0) hash ^= Type.GetHashCode();
    if (TargetSide != 0) hash ^= TargetSide.GetHashCode();
    if (attrModifier_ != null) hash ^= AttrModifier.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Type != 0) {
      output.WriteRawTag(8);
      output.WriteEnum((int) Type);
    }
    if (TargetSide != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(TargetSide);
    }
    if (attrModifier_ != null) {
      output.WriteRawTag(26);
      output.WriteMessage(AttrModifier);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Type != 0) {
      size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Type);
    }
    if (TargetSide != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(TargetSide);
    }
    if (attrModifier_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(AttrModifier);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(InstantModifyAttributeForHealProcessor other) {
    if (other == null) {
      return;
    }
    if (other.Type != 0) {
      Type = other.Type;
    }
    if (other.TargetSide != 0) {
      TargetSide = other.TargetSide;
    }
    if (other.attrModifier_ != null) {
      if (attrModifier_ == null) {
        attrModifier_ = new global::BattleAttrModifier();
      }
      AttrModifier.MergeFrom(other.AttrModifier);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          type_ = (global::HealProcessorType) input.ReadEnum();
          break;
        }
        case 16: {
          TargetSide = input.ReadInt32();
          break;
        }
        case 26: {
          if (attrModifier_ == null) {
            attrModifier_ = new global::BattleAttrModifier();
          }
          input.ReadMessage(attrModifier_);
          break;
        }
      }
    }
  }

}

public sealed partial class BuffStackingSettings : pb::IMessage<BuffStackingSettings> {
  private static readonly pb::MessageParser<BuffStackingSettings> _parser = new pb::MessageParser<BuffStackingSettings>(() => new BuffStackingSettings());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BuffStackingSettings> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[196]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BuffStackingSettings() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BuffStackingSettings(BuffStackingSettings other) : this() {
    identifierType_ = other.identifierType_;
    stackingType_ = other.stackingType_;
    stackingKey_ = other.stackingKey_;
    priorityKey_ = other.priorityKey_;
    priority_ = other.priority_;
    maxStackCnt_ = other.maxStackCnt_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BuffStackingSettings Clone() {
    return new BuffStackingSettings(this);
  }

  /// <summary>Field number for the "identifier_type" field.</summary>
  public const int IdentifierTypeFieldNumber = 1;
  private int identifierType_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int IdentifierType {
    get { return identifierType_; }
    set {
      identifierType_ = value;
    }
  }

  /// <summary>Field number for the "stacking_type" field.</summary>
  public const int StackingTypeFieldNumber = 2;
  private int stackingType_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int StackingType {
    get { return stackingType_; }
    set {
      stackingType_ = value;
    }
  }

  /// <summary>Field number for the "stacking_key" field.</summary>
  public const int StackingKeyFieldNumber = 3;
  private string stackingKey_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string StackingKey {
    get { return stackingKey_; }
    set {
      stackingKey_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "priority_key" field.</summary>
  public const int PriorityKeyFieldNumber = 4;
  private string priorityKey_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string PriorityKey {
    get { return priorityKey_; }
    set {
      priorityKey_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "priority" field.</summary>
  public const int PriorityFieldNumber = 5;
  private int priority_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Priority {
    get { return priority_; }
    set {
      priority_ = value;
    }
  }

  /// <summary>Field number for the "max_stack_cnt" field.</summary>
  public const int MaxStackCntFieldNumber = 6;
  private int maxStackCnt_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int MaxStackCnt {
    get { return maxStackCnt_; }
    set {
      maxStackCnt_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BuffStackingSettings);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BuffStackingSettings other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (IdentifierType != other.IdentifierType) return false;
    if (StackingType != other.StackingType) return false;
    if (StackingKey != other.StackingKey) return false;
    if (PriorityKey != other.PriorityKey) return false;
    if (Priority != other.Priority) return false;
    if (MaxStackCnt != other.MaxStackCnt) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (IdentifierType != 0) hash ^= IdentifierType.GetHashCode();
    if (StackingType != 0) hash ^= StackingType.GetHashCode();
    if (StackingKey.Length != 0) hash ^= StackingKey.GetHashCode();
    if (PriorityKey.Length != 0) hash ^= PriorityKey.GetHashCode();
    if (Priority != 0) hash ^= Priority.GetHashCode();
    if (MaxStackCnt != 0) hash ^= MaxStackCnt.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (IdentifierType != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(IdentifierType);
    }
    if (StackingType != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(StackingType);
    }
    if (StackingKey.Length != 0) {
      output.WriteRawTag(26);
      output.WriteString(StackingKey);
    }
    if (PriorityKey.Length != 0) {
      output.WriteRawTag(34);
      output.WriteString(PriorityKey);
    }
    if (Priority != 0) {
      output.WriteRawTag(40);
      output.WriteInt32(Priority);
    }
    if (MaxStackCnt != 0) {
      output.WriteRawTag(48);
      output.WriteInt32(MaxStackCnt);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (IdentifierType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(IdentifierType);
    }
    if (StackingType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(StackingType);
    }
    if (StackingKey.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(StackingKey);
    }
    if (PriorityKey.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(PriorityKey);
    }
    if (Priority != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Priority);
    }
    if (MaxStackCnt != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(MaxStackCnt);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BuffStackingSettings other) {
    if (other == null) {
      return;
    }
    if (other.IdentifierType != 0) {
      IdentifierType = other.IdentifierType;
    }
    if (other.StackingType != 0) {
      StackingType = other.StackingType;
    }
    if (other.StackingKey.Length != 0) {
      StackingKey = other.StackingKey;
    }
    if (other.PriorityKey.Length != 0) {
      PriorityKey = other.PriorityKey;
    }
    if (other.Priority != 0) {
      Priority = other.Priority;
    }
    if (other.MaxStackCnt != 0) {
      MaxStackCnt = other.MaxStackCnt;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          IdentifierType = input.ReadInt32();
          break;
        }
        case 16: {
          StackingType = input.ReadInt32();
          break;
        }
        case 26: {
          StackingKey = input.ReadString();
          break;
        }
        case 34: {
          PriorityKey = input.ReadString();
          break;
        }
        case 40: {
          Priority = input.ReadInt32();
          break;
        }
        case 48: {
          MaxStackCnt = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class SkillRes : pb::IMessage<SkillRes> {
  private static readonly pb::MessageParser<SkillRes> _parser = new pb::MessageParser<SkillRes>(() => new SkillRes());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<SkillRes> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[197]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SkillRes() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SkillRes(SkillRes other) : this() {
    skillId_ = other.skillId_;
    costType_ = other.costType_;
    skillLv_ = other.skillLv_;
    costValue_ = other.costValue_;
    tagDuringAttach_ = other.tagDuringAttach_.Clone();
    blackboard_ = other.blackboard_ != null ? other.blackboard_.Clone() : null;
    actionMap_ = other.actionMap_.Clone();
    isPassive_ = other.isPassive_;
    attrModifiers_ = other.attrModifiers_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SkillRes Clone() {
    return new SkillRes(this);
  }

  /// <summary>Field number for the "skill_id" field.</summary>
  public const int SkillIdFieldNumber = 1;
  private string skillId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string SkillId {
    get { return skillId_; }
    set {
      skillId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "cost_type" field.</summary>
  public const int CostTypeFieldNumber = 2;
  private global::SkillCostType costType_ = 0;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::SkillCostType CostType {
    get { return costType_; }
    set {
      costType_ = value;
    }
  }

  /// <summary>Field number for the "skill_lv" field.</summary>
  public const int SkillLvFieldNumber = 3;
  private int skillLv_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int SkillLv {
    get { return skillLv_; }
    set {
      skillLv_ = value;
    }
  }

  /// <summary>Field number for the "cost_value" field.</summary>
  public const int CostValueFieldNumber = 4;
  private float costValue_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public float CostValue {
    get { return costValue_; }
    set {
      costValue_ = value;
    }
  }

  /// <summary>Field number for the "tag_during_attach" field.</summary>
  public const int TagDuringAttachFieldNumber = 5;
  private static readonly pb::FieldCodec<int> _repeated_tagDuringAttach_codec
      = pb::FieldCodec.ForInt32(42);
  private readonly pbc::RepeatedField<int> tagDuringAttach_ = new pbc::RepeatedField<int>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<int> TagDuringAttach {
    get { return tagDuringAttach_; }
  }

  /// <summary>Field number for the "blackboard" field.</summary>
  public const int BlackboardFieldNumber = 6;
  private global::BattleBlackboard blackboard_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleBlackboard Blackboard {
    get { return blackboard_; }
    set {
      blackboard_ = value;
    }
  }

  /// <summary>Field number for the "action_map" field.</summary>
  public const int ActionMapFieldNumber = 7;
  private static readonly pbc::MapField<int, global::BattleActionRes>.Codec _map_actionMap_codec
      = new pbc::MapField<int, global::BattleActionRes>.Codec(pb::FieldCodec.ForInt32(8), pb::FieldCodec.ForMessage(18, global::BattleActionRes.Parser), 58);
  private readonly pbc::MapField<int, global::BattleActionRes> actionMap_ = new pbc::MapField<int, global::BattleActionRes>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<int, global::BattleActionRes> ActionMap {
    get { return actionMap_; }
  }

  /// <summary>Field number for the "is_passive" field.</summary>
  public const int IsPassiveFieldNumber = 8;
  private bool isPassive_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool IsPassive {
    get { return isPassive_; }
    set {
      isPassive_ = value;
    }
  }

  /// <summary>Field number for the "attr_modifiers" field.</summary>
  public const int AttrModifiersFieldNumber = 9;
  private static readonly pb::FieldCodec<global::BattleAttrModifier> _repeated_attrModifiers_codec
      = pb::FieldCodec.ForMessage(74, global::BattleAttrModifier.Parser);
  private readonly pbc::RepeatedField<global::BattleAttrModifier> attrModifiers_ = new pbc::RepeatedField<global::BattleAttrModifier>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::BattleAttrModifier> AttrModifiers {
    get { return attrModifiers_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as SkillRes);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(SkillRes other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SkillId != other.SkillId) return false;
    if (CostType != other.CostType) return false;
    if (SkillLv != other.SkillLv) return false;
    if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(CostValue, other.CostValue)) return false;
    if(!tagDuringAttach_.Equals(other.tagDuringAttach_)) return false;
    if (!object.Equals(Blackboard, other.Blackboard)) return false;
    if (!ActionMap.Equals(other.ActionMap)) return false;
    if (IsPassive != other.IsPassive) return false;
    if(!attrModifiers_.Equals(other.attrModifiers_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SkillId.Length != 0) hash ^= SkillId.GetHashCode();
    if (CostType != 0) hash ^= CostType.GetHashCode();
    if (SkillLv != 0) hash ^= SkillLv.GetHashCode();
    if (CostValue != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(CostValue);
    hash ^= tagDuringAttach_.GetHashCode();
    if (blackboard_ != null) hash ^= Blackboard.GetHashCode();
    hash ^= ActionMap.GetHashCode();
    if (IsPassive != false) hash ^= IsPassive.GetHashCode();
    hash ^= attrModifiers_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SkillId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(SkillId);
    }
    if (CostType != 0) {
      output.WriteRawTag(16);
      output.WriteEnum((int) CostType);
    }
    if (SkillLv != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(SkillLv);
    }
    if (CostValue != 0F) {
      output.WriteRawTag(37);
      output.WriteFloat(CostValue);
    }
    tagDuringAttach_.WriteTo(output, _repeated_tagDuringAttach_codec);
    if (blackboard_ != null) {
      output.WriteRawTag(50);
      output.WriteMessage(Blackboard);
    }
    actionMap_.WriteTo(output, _map_actionMap_codec);
    if (IsPassive != false) {
      output.WriteRawTag(64);
      output.WriteBool(IsPassive);
    }
    attrModifiers_.WriteTo(output, _repeated_attrModifiers_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SkillId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(SkillId);
    }
    if (CostType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) CostType);
    }
    if (SkillLv != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(SkillLv);
    }
    if (CostValue != 0F) {
      size += 1 + 4;
    }
    size += tagDuringAttach_.CalculateSize(_repeated_tagDuringAttach_codec);
    if (blackboard_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Blackboard);
    }
    size += actionMap_.CalculateSize(_map_actionMap_codec);
    if (IsPassive != false) {
      size += 1 + 1;
    }
    size += attrModifiers_.CalculateSize(_repeated_attrModifiers_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(SkillRes other) {
    if (other == null) {
      return;
    }
    if (other.SkillId.Length != 0) {
      SkillId = other.SkillId;
    }
    if (other.CostType != 0) {
      CostType = other.CostType;
    }
    if (other.SkillLv != 0) {
      SkillLv = other.SkillLv;
    }
    if (other.CostValue != 0F) {
      CostValue = other.CostValue;
    }
    tagDuringAttach_.Add(other.tagDuringAttach_);
    if (other.blackboard_ != null) {
      if (blackboard_ == null) {
        blackboard_ = new global::BattleBlackboard();
      }
      Blackboard.MergeFrom(other.Blackboard);
    }
    actionMap_.Add(other.actionMap_);
    if (other.IsPassive != false) {
      IsPassive = other.IsPassive;
    }
    attrModifiers_.Add(other.attrModifiers_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          SkillId = input.ReadString();
          break;
        }
        case 16: {
          costType_ = (global::SkillCostType) input.ReadEnum();
          break;
        }
        case 24: {
          SkillLv = input.ReadInt32();
          break;
        }
        case 37: {
          CostValue = input.ReadFloat();
          break;
        }
        case 42:
        case 40: {
          tagDuringAttach_.AddEntriesFrom(input, _repeated_tagDuringAttach_codec);
          break;
        }
        case 50: {
          if (blackboard_ == null) {
            blackboard_ = new global::BattleBlackboard();
          }
          input.ReadMessage(blackboard_);
          break;
        }
        case 58: {
          actionMap_.AddEntriesFrom(input, _map_actionMap_codec);
          break;
        }
        case 64: {
          IsPassive = input.ReadBool();
          break;
        }
        case 74: {
          attrModifiers_.AddEntriesFrom(input, _repeated_attrModifiers_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class BattleBlackboardString : pb::IMessage<BattleBlackboardString> {
  private static readonly pb::MessageParser<BattleBlackboardString> _parser = new pb::MessageParser<BattleBlackboardString>(() => new BattleBlackboardString());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleBlackboardString> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[198]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleBlackboardString() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleBlackboardString(BattleBlackboardString other) : this() {
    useBlackboardKey_ = other.useBlackboardKey_;
    blackboardKey_ = other.blackboardKey_;
    defaultValue_ = other.defaultValue_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleBlackboardString Clone() {
    return new BattleBlackboardString(this);
  }

  /// <summary>Field number for the "use_blackboard_key" field.</summary>
  public const int UseBlackboardKeyFieldNumber = 1;
  private bool useBlackboardKey_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool UseBlackboardKey {
    get { return useBlackboardKey_; }
    set {
      useBlackboardKey_ = value;
    }
  }

  /// <summary>Field number for the "blackboard_key" field.</summary>
  public const int BlackboardKeyFieldNumber = 2;
  private string blackboardKey_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string BlackboardKey {
    get { return blackboardKey_; }
    set {
      blackboardKey_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "default_value" field.</summary>
  public const int DefaultValueFieldNumber = 3;
  private string defaultValue_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string DefaultValue {
    get { return defaultValue_; }
    set {
      defaultValue_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleBlackboardString);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleBlackboardString other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (UseBlackboardKey != other.UseBlackboardKey) return false;
    if (BlackboardKey != other.BlackboardKey) return false;
    if (DefaultValue != other.DefaultValue) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (UseBlackboardKey != false) hash ^= UseBlackboardKey.GetHashCode();
    if (BlackboardKey.Length != 0) hash ^= BlackboardKey.GetHashCode();
    if (DefaultValue.Length != 0) hash ^= DefaultValue.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (UseBlackboardKey != false) {
      output.WriteRawTag(8);
      output.WriteBool(UseBlackboardKey);
    }
    if (BlackboardKey.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(BlackboardKey);
    }
    if (DefaultValue.Length != 0) {
      output.WriteRawTag(26);
      output.WriteString(DefaultValue);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (UseBlackboardKey != false) {
      size += 1 + 1;
    }
    if (BlackboardKey.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(BlackboardKey);
    }
    if (DefaultValue.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(DefaultValue);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleBlackboardString other) {
    if (other == null) {
      return;
    }
    if (other.UseBlackboardKey != false) {
      UseBlackboardKey = other.UseBlackboardKey;
    }
    if (other.BlackboardKey.Length != 0) {
      BlackboardKey = other.BlackboardKey;
    }
    if (other.DefaultValue.Length != 0) {
      DefaultValue = other.DefaultValue;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          UseBlackboardKey = input.ReadBool();
          break;
        }
        case 18: {
          BlackboardKey = input.ReadString();
          break;
        }
        case 26: {
          DefaultValue = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class BattleSequenceRes : pb::IMessage<BattleSequenceRes> {
  private static readonly pb::MessageParser<BattleSequenceRes> _parser = new pb::MessageParser<BattleSequenceRes>(() => new BattleSequenceRes());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleSequenceRes> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[199]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleSequenceRes() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleSequenceRes(BattleSequenceRes other) : this() {
    sequenceId_ = other.sequenceId_;
    actions_ = other.actions_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleSequenceRes Clone() {
    return new BattleSequenceRes(this);
  }

  /// <summary>Field number for the "sequence_id" field.</summary>
  public const int SequenceIdFieldNumber = 1;
  private int sequenceId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int SequenceId {
    get { return sequenceId_; }
    set {
      sequenceId_ = value;
    }
  }

  /// <summary>Field number for the "actions" field.</summary>
  public const int ActionsFieldNumber = 2;
  private static readonly pb::FieldCodec<global::BattleActionRes> _repeated_actions_codec
      = pb::FieldCodec.ForMessage(18, global::BattleActionRes.Parser);
  private readonly pbc::RepeatedField<global::BattleActionRes> actions_ = new pbc::RepeatedField<global::BattleActionRes>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::BattleActionRes> Actions {
    get { return actions_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleSequenceRes);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleSequenceRes other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SequenceId != other.SequenceId) return false;
    if(!actions_.Equals(other.actions_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SequenceId != 0) hash ^= SequenceId.GetHashCode();
    hash ^= actions_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SequenceId != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(SequenceId);
    }
    actions_.WriteTo(output, _repeated_actions_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SequenceId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(SequenceId);
    }
    size += actions_.CalculateSize(_repeated_actions_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleSequenceRes other) {
    if (other == null) {
      return;
    }
    if (other.SequenceId != 0) {
      SequenceId = other.SequenceId;
    }
    actions_.Add(other.actions_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          SequenceId = input.ReadInt32();
          break;
        }
        case 18: {
          actions_.AddEntriesFrom(input, _repeated_actions_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ServerBuff : pb::IMessage<ServerBuff> {
  private static readonly pb::MessageParser<ServerBuff> _parser = new pb::MessageParser<ServerBuff>(() => new ServerBuff());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ServerBuff> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[200]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ServerBuff() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ServerBuff(ServerBuff other) : this() {
    buffId_ = other.buffId_;
    instId_ = other.instId_;
    blackboard_ = other.blackboard_ != null ? other.blackboard_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ServerBuff Clone() {
    return new ServerBuff(this);
  }

  /// <summary>Field number for the "buff_id" field.</summary>
  public const int BuffIdFieldNumber = 1;
  private string buffId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string BuffId {
    get { return buffId_; }
    set {
      buffId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "inst_id" field.</summary>
  public const int InstIdFieldNumber = 2;
  private ulong instId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong InstId {
    get { return instId_; }
    set {
      instId_ = value;
    }
  }

  /// <summary>Field number for the "blackboard" field.</summary>
  public const int BlackboardFieldNumber = 3;
  private global::BattleBlackboard blackboard_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleBlackboard Blackboard {
    get { return blackboard_; }
    set {
      blackboard_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ServerBuff);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ServerBuff other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (BuffId != other.BuffId) return false;
    if (InstId != other.InstId) return false;
    if (!object.Equals(Blackboard, other.Blackboard)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (BuffId.Length != 0) hash ^= BuffId.GetHashCode();
    if (InstId != 0UL) hash ^= InstId.GetHashCode();
    if (blackboard_ != null) hash ^= Blackboard.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (BuffId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(BuffId);
    }
    if (InstId != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(InstId);
    }
    if (blackboard_ != null) {
      output.WriteRawTag(26);
      output.WriteMessage(Blackboard);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (BuffId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(BuffId);
    }
    if (InstId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(InstId);
    }
    if (blackboard_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Blackboard);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ServerBuff other) {
    if (other == null) {
      return;
    }
    if (other.BuffId.Length != 0) {
      BuffId = other.BuffId;
    }
    if (other.InstId != 0UL) {
      InstId = other.InstId;
    }
    if (other.blackboard_ != null) {
      if (blackboard_ == null) {
        blackboard_ = new global::BattleBlackboard();
      }
      Blackboard.MergeFrom(other.Blackboard);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          BuffId = input.ReadString();
          break;
        }
        case 16: {
          InstId = input.ReadUInt64();
          break;
        }
        case 26: {
          if (blackboard_ == null) {
            blackboard_ = new global::BattleBlackboard();
          }
          input.ReadMessage(blackboard_);
          break;
        }
      }
    }
  }

}

public sealed partial class ServerSkill : pb::IMessage<ServerSkill> {
  private static readonly pb::MessageParser<ServerSkill> _parser = new pb::MessageParser<ServerSkill>(() => new ServerSkill());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ServerSkill> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[201]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ServerSkill() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ServerSkill(ServerSkill other) : this() {
    skillId_ = other.skillId_;
    instId_ = other.instId_;
    potentialLv_ = other.potentialLv_;
    level_ = other.level_;
    blackboard_ = other.blackboard_ != null ? other.blackboard_.Clone() : null;
    source_ = other.source_;
    talentNodeIds_ = other.talentNodeIds_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ServerSkill Clone() {
    return new ServerSkill(this);
  }

  /// <summary>Field number for the "skill_id" field.</summary>
  public const int SkillIdFieldNumber = 1;
  private string skillId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string SkillId {
    get { return skillId_; }
    set {
      skillId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "inst_id" field.</summary>
  public const int InstIdFieldNumber = 2;
  private ulong instId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong InstId {
    get { return instId_; }
    set {
      instId_ = value;
    }
  }

  /// <summary>Field number for the "potential_lv" field.</summary>
  public const int PotentialLvFieldNumber = 3;
  private int potentialLv_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int PotentialLv {
    get { return potentialLv_; }
    set {
      potentialLv_ = value;
    }
  }

  /// <summary>Field number for the "level" field.</summary>
  public const int LevelFieldNumber = 4;
  private int level_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Level {
    get { return level_; }
    set {
      level_ = value;
    }
  }

  /// <summary>Field number for the "blackboard" field.</summary>
  public const int BlackboardFieldNumber = 5;
  private global::BattleBlackboard blackboard_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleBlackboard Blackboard {
    get { return blackboard_; }
    set {
      blackboard_ = value;
    }
  }

  /// <summary>Field number for the "source" field.</summary>
  public const int SourceFieldNumber = 6;
  private global::BattleSkillSource source_ = 0;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleSkillSource Source {
    get { return source_; }
    set {
      source_ = value;
    }
  }

  /// <summary>Field number for the "talent_node_ids" field.</summary>
  public const int TalentNodeIdsFieldNumber = 7;
  private static readonly pb::FieldCodec<string> _repeated_talentNodeIds_codec
      = pb::FieldCodec.ForString(58);
  private readonly pbc::RepeatedField<string> talentNodeIds_ = new pbc::RepeatedField<string>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<string> TalentNodeIds {
    get { return talentNodeIds_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ServerSkill);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ServerSkill other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SkillId != other.SkillId) return false;
    if (InstId != other.InstId) return false;
    if (PotentialLv != other.PotentialLv) return false;
    if (Level != other.Level) return false;
    if (!object.Equals(Blackboard, other.Blackboard)) return false;
    if (Source != other.Source) return false;
    if(!talentNodeIds_.Equals(other.talentNodeIds_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SkillId.Length != 0) hash ^= SkillId.GetHashCode();
    if (InstId != 0UL) hash ^= InstId.GetHashCode();
    if (PotentialLv != 0) hash ^= PotentialLv.GetHashCode();
    if (Level != 0) hash ^= Level.GetHashCode();
    if (blackboard_ != null) hash ^= Blackboard.GetHashCode();
    if (Source != 0) hash ^= Source.GetHashCode();
    hash ^= talentNodeIds_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SkillId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(SkillId);
    }
    if (InstId != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(InstId);
    }
    if (PotentialLv != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(PotentialLv);
    }
    if (Level != 0) {
      output.WriteRawTag(32);
      output.WriteInt32(Level);
    }
    if (blackboard_ != null) {
      output.WriteRawTag(42);
      output.WriteMessage(Blackboard);
    }
    if (Source != 0) {
      output.WriteRawTag(48);
      output.WriteEnum((int) Source);
    }
    talentNodeIds_.WriteTo(output, _repeated_talentNodeIds_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SkillId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(SkillId);
    }
    if (InstId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(InstId);
    }
    if (PotentialLv != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(PotentialLv);
    }
    if (Level != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Level);
    }
    if (blackboard_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Blackboard);
    }
    if (Source != 0) {
      size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Source);
    }
    size += talentNodeIds_.CalculateSize(_repeated_talentNodeIds_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ServerSkill other) {
    if (other == null) {
      return;
    }
    if (other.SkillId.Length != 0) {
      SkillId = other.SkillId;
    }
    if (other.InstId != 0UL) {
      InstId = other.InstId;
    }
    if (other.PotentialLv != 0) {
      PotentialLv = other.PotentialLv;
    }
    if (other.Level != 0) {
      Level = other.Level;
    }
    if (other.blackboard_ != null) {
      if (blackboard_ == null) {
        blackboard_ = new global::BattleBlackboard();
      }
      Blackboard.MergeFrom(other.Blackboard);
    }
    if (other.Source != 0) {
      Source = other.Source;
    }
    talentNodeIds_.Add(other.talentNodeIds_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          SkillId = input.ReadString();
          break;
        }
        case 16: {
          InstId = input.ReadUInt64();
          break;
        }
        case 24: {
          PotentialLv = input.ReadInt32();
          break;
        }
        case 32: {
          Level = input.ReadInt32();
          break;
        }
        case 42: {
          if (blackboard_ == null) {
            blackboard_ = new global::BattleBlackboard();
          }
          input.ReadMessage(blackboard_);
          break;
        }
        case 48: {
          source_ = (global::BattleSkillSource) input.ReadEnum();
          break;
        }
        case 58: {
          talentNodeIds_.AddEntriesFrom(input, _repeated_talentNodeIds_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class BattleMgrInfo : pb::IMessage<BattleMgrInfo> {
  private static readonly pb::MessageParser<BattleMgrInfo> _parser = new pb::MessageParser<BattleMgrInfo>(() => new BattleMgrInfo());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BattleMgrInfo> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[202]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleMgrInfo() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleMgrInfo(BattleMgrInfo other) : this() {
    buffList_ = other.buffList_.Clone();
    skillList_ = other.skillList_.Clone();
    msgGeneration_ = other.msgGeneration_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BattleMgrInfo Clone() {
    return new BattleMgrInfo(this);
  }

  /// <summary>Field number for the "buff_list" field.</summary>
  public const int BuffListFieldNumber = 1;
  private static readonly pb::FieldCodec<global::ServerBuff> _repeated_buffList_codec
      = pb::FieldCodec.ForMessage(10, global::ServerBuff.Parser);
  private readonly pbc::RepeatedField<global::ServerBuff> buffList_ = new pbc::RepeatedField<global::ServerBuff>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ServerBuff> BuffList {
    get { return buffList_; }
  }

  /// <summary>Field number for the "skill_list" field.</summary>
  public const int SkillListFieldNumber = 2;
  private static readonly pb::FieldCodec<global::ServerSkill> _repeated_skillList_codec
      = pb::FieldCodec.ForMessage(18, global::ServerSkill.Parser);
  private readonly pbc::RepeatedField<global::ServerSkill> skillList_ = new pbc::RepeatedField<global::ServerSkill>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ServerSkill> SkillList {
    get { return skillList_; }
  }

  /// <summary>Field number for the "msg_generation" field.</summary>
  public const int MsgGenerationFieldNumber = 3;
  private uint msgGeneration_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint MsgGeneration {
    get { return msgGeneration_; }
    set {
      msgGeneration_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BattleMgrInfo);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BattleMgrInfo other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!buffList_.Equals(other.buffList_)) return false;
    if(!skillList_.Equals(other.skillList_)) return false;
    if (MsgGeneration != other.MsgGeneration) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= buffList_.GetHashCode();
    hash ^= skillList_.GetHashCode();
    if (MsgGeneration != 0) hash ^= MsgGeneration.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    buffList_.WriteTo(output, _repeated_buffList_codec);
    skillList_.WriteTo(output, _repeated_skillList_codec);
    if (MsgGeneration != 0) {
      output.WriteRawTag(24);
      output.WriteUInt32(MsgGeneration);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += buffList_.CalculateSize(_repeated_buffList_codec);
    size += skillList_.CalculateSize(_repeated_skillList_codec);
    if (MsgGeneration != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(MsgGeneration);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BattleMgrInfo other) {
    if (other == null) {
      return;
    }
    buffList_.Add(other.buffList_);
    skillList_.Add(other.skillList_);
    if (other.MsgGeneration != 0) {
      MsgGeneration = other.MsgGeneration;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          buffList_.AddEntriesFrom(input, _repeated_buffList_codec);
          break;
        }
        case 18: {
          skillList_.AddEntriesFrom(input, _repeated_skillList_codec);
          break;
        }
        case 24: {
          MsgGeneration = input.ReadUInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class DynamicParameter : pb::IMessage<DynamicParameter> {
  private static readonly pb::MessageParser<DynamicParameter> _parser = new pb::MessageParser<DynamicParameter>(() => new DynamicParameter());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<DynamicParameter> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[203]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public DynamicParameter() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public DynamicParameter(DynamicParameter other) : this() {
    valueType_ = other.valueType_;
    realType_ = other.realType_;
    valueBoolList_ = other.valueBoolList_.Clone();
    valueIntList_ = other.valueIntList_.Clone();
    valueFloatList_ = other.valueFloatList_.Clone();
    valueStringList_ = other.valueStringList_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public DynamicParameter Clone() {
    return new DynamicParameter(this);
  }

  /// <summary>Field number for the "value_type" field.</summary>
  public const int ValueTypeFieldNumber = 1;
  private int valueType_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ValueType {
    get { return valueType_; }
    set {
      valueType_ = value;
    }
  }

  /// <summary>Field number for the "real_type" field.</summary>
  public const int RealTypeFieldNumber = 2;
  private int realType_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int RealType {
    get { return realType_; }
    set {
      realType_ = value;
    }
  }

  /// <summary>Field number for the "value_bool_list" field.</summary>
  public const int ValueBoolListFieldNumber = 3;
  private static readonly pb::FieldCodec<bool> _repeated_valueBoolList_codec
      = pb::FieldCodec.ForBool(26);
  private readonly pbc::RepeatedField<bool> valueBoolList_ = new pbc::RepeatedField<bool>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<bool> ValueBoolList {
    get { return valueBoolList_; }
  }

  /// <summary>Field number for the "value_int_list" field.</summary>
  public const int ValueIntListFieldNumber = 4;
  private static readonly pb::FieldCodec<long> _repeated_valueIntList_codec
      = pb::FieldCodec.ForInt64(34);
  private readonly pbc::RepeatedField<long> valueIntList_ = new pbc::RepeatedField<long>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<long> ValueIntList {
    get { return valueIntList_; }
  }

  /// <summary>Field number for the "value_float_list" field.</summary>
  public const int ValueFloatListFieldNumber = 5;
  private static readonly pb::FieldCodec<float> _repeated_valueFloatList_codec
      = pb::FieldCodec.ForFloat(42);
  private readonly pbc::RepeatedField<float> valueFloatList_ = new pbc::RepeatedField<float>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<float> ValueFloatList {
    get { return valueFloatList_; }
  }

  /// <summary>Field number for the "value_string_list" field.</summary>
  public const int ValueStringListFieldNumber = 6;
  private static readonly pb::FieldCodec<string> _repeated_valueStringList_codec
      = pb::FieldCodec.ForString(50);
  private readonly pbc::RepeatedField<string> valueStringList_ = new pbc::RepeatedField<string>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<string> ValueStringList {
    get { return valueStringList_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as DynamicParameter);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(DynamicParameter other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ValueType != other.ValueType) return false;
    if (RealType != other.RealType) return false;
    if(!valueBoolList_.Equals(other.valueBoolList_)) return false;
    if(!valueIntList_.Equals(other.valueIntList_)) return false;
    if(!valueFloatList_.Equals(other.valueFloatList_)) return false;
    if(!valueStringList_.Equals(other.valueStringList_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ValueType != 0) hash ^= ValueType.GetHashCode();
    if (RealType != 0) hash ^= RealType.GetHashCode();
    hash ^= valueBoolList_.GetHashCode();
    hash ^= valueIntList_.GetHashCode();
    hash ^= valueFloatList_.GetHashCode();
    hash ^= valueStringList_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ValueType != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(ValueType);
    }
    if (RealType != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(RealType);
    }
    valueBoolList_.WriteTo(output, _repeated_valueBoolList_codec);
    valueIntList_.WriteTo(output, _repeated_valueIntList_codec);
    valueFloatList_.WriteTo(output, _repeated_valueFloatList_codec);
    valueStringList_.WriteTo(output, _repeated_valueStringList_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ValueType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ValueType);
    }
    if (RealType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(RealType);
    }
    size += valueBoolList_.CalculateSize(_repeated_valueBoolList_codec);
    size += valueIntList_.CalculateSize(_repeated_valueIntList_codec);
    size += valueFloatList_.CalculateSize(_repeated_valueFloatList_codec);
    size += valueStringList_.CalculateSize(_repeated_valueStringList_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(DynamicParameter other) {
    if (other == null) {
      return;
    }
    if (other.ValueType != 0) {
      ValueType = other.ValueType;
    }
    if (other.RealType != 0) {
      RealType = other.RealType;
    }
    valueBoolList_.Add(other.valueBoolList_);
    valueIntList_.Add(other.valueIntList_);
    valueFloatList_.Add(other.valueFloatList_);
    valueStringList_.Add(other.valueStringList_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ValueType = input.ReadInt32();
          break;
        }
        case 16: {
          RealType = input.ReadInt32();
          break;
        }
        case 26:
        case 24: {
          valueBoolList_.AddEntriesFrom(input, _repeated_valueBoolList_codec);
          break;
        }
        case 34:
        case 32: {
          valueIntList_.AddEntriesFrom(input, _repeated_valueIntList_codec);
          break;
        }
        case 42:
        case 45: {
          valueFloatList_.AddEntriesFrom(input, _repeated_valueFloatList_codec);
          break;
        }
        case 50: {
          valueStringList_.AddEntriesFrom(input, _repeated_valueStringList_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class EquipAttr : pb::IMessage<EquipAttr> {
  private static readonly pb::MessageParser<EquipAttr> _parser = new pb::MessageParser<EquipAttr>(() => new EquipAttr());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<EquipAttr> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[204]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public EquipAttr() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public EquipAttr(EquipAttr other) : this() {
    attrType_ = other.attrType_;
    modifierType_ = other.modifierType_;
    modifierValue_ = other.modifierValue_;
    modifyAttributeType_ = other.modifyAttributeType_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public EquipAttr Clone() {
    return new EquipAttr(this);
  }

  /// <summary>Field number for the "attr_type" field.</summary>
  public const int AttrTypeFieldNumber = 1;
  private int attrType_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int AttrType {
    get { return attrType_; }
    set {
      attrType_ = value;
    }
  }

  /// <summary>Field number for the "modifier_type" field.</summary>
  public const int ModifierTypeFieldNumber = 2;
  private int modifierType_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ModifierType {
    get { return modifierType_; }
    set {
      modifierType_ = value;
    }
  }

  /// <summary>Field number for the "modifier_value" field.</summary>
  public const int ModifierValueFieldNumber = 3;
  private double modifierValue_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public double ModifierValue {
    get { return modifierValue_; }
    set {
      modifierValue_ = value;
    }
  }

  /// <summary>Field number for the "modify_attribute_type" field.</summary>
  public const int ModifyAttributeTypeFieldNumber = 4;
  private int modifyAttributeType_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ModifyAttributeType {
    get { return modifyAttributeType_; }
    set {
      modifyAttributeType_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as EquipAttr);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(EquipAttr other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (AttrType != other.AttrType) return false;
    if (ModifierType != other.ModifierType) return false;
    if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(ModifierValue, other.ModifierValue)) return false;
    if (ModifyAttributeType != other.ModifyAttributeType) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (AttrType != 0) hash ^= AttrType.GetHashCode();
    if (ModifierType != 0) hash ^= ModifierType.GetHashCode();
    if (ModifierValue != 0D) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(ModifierValue);
    if (ModifyAttributeType != 0) hash ^= ModifyAttributeType.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (AttrType != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(AttrType);
    }
    if (ModifierType != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(ModifierType);
    }
    if (ModifierValue != 0D) {
      output.WriteRawTag(25);
      output.WriteDouble(ModifierValue);
    }
    if (ModifyAttributeType != 0) {
      output.WriteRawTag(32);
      output.WriteInt32(ModifyAttributeType);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (AttrType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(AttrType);
    }
    if (ModifierType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ModifierType);
    }
    if (ModifierValue != 0D) {
      size += 1 + 8;
    }
    if (ModifyAttributeType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ModifyAttributeType);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(EquipAttr other) {
    if (other == null) {
      return;
    }
    if (other.AttrType != 0) {
      AttrType = other.AttrType;
    }
    if (other.ModifierType != 0) {
      ModifierType = other.ModifierType;
    }
    if (other.ModifierValue != 0D) {
      ModifierValue = other.ModifierValue;
    }
    if (other.ModifyAttributeType != 0) {
      ModifyAttributeType = other.ModifyAttributeType;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          AttrType = input.ReadInt32();
          break;
        }
        case 16: {
          ModifierType = input.ReadInt32();
          break;
        }
        case 25: {
          ModifierValue = input.ReadDouble();
          break;
        }
        case 32: {
          ModifyAttributeType = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class EquipData : pb::IMessage<EquipData> {
  private static readonly pb::MessageParser<EquipData> _parser = new pb::MessageParser<EquipData>(() => new EquipData());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<EquipData> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[205]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public EquipData() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public EquipData(EquipData other) : this() {
    equipid_ = other.equipid_;
    templateid_ = other.templateid_;
    equipCharId_ = other.equipCharId_;
    attrs_ = other.attrs_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public EquipData Clone() {
    return new EquipData(this);
  }

  /// <summary>Field number for the "equipid" field.</summary>
  public const int EquipidFieldNumber = 1;
  private ulong equipid_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong Equipid {
    get { return equipid_; }
    set {
      equipid_ = value;
    }
  }

  /// <summary>Field number for the "templateid" field.</summary>
  public const int TemplateidFieldNumber = 2;
  private int templateid_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Templateid {
    get { return templateid_; }
    set {
      templateid_ = value;
    }
  }

  /// <summary>Field number for the "equip_char_id" field.</summary>
  public const int EquipCharIdFieldNumber = 3;
  private ulong equipCharId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong EquipCharId {
    get { return equipCharId_; }
    set {
      equipCharId_ = value;
    }
  }

  /// <summary>Field number for the "attrs" field.</summary>
  public const int AttrsFieldNumber = 4;
  private static readonly pb::FieldCodec<global::EquipAttr> _repeated_attrs_codec
      = pb::FieldCodec.ForMessage(34, global::EquipAttr.Parser);
  private readonly pbc::RepeatedField<global::EquipAttr> attrs_ = new pbc::RepeatedField<global::EquipAttr>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::EquipAttr> Attrs {
    get { return attrs_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as EquipData);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(EquipData other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Equipid != other.Equipid) return false;
    if (Templateid != other.Templateid) return false;
    if (EquipCharId != other.EquipCharId) return false;
    if(!attrs_.Equals(other.attrs_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Equipid != 0UL) hash ^= Equipid.GetHashCode();
    if (Templateid != 0) hash ^= Templateid.GetHashCode();
    if (EquipCharId != 0UL) hash ^= EquipCharId.GetHashCode();
    hash ^= attrs_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Equipid != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(Equipid);
    }
    if (Templateid != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(Templateid);
    }
    if (EquipCharId != 0UL) {
      output.WriteRawTag(24);
      output.WriteUInt64(EquipCharId);
    }
    attrs_.WriteTo(output, _repeated_attrs_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Equipid != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(Equipid);
    }
    if (Templateid != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Templateid);
    }
    if (EquipCharId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(EquipCharId);
    }
    size += attrs_.CalculateSize(_repeated_attrs_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(EquipData other) {
    if (other == null) {
      return;
    }
    if (other.Equipid != 0UL) {
      Equipid = other.Equipid;
    }
    if (other.Templateid != 0) {
      Templateid = other.Templateid;
    }
    if (other.EquipCharId != 0UL) {
      EquipCharId = other.EquipCharId;
    }
    attrs_.Add(other.attrs_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Equipid = input.ReadUInt64();
          break;
        }
        case 16: {
          Templateid = input.ReadInt32();
          break;
        }
        case 24: {
          EquipCharId = input.ReadUInt64();
          break;
        }
        case 34: {
          attrs_.AddEntriesFrom(input, _repeated_attrs_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class GemData : pb::IMessage<GemData> {
  private static readonly pb::MessageParser<GemData> _parser = new pb::MessageParser<GemData>(() => new GemData());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<GemData> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[206]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public GemData() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public GemData(GemData other) : this() {
    gemId_ = other.gemId_;
    templateId_ = other.templateId_;
    totalCost_ = other.totalCost_;
    terms_ = other.terms_.Clone();
    weaponId_ = other.weaponId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public GemData Clone() {
    return new GemData(this);
  }

  /// <summary>Field number for the "gem_id" field.</summary>
  public const int GemIdFieldNumber = 1;
  private ulong gemId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong GemId {
    get { return gemId_; }
    set {
      gemId_ = value;
    }
  }

  /// <summary>Field number for the "template_id" field.</summary>
  public const int TemplateIdFieldNumber = 2;
  private int templateId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int TemplateId {
    get { return templateId_; }
    set {
      templateId_ = value;
    }
  }

  /// <summary>Field number for the "total_cost" field.</summary>
  public const int TotalCostFieldNumber = 3;
  private int totalCost_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int TotalCost {
    get { return totalCost_; }
    set {
      totalCost_ = value;
    }
  }

  /// <summary>Field number for the "terms" field.</summary>
  public const int TermsFieldNumber = 4;
  private static readonly pb::FieldCodec<global::GemTerm> _repeated_terms_codec
      = pb::FieldCodec.ForMessage(34, global::GemTerm.Parser);
  private readonly pbc::RepeatedField<global::GemTerm> terms_ = new pbc::RepeatedField<global::GemTerm>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::GemTerm> Terms {
    get { return terms_; }
  }

  /// <summary>Field number for the "weapon_id" field.</summary>
  public const int WeaponIdFieldNumber = 5;
  private ulong weaponId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong WeaponId {
    get { return weaponId_; }
    set {
      weaponId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as GemData);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(GemData other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (GemId != other.GemId) return false;
    if (TemplateId != other.TemplateId) return false;
    if (TotalCost != other.TotalCost) return false;
    if(!terms_.Equals(other.terms_)) return false;
    if (WeaponId != other.WeaponId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (GemId != 0UL) hash ^= GemId.GetHashCode();
    if (TemplateId != 0) hash ^= TemplateId.GetHashCode();
    if (TotalCost != 0) hash ^= TotalCost.GetHashCode();
    hash ^= terms_.GetHashCode();
    if (WeaponId != 0UL) hash ^= WeaponId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (GemId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(GemId);
    }
    if (TemplateId != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(TemplateId);
    }
    if (TotalCost != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(TotalCost);
    }
    terms_.WriteTo(output, _repeated_terms_codec);
    if (WeaponId != 0UL) {
      output.WriteRawTag(40);
      output.WriteUInt64(WeaponId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (GemId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(GemId);
    }
    if (TemplateId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(TemplateId);
    }
    if (TotalCost != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(TotalCost);
    }
    size += terms_.CalculateSize(_repeated_terms_codec);
    if (WeaponId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(WeaponId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(GemData other) {
    if (other == null) {
      return;
    }
    if (other.GemId != 0UL) {
      GemId = other.GemId;
    }
    if (other.TemplateId != 0) {
      TemplateId = other.TemplateId;
    }
    if (other.TotalCost != 0) {
      TotalCost = other.TotalCost;
    }
    terms_.Add(other.terms_);
    if (other.WeaponId != 0UL) {
      WeaponId = other.WeaponId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          GemId = input.ReadUInt64();
          break;
        }
        case 16: {
          TemplateId = input.ReadInt32();
          break;
        }
        case 24: {
          TotalCost = input.ReadInt32();
          break;
        }
        case 34: {
          terms_.AddEntriesFrom(input, _repeated_terms_codec);
          break;
        }
        case 40: {
          WeaponId = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class GemTerm : pb::IMessage<GemTerm> {
  private static readonly pb::MessageParser<GemTerm> _parser = new pb::MessageParser<GemTerm>(() => new GemTerm());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<GemTerm> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[207]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public GemTerm() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public GemTerm(GemTerm other) : this() {
    termNumId_ = other.termNumId_;
    cost_ = other.cost_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public GemTerm Clone() {
    return new GemTerm(this);
  }

  /// <summary>Field number for the "term_num_id" field.</summary>
  public const int TermNumIdFieldNumber = 1;
  private int termNumId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int TermNumId {
    get { return termNumId_; }
    set {
      termNumId_ = value;
    }
  }

  /// <summary>Field number for the "cost" field.</summary>
  public const int CostFieldNumber = 2;
  private int cost_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Cost {
    get { return cost_; }
    set {
      cost_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as GemTerm);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(GemTerm other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (TermNumId != other.TermNumId) return false;
    if (Cost != other.Cost) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (TermNumId != 0) hash ^= TermNumId.GetHashCode();
    if (Cost != 0) hash ^= Cost.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (TermNumId != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(TermNumId);
    }
    if (Cost != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(Cost);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (TermNumId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(TermNumId);
    }
    if (Cost != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Cost);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(GemTerm other) {
    if (other == null) {
      return;
    }
    if (other.TermNumId != 0) {
      TermNumId = other.TermNumId;
    }
    if (other.Cost != 0) {
      Cost = other.Cost;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          TermNumId = input.ReadInt32();
          break;
        }
        case 16: {
          Cost = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ItemBundle : pb::IMessage<ItemBundle> {
  private static readonly pb::MessageParser<ItemBundle> _parser = new pb::MessageParser<ItemBundle>(() => new ItemBundle());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ItemBundle> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[208]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ItemBundle() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ItemBundle(ItemBundle other) : this() {
    id_ = other.id_;
    count_ = other.count_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ItemBundle Clone() {
    return new ItemBundle(this);
  }

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

  /// <summary>Field number for the "count" field.</summary>
  public const int CountFieldNumber = 2;
  private int count_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Count {
    get { return count_; }
    set {
      count_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ItemBundle);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ItemBundle other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Id != other.Id) return false;
    if (Count != other.Count) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Id.Length != 0) hash ^= Id.GetHashCode();
    if (Count != 0) hash ^= Count.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Id.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(Id);
    }
    if (Count != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(Count);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Id.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(Id);
    }
    if (Count != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Count);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ItemBundle other) {
    if (other == null) {
      return;
    }
    if (other.Id.Length != 0) {
      Id = other.Id;
    }
    if (other.Count != 0) {
      Count = other.Count;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          Id = input.ReadString();
          break;
        }
        case 16: {
          Count = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class WeaponData : pb::IMessage<WeaponData> {
  private static readonly pb::MessageParser<WeaponData> _parser = new pb::MessageParser<WeaponData>(() => new WeaponData());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<WeaponData> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[209]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public WeaponData() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public WeaponData(WeaponData other) : this() {
    instId_ = other.instId_;
    templateId_ = other.templateId_;
    exp_ = other.exp_;
    weaponLv_ = other.weaponLv_;
    refineLv_ = other.refineLv_;
    breakthroughLv_ = other.breakthroughLv_;
    equipCharId_ = other.equipCharId_;
    attachGemId_ = other.attachGemId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public WeaponData Clone() {
    return new WeaponData(this);
  }

  /// <summary>Field number for the "inst_id" field.</summary>
  public const int InstIdFieldNumber = 1;
  private ulong instId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong InstId {
    get { return instId_; }
    set {
      instId_ = value;
    }
  }

  /// <summary>Field number for the "template_id" field.</summary>
  public const int TemplateIdFieldNumber = 2;
  private int templateId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int TemplateId {
    get { return templateId_; }
    set {
      templateId_ = value;
    }
  }

  /// <summary>Field number for the "exp" field.</summary>
  public const int ExpFieldNumber = 3;
  private ulong exp_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong Exp {
    get { return exp_; }
    set {
      exp_ = value;
    }
  }

  /// <summary>Field number for the "weapon_lv" field.</summary>
  public const int WeaponLvFieldNumber = 4;
  private ulong weaponLv_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong WeaponLv {
    get { return weaponLv_; }
    set {
      weaponLv_ = value;
    }
  }

  /// <summary>Field number for the "refine_lv" field.</summary>
  public const int RefineLvFieldNumber = 5;
  private ulong refineLv_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong RefineLv {
    get { return refineLv_; }
    set {
      refineLv_ = value;
    }
  }

  /// <summary>Field number for the "breakthrough_lv" field.</summary>
  public const int BreakthroughLvFieldNumber = 6;
  private ulong breakthroughLv_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong BreakthroughLv {
    get { return breakthroughLv_; }
    set {
      breakthroughLv_ = value;
    }
  }

  /// <summary>Field number for the "equip_char_id" field.</summary>
  public const int EquipCharIdFieldNumber = 7;
  private ulong equipCharId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong EquipCharId {
    get { return equipCharId_; }
    set {
      equipCharId_ = value;
    }
  }

  /// <summary>Field number for the "attach_gem_id" field.</summary>
  public const int AttachGemIdFieldNumber = 8;
  private ulong attachGemId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong AttachGemId {
    get { return attachGemId_; }
    set {
      attachGemId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as WeaponData);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(WeaponData other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (InstId != other.InstId) return false;
    if (TemplateId != other.TemplateId) return false;
    if (Exp != other.Exp) return false;
    if (WeaponLv != other.WeaponLv) return false;
    if (RefineLv != other.RefineLv) return false;
    if (BreakthroughLv != other.BreakthroughLv) return false;
    if (EquipCharId != other.EquipCharId) return false;
    if (AttachGemId != other.AttachGemId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (InstId != 0UL) hash ^= InstId.GetHashCode();
    if (TemplateId != 0) hash ^= TemplateId.GetHashCode();
    if (Exp != 0UL) hash ^= Exp.GetHashCode();
    if (WeaponLv != 0UL) hash ^= WeaponLv.GetHashCode();
    if (RefineLv != 0UL) hash ^= RefineLv.GetHashCode();
    if (BreakthroughLv != 0UL) hash ^= BreakthroughLv.GetHashCode();
    if (EquipCharId != 0UL) hash ^= EquipCharId.GetHashCode();
    if (AttachGemId != 0UL) hash ^= AttachGemId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (InstId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(InstId);
    }
    if (TemplateId != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(TemplateId);
    }
    if (Exp != 0UL) {
      output.WriteRawTag(24);
      output.WriteUInt64(Exp);
    }
    if (WeaponLv != 0UL) {
      output.WriteRawTag(32);
      output.WriteUInt64(WeaponLv);
    }
    if (RefineLv != 0UL) {
      output.WriteRawTag(40);
      output.WriteUInt64(RefineLv);
    }
    if (BreakthroughLv != 0UL) {
      output.WriteRawTag(48);
      output.WriteUInt64(BreakthroughLv);
    }
    if (EquipCharId != 0UL) {
      output.WriteRawTag(56);
      output.WriteUInt64(EquipCharId);
    }
    if (AttachGemId != 0UL) {
      output.WriteRawTag(64);
      output.WriteUInt64(AttachGemId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (InstId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(InstId);
    }
    if (TemplateId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(TemplateId);
    }
    if (Exp != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(Exp);
    }
    if (WeaponLv != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(WeaponLv);
    }
    if (RefineLv != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(RefineLv);
    }
    if (BreakthroughLv != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(BreakthroughLv);
    }
    if (EquipCharId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(EquipCharId);
    }
    if (AttachGemId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(AttachGemId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(WeaponData other) {
    if (other == null) {
      return;
    }
    if (other.InstId != 0UL) {
      InstId = other.InstId;
    }
    if (other.TemplateId != 0) {
      TemplateId = other.TemplateId;
    }
    if (other.Exp != 0UL) {
      Exp = other.Exp;
    }
    if (other.WeaponLv != 0UL) {
      WeaponLv = other.WeaponLv;
    }
    if (other.RefineLv != 0UL) {
      RefineLv = other.RefineLv;
    }
    if (other.BreakthroughLv != 0UL) {
      BreakthroughLv = other.BreakthroughLv;
    }
    if (other.EquipCharId != 0UL) {
      EquipCharId = other.EquipCharId;
    }
    if (other.AttachGemId != 0UL) {
      AttachGemId = other.AttachGemId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          InstId = input.ReadUInt64();
          break;
        }
        case 16: {
          TemplateId = input.ReadInt32();
          break;
        }
        case 24: {
          Exp = input.ReadUInt64();
          break;
        }
        case 32: {
          WeaponLv = input.ReadUInt64();
          break;
        }
        case 40: {
          RefineLv = input.ReadUInt64();
          break;
        }
        case 48: {
          BreakthroughLv = input.ReadUInt64();
          break;
        }
        case 56: {
          EquipCharId = input.ReadUInt64();
          break;
        }
        case 64: {
          AttachGemId = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class ItemInst : pb::IMessage<ItemInst> {
  private static readonly pb::MessageParser<ItemInst> _parser = new pb::MessageParser<ItemInst>(() => new ItemInst());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ItemInst> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[210]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ItemInst() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ItemInst(ItemInst other) : this() {
    instId_ = other.instId_;
    isLock_ = other.isLock_;
    isNew_ = other.isNew_;
    switch (other.InstImplCase) {
      case InstImplOneofCase.Equip:
        Equip = other.Equip.Clone();
        break;
      case InstImplOneofCase.Gem:
        Gem = other.Gem.Clone();
        break;
      case InstImplOneofCase.Weapon:
        Weapon = other.Weapon.Clone();
        break;
      case InstImplOneofCase.Empty:
        Empty = other.Empty.Clone();
        break;
    }

    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ItemInst Clone() {
    return new ItemInst(this);
  }

  /// <summary>Field number for the "inst_id" field.</summary>
  public const int InstIdFieldNumber = 1;
  private ulong instId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong InstId {
    get { return instId_; }
    set {
      instId_ = value;
    }
  }

  /// <summary>Field number for the "is_lock" field.</summary>
  public const int IsLockFieldNumber = 101;
  private bool isLock_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool IsLock {
    get { return isLock_; }
    set {
      isLock_ = value;
    }
  }

  /// <summary>Field number for the "is_new" field.</summary>
  public const int IsNewFieldNumber = 102;
  private bool isNew_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool IsNew {
    get { return isNew_; }
    set {
      isNew_ = value;
    }
  }

  /// <summary>Field number for the "equip" field.</summary>
  public const int EquipFieldNumber = 2;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::EquipData Equip {
    get { return instImplCase_ == InstImplOneofCase.Equip ? (global::EquipData) instImpl_ : null; }
    set {
      instImpl_ = value;
      instImplCase_ = value == null ? InstImplOneofCase.None : InstImplOneofCase.Equip;
    }
  }

  /// <summary>Field number for the "gem" field.</summary>
  public const int GemFieldNumber = 3;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::GemData Gem {
    get { return instImplCase_ == InstImplOneofCase.Gem ? (global::GemData) instImpl_ : null; }
    set {
      instImpl_ = value;
      instImplCase_ = value == null ? InstImplOneofCase.None : InstImplOneofCase.Gem;
    }
  }

  /// <summary>Field number for the "weapon" field.</summary>
  public const int WeaponFieldNumber = 4;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::WeaponData Weapon {
    get { return instImplCase_ == InstImplOneofCase.Weapon ? (global::WeaponData) instImpl_ : null; }
    set {
      instImpl_ = value;
      instImplCase_ = value == null ? InstImplOneofCase.None : InstImplOneofCase.Weapon;
    }
  }

  /// <summary>Field number for the "empty" field.</summary>
  public const int EmptyFieldNumber = 31;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ItemInstEmpty Empty {
    get { return instImplCase_ == InstImplOneofCase.Empty ? (global::ItemInstEmpty) instImpl_ : null; }
    set {
      instImpl_ = value;
      instImplCase_ = value == null ? InstImplOneofCase.None : InstImplOneofCase.Empty;
    }
  }

  private object instImpl_;
  /// <summary>Enum of possible cases for the "inst_impl" oneof.</summary>
  public enum InstImplOneofCase {
    None = 0,
    Equip = 2,
    Gem = 3,
    Weapon = 4,
    Empty = 31,
  }
  private InstImplOneofCase instImplCase_ = InstImplOneofCase.None;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public InstImplOneofCase InstImplCase {
    get { return instImplCase_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void ClearInstImpl() {
    instImplCase_ = InstImplOneofCase.None;
    instImpl_ = null;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ItemInst);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ItemInst other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (InstId != other.InstId) return false;
    if (IsLock != other.IsLock) return false;
    if (IsNew != other.IsNew) return false;
    if (!object.Equals(Equip, other.Equip)) return false;
    if (!object.Equals(Gem, other.Gem)) return false;
    if (!object.Equals(Weapon, other.Weapon)) return false;
    if (!object.Equals(Empty, other.Empty)) return false;
    if (InstImplCase != other.InstImplCase) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (InstId != 0UL) hash ^= InstId.GetHashCode();
    if (IsLock != false) hash ^= IsLock.GetHashCode();
    if (IsNew != false) hash ^= IsNew.GetHashCode();
    if (instImplCase_ == InstImplOneofCase.Equip) hash ^= Equip.GetHashCode();
    if (instImplCase_ == InstImplOneofCase.Gem) hash ^= Gem.GetHashCode();
    if (instImplCase_ == InstImplOneofCase.Weapon) hash ^= Weapon.GetHashCode();
    if (instImplCase_ == InstImplOneofCase.Empty) hash ^= Empty.GetHashCode();
    hash ^= (int) instImplCase_;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (InstId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(InstId);
    }
    if (instImplCase_ == InstImplOneofCase.Equip) {
      output.WriteRawTag(18);
      output.WriteMessage(Equip);
    }
    if (instImplCase_ == InstImplOneofCase.Gem) {
      output.WriteRawTag(26);
      output.WriteMessage(Gem);
    }
    if (instImplCase_ == InstImplOneofCase.Weapon) {
      output.WriteRawTag(34);
      output.WriteMessage(Weapon);
    }
    if (instImplCase_ == InstImplOneofCase.Empty) {
      output.WriteRawTag(250, 1);
      output.WriteMessage(Empty);
    }
    if (IsLock != false) {
      output.WriteRawTag(168, 6);
      output.WriteBool(IsLock);
    }
    if (IsNew != false) {
      output.WriteRawTag(176, 6);
      output.WriteBool(IsNew);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (InstId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(InstId);
    }
    if (IsLock != false) {
      size += 2 + 1;
    }
    if (IsNew != false) {
      size += 2 + 1;
    }
    if (instImplCase_ == InstImplOneofCase.Equip) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Equip);
    }
    if (instImplCase_ == InstImplOneofCase.Gem) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Gem);
    }
    if (instImplCase_ == InstImplOneofCase.Weapon) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Weapon);
    }
    if (instImplCase_ == InstImplOneofCase.Empty) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(Empty);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ItemInst other) {
    if (other == null) {
      return;
    }
    if (other.InstId != 0UL) {
      InstId = other.InstId;
    }
    if (other.IsLock != false) {
      IsLock = other.IsLock;
    }
    if (other.IsNew != false) {
      IsNew = other.IsNew;
    }
    switch (other.InstImplCase) {
      case InstImplOneofCase.Equip:
        if (Equip == null) {
          Equip = new global::EquipData();
        }
        Equip.MergeFrom(other.Equip);
        break;
      case InstImplOneofCase.Gem:
        if (Gem == null) {
          Gem = new global::GemData();
        }
        Gem.MergeFrom(other.Gem);
        break;
      case InstImplOneofCase.Weapon:
        if (Weapon == null) {
          Weapon = new global::WeaponData();
        }
        Weapon.MergeFrom(other.Weapon);
        break;
      case InstImplOneofCase.Empty:
        if (Empty == null) {
          Empty = new global::ItemInstEmpty();
        }
        Empty.MergeFrom(other.Empty);
        break;
    }

    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          InstId = input.ReadUInt64();
          break;
        }
        case 18: {
          global::EquipData subBuilder = new global::EquipData();
          if (instImplCase_ == InstImplOneofCase.Equip) {
            subBuilder.MergeFrom(Equip);
          }
          input.ReadMessage(subBuilder);
          Equip = subBuilder;
          break;
        }
        case 26: {
          global::GemData subBuilder = new global::GemData();
          if (instImplCase_ == InstImplOneofCase.Gem) {
            subBuilder.MergeFrom(Gem);
          }
          input.ReadMessage(subBuilder);
          Gem = subBuilder;
          break;
        }
        case 34: {
          global::WeaponData subBuilder = new global::WeaponData();
          if (instImplCase_ == InstImplOneofCase.Weapon) {
            subBuilder.MergeFrom(Weapon);
          }
          input.ReadMessage(subBuilder);
          Weapon = subBuilder;
          break;
        }
        case 250: {
          global::ItemInstEmpty subBuilder = new global::ItemInstEmpty();
          if (instImplCase_ == InstImplOneofCase.Empty) {
            subBuilder.MergeFrom(Empty);
          }
          input.ReadMessage(subBuilder);
          Empty = subBuilder;
          break;
        }
        case 808: {
          IsLock = input.ReadBool();
          break;
        }
        case 816: {
          IsNew = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class ItemInstEmpty : pb::IMessage<ItemInstEmpty> {
  private static readonly pb::MessageParser<ItemInstEmpty> _parser = new pb::MessageParser<ItemInstEmpty>(() => new ItemInstEmpty());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ItemInstEmpty> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[211]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ItemInstEmpty() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ItemInstEmpty(ItemInstEmpty other) : this() {
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ItemInstEmpty Clone() {
    return new ItemInstEmpty(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ItemInstEmpty);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ItemInstEmpty other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ItemInstEmpty other) {
    if (other == null) {
      return;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
      }
    }
  }

}

public sealed partial class ScdItemGrid : pb::IMessage<ScdItemGrid> {
  private static readonly pb::MessageParser<ScdItemGrid> _parser = new pb::MessageParser<ScdItemGrid>(() => new ScdItemGrid());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdItemGrid> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[212]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdItemGrid() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdItemGrid(ScdItemGrid other) : this() {
    gridIndex_ = other.gridIndex_;
    id_ = other.id_;
    count_ = other.count_;
    inst_ = other.inst_ != null ? other.inst_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdItemGrid Clone() {
    return new ScdItemGrid(this);
  }

  /// <summary>Field number for the "grid_index" field.</summary>
  public const int GridIndexFieldNumber = 1;
  private int gridIndex_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int GridIndex {
    get { return gridIndex_; }
    set {
      gridIndex_ = value;
    }
  }

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

  /// <summary>Field number for the "count" field.</summary>
  public const int CountFieldNumber = 3;
  private int count_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Count {
    get { return count_; }
    set {
      count_ = value;
    }
  }

  /// <summary>Field number for the "inst" field.</summary>
  public const int InstFieldNumber = 4;
  private global::ItemInst inst_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ItemInst Inst {
    get { return inst_; }
    set {
      inst_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdItemGrid);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdItemGrid other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (GridIndex != other.GridIndex) return false;
    if (Id != other.Id) return false;
    if (Count != other.Count) return false;
    if (!object.Equals(Inst, other.Inst)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (GridIndex != 0) hash ^= GridIndex.GetHashCode();
    if (Id.Length != 0) hash ^= Id.GetHashCode();
    if (Count != 0) hash ^= Count.GetHashCode();
    if (inst_ != null) hash ^= Inst.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (GridIndex != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(GridIndex);
    }
    if (Id.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(Id);
    }
    if (Count != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(Count);
    }
    if (inst_ != null) {
      output.WriteRawTag(34);
      output.WriteMessage(Inst);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (GridIndex != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(GridIndex);
    }
    if (Id.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(Id);
    }
    if (Count != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Count);
    }
    if (inst_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Inst);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdItemGrid other) {
    if (other == null) {
      return;
    }
    if (other.GridIndex != 0) {
      GridIndex = other.GridIndex;
    }
    if (other.Id.Length != 0) {
      Id = other.Id;
    }
    if (other.Count != 0) {
      Count = other.Count;
    }
    if (other.inst_ != null) {
      if (inst_ == null) {
        inst_ = new global::ItemInst();
      }
      Inst.MergeFrom(other.Inst);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          GridIndex = input.ReadInt32();
          break;
        }
        case 18: {
          Id = input.ReadString();
          break;
        }
        case 24: {
          Count = input.ReadInt32();
          break;
        }
        case 34: {
          if (inst_ == null) {
            inst_ = new global::ItemInst();
          }
          input.ReadMessage(inst_);
          break;
        }
      }
    }
  }

}

public sealed partial class ScdItemGridV2 : pb::IMessage<ScdItemGridV2> {
  private static readonly pb::MessageParser<ScdItemGridV2> _parser = new pb::MessageParser<ScdItemGridV2>(() => new ScdItemGridV2());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdItemGridV2> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[213]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdItemGridV2() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdItemGridV2(ScdItemGridV2 other) : this() {
    gridIndex_ = other.gridIndex_;
    id_ = other.id_;
    count_ = other.count_;
    inst_ = other.inst_ != null ? other.inst_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdItemGridV2 Clone() {
    return new ScdItemGridV2(this);
  }

  /// <summary>Field number for the "grid_index" field.</summary>
  public const int GridIndexFieldNumber = 1;
  private int gridIndex_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int GridIndex {
    get { return gridIndex_; }
    set {
      gridIndex_ = value;
    }
  }

  /// <summary>Field number for the "id" field.</summary>
  public const int IdFieldNumber = 2;
  private int id_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Id {
    get { return id_; }
    set {
      id_ = value;
    }
  }

  /// <summary>Field number for the "count" field.</summary>
  public const int CountFieldNumber = 3;
  private int count_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Count {
    get { return count_; }
    set {
      count_ = value;
    }
  }

  /// <summary>Field number for the "inst" field.</summary>
  public const int InstFieldNumber = 4;
  private global::ItemInst inst_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ItemInst Inst {
    get { return inst_; }
    set {
      inst_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdItemGridV2);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdItemGridV2 other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (GridIndex != other.GridIndex) return false;
    if (Id != other.Id) return false;
    if (Count != other.Count) return false;
    if (!object.Equals(Inst, other.Inst)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (GridIndex != 0) hash ^= GridIndex.GetHashCode();
    if (Id != 0) hash ^= Id.GetHashCode();
    if (Count != 0) hash ^= Count.GetHashCode();
    if (inst_ != null) hash ^= Inst.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (GridIndex != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(GridIndex);
    }
    if (Id != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(Id);
    }
    if (Count != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(Count);
    }
    if (inst_ != null) {
      output.WriteRawTag(34);
      output.WriteMessage(Inst);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (GridIndex != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(GridIndex);
    }
    if (Id != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Id);
    }
    if (Count != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Count);
    }
    if (inst_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Inst);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdItemGridV2 other) {
    if (other == null) {
      return;
    }
    if (other.GridIndex != 0) {
      GridIndex = other.GridIndex;
    }
    if (other.Id != 0) {
      Id = other.Id;
    }
    if (other.Count != 0) {
      Count = other.Count;
    }
    if (other.inst_ != null) {
      if (inst_ == null) {
        inst_ = new global::ItemInst();
      }
      Inst.MergeFrom(other.Inst);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          GridIndex = input.ReadInt32();
          break;
        }
        case 16: {
          Id = input.ReadInt32();
          break;
        }
        case 24: {
          Count = input.ReadInt32();
          break;
        }
        case 34: {
          if (inst_ == null) {
            inst_ = new global::ItemInst();
          }
          input.ReadMessage(inst_);
          break;
        }
      }
    }
  }

}

public sealed partial class SubmitItem : pb::IMessage<SubmitItem> {
  private static readonly pb::MessageParser<SubmitItem> _parser = new pb::MessageParser<SubmitItem>(() => new SubmitItem());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<SubmitItem> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[214]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SubmitItem() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SubmitItem(SubmitItem other) : this() {
    itemId_ = other.itemId_;
    count_ = other.count_;
    isInst_ = other.isInst_;
    instId_ = other.instId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SubmitItem Clone() {
    return new SubmitItem(this);
  }

  /// <summary>Field number for the "item_id" field.</summary>
  public const int ItemIdFieldNumber = 1;
  private string itemId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ItemId {
    get { return itemId_; }
    set {
      itemId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "count" field.</summary>
  public const int CountFieldNumber = 2;
  private uint count_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint Count {
    get { return count_; }
    set {
      count_ = value;
    }
  }

  /// <summary>Field number for the "is_inst" field.</summary>
  public const int IsInstFieldNumber = 3;
  private bool isInst_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool IsInst {
    get { return isInst_; }
    set {
      isInst_ = value;
    }
  }

  /// <summary>Field number for the "inst_id" field.</summary>
  public const int InstIdFieldNumber = 4;
  private ulong instId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong InstId {
    get { return instId_; }
    set {
      instId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as SubmitItem);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(SubmitItem other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ItemId != other.ItemId) return false;
    if (Count != other.Count) return false;
    if (IsInst != other.IsInst) return false;
    if (InstId != other.InstId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ItemId.Length != 0) hash ^= ItemId.GetHashCode();
    if (Count != 0) hash ^= Count.GetHashCode();
    if (IsInst != false) hash ^= IsInst.GetHashCode();
    if (InstId != 0UL) hash ^= InstId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ItemId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(ItemId);
    }
    if (Count != 0) {
      output.WriteRawTag(16);
      output.WriteUInt32(Count);
    }
    if (IsInst != false) {
      output.WriteRawTag(24);
      output.WriteBool(IsInst);
    }
    if (InstId != 0UL) {
      output.WriteRawTag(32);
      output.WriteUInt64(InstId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ItemId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ItemId);
    }
    if (Count != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Count);
    }
    if (IsInst != false) {
      size += 1 + 1;
    }
    if (InstId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(InstId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(SubmitItem other) {
    if (other == null) {
      return;
    }
    if (other.ItemId.Length != 0) {
      ItemId = other.ItemId;
    }
    if (other.Count != 0) {
      Count = other.Count;
    }
    if (other.IsInst != false) {
      IsInst = other.IsInst;
    }
    if (other.InstId != 0UL) {
      InstId = other.InstId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          ItemId = input.ReadString();
          break;
        }
        case 16: {
          Count = input.ReadUInt32();
          break;
        }
        case 24: {
          IsInst = input.ReadBool();
          break;
        }
        case 32: {
          InstId = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class SendMailDef : pb::IMessage<SendMailDef> {
  private static readonly pb::MessageParser<SendMailDef> _parser = new pb::MessageParser<SendMailDef>(() => new SendMailDef());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<SendMailDef> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[215]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SendMailDef() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SendMailDef(SendMailDef other) : this() {
    mailContent_ = other.mailContent_ != null ? other.mailContent_.Clone() : null;
    itemList_ = other.itemList_.Clone();
    sendTime_ = other.sendTime_;
    expireTime_ = other.expireTime_;
    mailType_ = other.mailType_;
    mailSubType_ = other.mailSubType_;
    isGlobal_ = other.isGlobal_;
    isStar_ = other.isStar_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SendMailDef Clone() {
    return new SendMailDef(this);
  }

  /// <summary>Field number for the "mail_content" field.</summary>
  public const int MailContentFieldNumber = 1;
  private global::MailContent mailContent_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::MailContent MailContent {
    get { return mailContent_; }
    set {
      mailContent_ = value;
    }
  }

  /// <summary>Field number for the "item_list" field.</summary>
  public const int ItemListFieldNumber = 2;
  private static readonly pb::FieldCodec<global::RewardItem> _repeated_itemList_codec
      = pb::FieldCodec.ForMessage(18, global::RewardItem.Parser);
  private readonly pbc::RepeatedField<global::RewardItem> itemList_ = new pbc::RepeatedField<global::RewardItem>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::RewardItem> ItemList {
    get { return itemList_; }
  }

  /// <summary>Field number for the "send_time" field.</summary>
  public const int SendTimeFieldNumber = 3;
  private long sendTime_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long SendTime {
    get { return sendTime_; }
    set {
      sendTime_ = value;
    }
  }

  /// <summary>Field number for the "expire_time" field.</summary>
  public const int ExpireTimeFieldNumber = 4;
  private long expireTime_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long ExpireTime {
    get { return expireTime_; }
    set {
      expireTime_ = value;
    }
  }

  /// <summary>Field number for the "mail_type" field.</summary>
  public const int MailTypeFieldNumber = 5;
  private int mailType_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int MailType {
    get { return mailType_; }
    set {
      mailType_ = value;
    }
  }

  /// <summary>Field number for the "mail_sub_type" field.</summary>
  public const int MailSubTypeFieldNumber = 6;
  private int mailSubType_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int MailSubType {
    get { return mailSubType_; }
    set {
      mailSubType_ = value;
    }
  }

  /// <summary>Field number for the "is_global" field.</summary>
  public const int IsGlobalFieldNumber = 7;
  private bool isGlobal_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool IsGlobal {
    get { return isGlobal_; }
    set {
      isGlobal_ = value;
    }
  }

  /// <summary>Field number for the "is_star" field.</summary>
  public const int IsStarFieldNumber = 8;
  private bool isStar_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool IsStar {
    get { return isStar_; }
    set {
      isStar_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as SendMailDef);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(SendMailDef other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!object.Equals(MailContent, other.MailContent)) return false;
    if(!itemList_.Equals(other.itemList_)) return false;
    if (SendTime != other.SendTime) return false;
    if (ExpireTime != other.ExpireTime) return false;
    if (MailType != other.MailType) return false;
    if (MailSubType != other.MailSubType) return false;
    if (IsGlobal != other.IsGlobal) return false;
    if (IsStar != other.IsStar) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (mailContent_ != null) hash ^= MailContent.GetHashCode();
    hash ^= itemList_.GetHashCode();
    if (SendTime != 0L) hash ^= SendTime.GetHashCode();
    if (ExpireTime != 0L) hash ^= ExpireTime.GetHashCode();
    if (MailType != 0) hash ^= MailType.GetHashCode();
    if (MailSubType != 0) hash ^= MailSubType.GetHashCode();
    if (IsGlobal != false) hash ^= IsGlobal.GetHashCode();
    if (IsStar != false) hash ^= IsStar.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (mailContent_ != null) {
      output.WriteRawTag(10);
      output.WriteMessage(MailContent);
    }
    itemList_.WriteTo(output, _repeated_itemList_codec);
    if (SendTime != 0L) {
      output.WriteRawTag(24);
      output.WriteInt64(SendTime);
    }
    if (ExpireTime != 0L) {
      output.WriteRawTag(32);
      output.WriteInt64(ExpireTime);
    }
    if (MailType != 0) {
      output.WriteRawTag(40);
      output.WriteInt32(MailType);
    }
    if (MailSubType != 0) {
      output.WriteRawTag(48);
      output.WriteInt32(MailSubType);
    }
    if (IsGlobal != false) {
      output.WriteRawTag(56);
      output.WriteBool(IsGlobal);
    }
    if (IsStar != false) {
      output.WriteRawTag(64);
      output.WriteBool(IsStar);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (mailContent_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(MailContent);
    }
    size += itemList_.CalculateSize(_repeated_itemList_codec);
    if (SendTime != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(SendTime);
    }
    if (ExpireTime != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(ExpireTime);
    }
    if (MailType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(MailType);
    }
    if (MailSubType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(MailSubType);
    }
    if (IsGlobal != false) {
      size += 1 + 1;
    }
    if (IsStar != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(SendMailDef other) {
    if (other == null) {
      return;
    }
    if (other.mailContent_ != null) {
      if (mailContent_ == null) {
        mailContent_ = new global::MailContent();
      }
      MailContent.MergeFrom(other.MailContent);
    }
    itemList_.Add(other.itemList_);
    if (other.SendTime != 0L) {
      SendTime = other.SendTime;
    }
    if (other.ExpireTime != 0L) {
      ExpireTime = other.ExpireTime;
    }
    if (other.MailType != 0) {
      MailType = other.MailType;
    }
    if (other.MailSubType != 0) {
      MailSubType = other.MailSubType;
    }
    if (other.IsGlobal != false) {
      IsGlobal = other.IsGlobal;
    }
    if (other.IsStar != false) {
      IsStar = other.IsStar;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          if (mailContent_ == null) {
            mailContent_ = new global::MailContent();
          }
          input.ReadMessage(mailContent_);
          break;
        }
        case 18: {
          itemList_.AddEntriesFrom(input, _repeated_itemList_codec);
          break;
        }
        case 24: {
          SendTime = input.ReadInt64();
          break;
        }
        case 32: {
          ExpireTime = input.ReadInt64();
          break;
        }
        case 40: {
          MailType = input.ReadInt32();
          break;
        }
        case 48: {
          MailSubType = input.ReadInt32();
          break;
        }
        case 56: {
          IsGlobal = input.ReadBool();
          break;
        }
        case 64: {
          IsStar = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class MailContent : pb::IMessage<MailContent> {
  private static readonly pb::MessageParser<MailContent> _parser = new pb::MessageParser<MailContent>(() => new MailContent());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<MailContent> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[216]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public MailContent() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public MailContent(MailContent other) : this() {
    templateId_ = other.templateId_;
    title_ = other.title_;
    content_ = other.content_;
    senderName_ = other.senderName_;
    senderIcon_ = other.senderIcon_;
    params_ = other.params_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public MailContent Clone() {
    return new MailContent(this);
  }

  /// <summary>Field number for the "template_id" field.</summary>
  public const int TemplateIdFieldNumber = 1;
  private string templateId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string TemplateId {
    get { return templateId_; }
    set {
      templateId_ = 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]
  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]
  public string Content {
    get { return content_; }
    set {
      content_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "sender_name" field.</summary>
  public const int SenderNameFieldNumber = 4;
  private string senderName_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string SenderName {
    get { return senderName_; }
    set {
      senderName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "sender_icon" field.</summary>
  public const int SenderIconFieldNumber = 5;
  private string senderIcon_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string SenderIcon {
    get { return senderIcon_; }
    set {
      senderIcon_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "params" field.</summary>
  public const int ParamsFieldNumber = 6;
  private static readonly pbc::MapField<string, string>.Codec _map_params_codec
      = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForString(18), 50);
  private readonly pbc::MapField<string, string> params_ = new pbc::MapField<string, string>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<string, string> Params {
    get { return params_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as MailContent);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(MailContent other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (TemplateId != other.TemplateId) return false;
    if (Title != other.Title) return false;
    if (Content != other.Content) return false;
    if (SenderName != other.SenderName) return false;
    if (SenderIcon != other.SenderIcon) return false;
    if (!Params.Equals(other.Params)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (TemplateId.Length != 0) hash ^= TemplateId.GetHashCode();
    if (Title.Length != 0) hash ^= Title.GetHashCode();
    if (Content.Length != 0) hash ^= Content.GetHashCode();
    if (SenderName.Length != 0) hash ^= SenderName.GetHashCode();
    if (SenderIcon.Length != 0) hash ^= SenderIcon.GetHashCode();
    hash ^= Params.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (TemplateId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(TemplateId);
    }
    if (Title.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(Title);
    }
    if (Content.Length != 0) {
      output.WriteRawTag(26);
      output.WriteString(Content);
    }
    if (SenderName.Length != 0) {
      output.WriteRawTag(34);
      output.WriteString(SenderName);
    }
    if (SenderIcon.Length != 0) {
      output.WriteRawTag(42);
      output.WriteString(SenderIcon);
    }
    params_.WriteTo(output, _map_params_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (TemplateId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(TemplateId);
    }
    if (Title.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(Title);
    }
    if (Content.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(Content);
    }
    if (SenderName.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(SenderName);
    }
    if (SenderIcon.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(SenderIcon);
    }
    size += params_.CalculateSize(_map_params_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(MailContent other) {
    if (other == null) {
      return;
    }
    if (other.TemplateId.Length != 0) {
      TemplateId = other.TemplateId;
    }
    if (other.Title.Length != 0) {
      Title = other.Title;
    }
    if (other.Content.Length != 0) {
      Content = other.Content;
    }
    if (other.SenderName.Length != 0) {
      SenderName = other.SenderName;
    }
    if (other.SenderIcon.Length != 0) {
      SenderIcon = other.SenderIcon;
    }
    params_.Add(other.params_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          TemplateId = input.ReadString();
          break;
        }
        case 18: {
          Title = input.ReadString();
          break;
        }
        case 26: {
          Content = input.ReadString();
          break;
        }
        case 34: {
          SenderName = input.ReadString();
          break;
        }
        case 42: {
          SenderIcon = input.ReadString();
          break;
        }
        case 50: {
          params_.AddEntriesFrom(input, _map_params_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class RewardItem : pb::IMessage<RewardItem> {
  private static readonly pb::MessageParser<RewardItem> _parser = new pb::MessageParser<RewardItem>(() => new RewardItem());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<RewardItem> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[217]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public RewardItem() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public RewardItem(RewardItem other) : this() {
    id_ = other.id_;
    count_ = other.count_;
    inst_ = other.inst_ != null ? other.inst_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public RewardItem Clone() {
    return new RewardItem(this);
  }

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

  /// <summary>Field number for the "count" field.</summary>
  public const int CountFieldNumber = 2;
  private long count_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long Count {
    get { return count_; }
    set {
      count_ = value;
    }
  }

  /// <summary>Field number for the "inst" field.</summary>
  public const int InstFieldNumber = 3;
  private global::ItemInst inst_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ItemInst Inst {
    get { return inst_; }
    set {
      inst_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as RewardItem);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(RewardItem other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Id != other.Id) return false;
    if (Count != other.Count) return false;
    if (!object.Equals(Inst, other.Inst)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Id.Length != 0) hash ^= Id.GetHashCode();
    if (Count != 0L) hash ^= Count.GetHashCode();
    if (inst_ != null) hash ^= Inst.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Id.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(Id);
    }
    if (Count != 0L) {
      output.WriteRawTag(16);
      output.WriteInt64(Count);
    }
    if (inst_ != null) {
      output.WriteRawTag(26);
      output.WriteMessage(Inst);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Id.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(Id);
    }
    if (Count != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(Count);
    }
    if (inst_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Inst);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(RewardItem other) {
    if (other == null) {
      return;
    }
    if (other.Id.Length != 0) {
      Id = other.Id;
    }
    if (other.Count != 0L) {
      Count = other.Count;
    }
    if (other.inst_ != null) {
      if (inst_ == null) {
        inst_ = new global::ItemInst();
      }
      Inst.MergeFrom(other.Inst);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          Id = input.ReadString();
          break;
        }
        case 16: {
          Count = input.ReadInt64();
          break;
        }
        case 26: {
          if (inst_ == null) {
            inst_ = new global::ItemInst();
          }
          input.ReadMessage(inst_);
          break;
        }
      }
    }
  }

}

public sealed partial class GameCondition : pb::IMessage<GameCondition> {
  private static readonly pb::MessageParser<GameCondition> _parser = new pb::MessageParser<GameCondition>(() => new GameCondition());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<GameCondition> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[218]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public GameCondition() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public GameCondition(GameCondition other) : this() {
    conditionId_ = other.conditionId_;
    conditionType_ = other.conditionType_;
    params_ = other.params_.Clone();
    compareOperator_ = other.compareOperator_;
    progressToCompare_ = other.progressToCompare_;
    subConditionIdLogics_ = other.subConditionIdLogics_.Clone();
    subConditions_ = other.subConditions_.Clone();
    scopeMask_ = other.scopeMask_;
    useCurrentScope_ = other.useCurrentScope_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public GameCondition Clone() {
    return new GameCondition(this);
  }

  /// <summary>Field number for the "condition_id" field.</summary>
  public const int ConditionIdFieldNumber = 1;
  private string conditionId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ConditionId {
    get { return conditionId_; }
    set {
      conditionId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "condition_type" field.</summary>
  public const int ConditionTypeFieldNumber = 2;
  private int conditionType_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ConditionType {
    get { return conditionType_; }
    set {
      conditionType_ = value;
    }
  }

  /// <summary>Field number for the "params" field.</summary>
  public const int ParamsFieldNumber = 3;
  private static readonly pb::FieldCodec<string> _repeated_params_codec
      = pb::FieldCodec.ForString(26);
  private readonly pbc::RepeatedField<string> params_ = new pbc::RepeatedField<string>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<string> Params {
    get { return params_; }
  }

  /// <summary>Field number for the "compare_operator" field.</summary>
  public const int CompareOperatorFieldNumber = 4;
  private int compareOperator_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CompareOperator {
    get { return compareOperator_; }
    set {
      compareOperator_ = value;
    }
  }

  /// <summary>Field number for the "progress_to_compare" field.</summary>
  public const int ProgressToCompareFieldNumber = 5;
  private int progressToCompare_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ProgressToCompare {
    get { return progressToCompare_; }
    set {
      progressToCompare_ = value;
    }
  }

  /// <summary>Field number for the "sub_condition_id_logics" field.</summary>
  public const int SubConditionIdLogicsFieldNumber = 6;
  private static readonly pb::FieldCodec<int> _repeated_subConditionIdLogics_codec
      = pb::FieldCodec.ForInt32(50);
  private readonly pbc::RepeatedField<int> subConditionIdLogics_ = new pbc::RepeatedField<int>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<int> SubConditionIdLogics {
    get { return subConditionIdLogics_; }
  }

  /// <summary>Field number for the "sub_conditions" field.</summary>
  public const int SubConditionsFieldNumber = 7;
  private static readonly pb::FieldCodec<global::GameCondition> _repeated_subConditions_codec
      = pb::FieldCodec.ForMessage(58, global::GameCondition.Parser);
  private readonly pbc::RepeatedField<global::GameCondition> subConditions_ = new pbc::RepeatedField<global::GameCondition>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::GameCondition> SubConditions {
    get { return subConditions_; }
  }

  /// <summary>Field number for the "scope_mask" field.</summary>
  public const int ScopeMaskFieldNumber = 8;
  private int scopeMask_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ScopeMask {
    get { return scopeMask_; }
    set {
      scopeMask_ = value;
    }
  }

  /// <summary>Field number for the "use_current_scope" field.</summary>
  public const int UseCurrentScopeFieldNumber = 9;
  private bool useCurrentScope_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool UseCurrentScope {
    get { return useCurrentScope_; }
    set {
      useCurrentScope_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as GameCondition);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(GameCondition other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ConditionId != other.ConditionId) return false;
    if (ConditionType != other.ConditionType) return false;
    if(!params_.Equals(other.params_)) return false;
    if (CompareOperator != other.CompareOperator) return false;
    if (ProgressToCompare != other.ProgressToCompare) return false;
    if(!subConditionIdLogics_.Equals(other.subConditionIdLogics_)) return false;
    if(!subConditions_.Equals(other.subConditions_)) return false;
    if (ScopeMask != other.ScopeMask) return false;
    if (UseCurrentScope != other.UseCurrentScope) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ConditionId.Length != 0) hash ^= ConditionId.GetHashCode();
    if (ConditionType != 0) hash ^= ConditionType.GetHashCode();
    hash ^= params_.GetHashCode();
    if (CompareOperator != 0) hash ^= CompareOperator.GetHashCode();
    if (ProgressToCompare != 0) hash ^= ProgressToCompare.GetHashCode();
    hash ^= subConditionIdLogics_.GetHashCode();
    hash ^= subConditions_.GetHashCode();
    if (ScopeMask != 0) hash ^= ScopeMask.GetHashCode();
    if (UseCurrentScope != false) hash ^= UseCurrentScope.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ConditionId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(ConditionId);
    }
    if (ConditionType != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(ConditionType);
    }
    params_.WriteTo(output, _repeated_params_codec);
    if (CompareOperator != 0) {
      output.WriteRawTag(32);
      output.WriteInt32(CompareOperator);
    }
    if (ProgressToCompare != 0) {
      output.WriteRawTag(40);
      output.WriteInt32(ProgressToCompare);
    }
    subConditionIdLogics_.WriteTo(output, _repeated_subConditionIdLogics_codec);
    subConditions_.WriteTo(output, _repeated_subConditions_codec);
    if (ScopeMask != 0) {
      output.WriteRawTag(64);
      output.WriteInt32(ScopeMask);
    }
    if (UseCurrentScope != false) {
      output.WriteRawTag(72);
      output.WriteBool(UseCurrentScope);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ConditionId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ConditionId);
    }
    if (ConditionType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ConditionType);
    }
    size += params_.CalculateSize(_repeated_params_codec);
    if (CompareOperator != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(CompareOperator);
    }
    if (ProgressToCompare != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ProgressToCompare);
    }
    size += subConditionIdLogics_.CalculateSize(_repeated_subConditionIdLogics_codec);
    size += subConditions_.CalculateSize(_repeated_subConditions_codec);
    if (ScopeMask != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ScopeMask);
    }
    if (UseCurrentScope != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(GameCondition other) {
    if (other == null) {
      return;
    }
    if (other.ConditionId.Length != 0) {
      ConditionId = other.ConditionId;
    }
    if (other.ConditionType != 0) {
      ConditionType = other.ConditionType;
    }
    params_.Add(other.params_);
    if (other.CompareOperator != 0) {
      CompareOperator = other.CompareOperator;
    }
    if (other.ProgressToCompare != 0) {
      ProgressToCompare = other.ProgressToCompare;
    }
    subConditionIdLogics_.Add(other.subConditionIdLogics_);
    subConditions_.Add(other.subConditions_);
    if (other.ScopeMask != 0) {
      ScopeMask = other.ScopeMask;
    }
    if (other.UseCurrentScope != false) {
      UseCurrentScope = other.UseCurrentScope;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          ConditionId = input.ReadString();
          break;
        }
        case 16: {
          ConditionType = input.ReadInt32();
          break;
        }
        case 26: {
          params_.AddEntriesFrom(input, _repeated_params_codec);
          break;
        }
        case 32: {
          CompareOperator = input.ReadInt32();
          break;
        }
        case 40: {
          ProgressToCompare = input.ReadInt32();
          break;
        }
        case 50:
        case 48: {
          subConditionIdLogics_.AddEntriesFrom(input, _repeated_subConditionIdLogics_codec);
          break;
        }
        case 58: {
          subConditions_.AddEntriesFrom(input, _repeated_subConditions_codec);
          break;
        }
        case 64: {
          ScopeMask = input.ReadInt32();
          break;
        }
        case 72: {
          UseCurrentScope = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class SendQuestionnaireMailDef : pb::IMessage<SendQuestionnaireMailDef> {
  private static readonly pb::MessageParser<SendQuestionnaireMailDef> _parser = new pb::MessageParser<SendQuestionnaireMailDef>(() => new SendQuestionnaireMailDef());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<SendQuestionnaireMailDef> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[219]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SendQuestionnaireMailDef() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SendQuestionnaireMailDef(SendQuestionnaireMailDef other) : this() {
    mailId_ = other.mailId_;
    condition_ = other.condition_ != null ? other.condition_.Clone() : null;
    completedItemList_ = other.completedItemList_.Clone();
    expireTime_ = other.expireTime_;
    isStar_ = other.isStar_;
    uniqueId_ = other.uniqueId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SendQuestionnaireMailDef Clone() {
    return new SendQuestionnaireMailDef(this);
  }

  /// <summary>Field number for the "mail_id" field.</summary>
  public const int MailIdFieldNumber = 1;
  private ulong mailId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong MailId {
    get { return mailId_; }
    set {
      mailId_ = value;
    }
  }

  /// <summary>Field number for the "condition" field.</summary>
  public const int ConditionFieldNumber = 2;
  private global::GameCondition condition_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::GameCondition Condition {
    get { return condition_; }
    set {
      condition_ = value;
    }
  }

  /// <summary>Field number for the "completed_item_list" field.</summary>
  public const int CompletedItemListFieldNumber = 3;
  private static readonly pb::FieldCodec<global::RewardItem> _repeated_completedItemList_codec
      = pb::FieldCodec.ForMessage(26, global::RewardItem.Parser);
  private readonly pbc::RepeatedField<global::RewardItem> completedItemList_ = new pbc::RepeatedField<global::RewardItem>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::RewardItem> CompletedItemList {
    get { return completedItemList_; }
  }

  /// <summary>Field number for the "expire_time" field.</summary>
  public const int ExpireTimeFieldNumber = 4;
  private long expireTime_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long ExpireTime {
    get { return expireTime_; }
    set {
      expireTime_ = value;
    }
  }

  /// <summary>Field number for the "is_star" field.</summary>
  public const int IsStarFieldNumber = 5;
  private bool isStar_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool IsStar {
    get { return isStar_; }
    set {
      isStar_ = value;
    }
  }

  /// <summary>Field number for the "unique_id" field.</summary>
  public const int UniqueIdFieldNumber = 6;
  private string uniqueId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string UniqueId {
    get { return uniqueId_; }
    set {
      uniqueId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as SendQuestionnaireMailDef);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(SendQuestionnaireMailDef other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (MailId != other.MailId) return false;
    if (!object.Equals(Condition, other.Condition)) return false;
    if(!completedItemList_.Equals(other.completedItemList_)) return false;
    if (ExpireTime != other.ExpireTime) return false;
    if (IsStar != other.IsStar) return false;
    if (UniqueId != other.UniqueId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (MailId != 0UL) hash ^= MailId.GetHashCode();
    if (condition_ != null) hash ^= Condition.GetHashCode();
    hash ^= completedItemList_.GetHashCode();
    if (ExpireTime != 0L) hash ^= ExpireTime.GetHashCode();
    if (IsStar != false) hash ^= IsStar.GetHashCode();
    if (UniqueId.Length != 0) hash ^= UniqueId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (MailId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(MailId);
    }
    if (condition_ != null) {
      output.WriteRawTag(18);
      output.WriteMessage(Condition);
    }
    completedItemList_.WriteTo(output, _repeated_completedItemList_codec);
    if (ExpireTime != 0L) {
      output.WriteRawTag(32);
      output.WriteInt64(ExpireTime);
    }
    if (IsStar != false) {
      output.WriteRawTag(40);
      output.WriteBool(IsStar);
    }
    if (UniqueId.Length != 0) {
      output.WriteRawTag(50);
      output.WriteString(UniqueId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (MailId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(MailId);
    }
    if (condition_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Condition);
    }
    size += completedItemList_.CalculateSize(_repeated_completedItemList_codec);
    if (ExpireTime != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(ExpireTime);
    }
    if (IsStar != false) {
      size += 1 + 1;
    }
    if (UniqueId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(UniqueId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(SendQuestionnaireMailDef other) {
    if (other == null) {
      return;
    }
    if (other.MailId != 0UL) {
      MailId = other.MailId;
    }
    if (other.condition_ != null) {
      if (condition_ == null) {
        condition_ = new global::GameCondition();
      }
      Condition.MergeFrom(other.Condition);
    }
    completedItemList_.Add(other.completedItemList_);
    if (other.ExpireTime != 0L) {
      ExpireTime = other.ExpireTime;
    }
    if (other.IsStar != false) {
      IsStar = other.IsStar;
    }
    if (other.UniqueId.Length != 0) {
      UniqueId = other.UniqueId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          MailId = input.ReadUInt64();
          break;
        }
        case 18: {
          if (condition_ == null) {
            condition_ = new global::GameCondition();
          }
          input.ReadMessage(condition_);
          break;
        }
        case 26: {
          completedItemList_.AddEntriesFrom(input, _repeated_completedItemList_codec);
          break;
        }
        case 32: {
          ExpireTime = input.ReadInt64();
          break;
        }
        case 40: {
          IsStar = input.ReadBool();
          break;
        }
        case 50: {
          UniqueId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class CostItemListDef : pb::IMessage<CostItemListDef> {
  private static readonly pb::MessageParser<CostItemListDef> _parser = new pb::MessageParser<CostItemListDef>(() => new CostItemListDef());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CostItemListDef> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[220]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CostItemListDef() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CostItemListDef(CostItemListDef other) : this() {
    itemList_ = other.itemList_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CostItemListDef Clone() {
    return new CostItemListDef(this);
  }

  /// <summary>Field number for the "item_list" field.</summary>
  public const int ItemListFieldNumber = 1;
  private static readonly pb::FieldCodec<global::SubmitItem> _repeated_itemList_codec
      = pb::FieldCodec.ForMessage(10, global::SubmitItem.Parser);
  private readonly pbc::RepeatedField<global::SubmitItem> itemList_ = new pbc::RepeatedField<global::SubmitItem>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::SubmitItem> ItemList {
    get { return itemList_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CostItemListDef);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CostItemListDef other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!itemList_.Equals(other.itemList_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= itemList_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    itemList_.WriteTo(output, _repeated_itemList_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += itemList_.CalculateSize(_repeated_itemList_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CostItemListDef other) {
    if (other == null) {
      return;
    }
    itemList_.Add(other.itemList_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          itemList_.AddEntriesFrom(input, _repeated_itemList_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class SkillLevelInfo : pb::IMessage<SkillLevelInfo> {
  private static readonly pb::MessageParser<SkillLevelInfo> _parser = new pb::MessageParser<SkillLevelInfo>(() => new SkillLevelInfo());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<SkillLevelInfo> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[221]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SkillLevelInfo() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SkillLevelInfo(SkillLevelInfo other) : this() {
    skillId_ = other.skillId_;
    skillLevel_ = other.skillLevel_;
    skillMaxLevel_ = other.skillMaxLevel_;
    skillEnhancedLevel_ = other.skillEnhancedLevel_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SkillLevelInfo Clone() {
    return new SkillLevelInfo(this);
  }

  /// <summary>Field number for the "skill_id" field.</summary>
  public const int SkillIdFieldNumber = 1;
  private string skillId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string SkillId {
    get { return skillId_; }
    set {
      skillId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "skill_level" field.</summary>
  public const int SkillLevelFieldNumber = 2;
  private int skillLevel_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int SkillLevel {
    get { return skillLevel_; }
    set {
      skillLevel_ = value;
    }
  }

  /// <summary>Field number for the "skill_max_level" field.</summary>
  public const int SkillMaxLevelFieldNumber = 3;
  private int skillMaxLevel_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int SkillMaxLevel {
    get { return skillMaxLevel_; }
    set {
      skillMaxLevel_ = value;
    }
  }

  /// <summary>Field number for the "skill_enhanced_level" field.</summary>
  public const int SkillEnhancedLevelFieldNumber = 4;
  private int skillEnhancedLevel_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int SkillEnhancedLevel {
    get { return skillEnhancedLevel_; }
    set {
      skillEnhancedLevel_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as SkillLevelInfo);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(SkillLevelInfo other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SkillId != other.SkillId) return false;
    if (SkillLevel != other.SkillLevel) return false;
    if (SkillMaxLevel != other.SkillMaxLevel) return false;
    if (SkillEnhancedLevel != other.SkillEnhancedLevel) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SkillId.Length != 0) hash ^= SkillId.GetHashCode();
    if (SkillLevel != 0) hash ^= SkillLevel.GetHashCode();
    if (SkillMaxLevel != 0) hash ^= SkillMaxLevel.GetHashCode();
    if (SkillEnhancedLevel != 0) hash ^= SkillEnhancedLevel.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SkillId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(SkillId);
    }
    if (SkillLevel != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(SkillLevel);
    }
    if (SkillMaxLevel != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(SkillMaxLevel);
    }
    if (SkillEnhancedLevel != 0) {
      output.WriteRawTag(32);
      output.WriteInt32(SkillEnhancedLevel);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SkillId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(SkillId);
    }
    if (SkillLevel != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(SkillLevel);
    }
    if (SkillMaxLevel != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(SkillMaxLevel);
    }
    if (SkillEnhancedLevel != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(SkillEnhancedLevel);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(SkillLevelInfo other) {
    if (other == null) {
      return;
    }
    if (other.SkillId.Length != 0) {
      SkillId = other.SkillId;
    }
    if (other.SkillLevel != 0) {
      SkillLevel = other.SkillLevel;
    }
    if (other.SkillMaxLevel != 0) {
      SkillMaxLevel = other.SkillMaxLevel;
    }
    if (other.SkillEnhancedLevel != 0) {
      SkillEnhancedLevel = other.SkillEnhancedLevel;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          SkillId = input.ReadString();
          break;
        }
        case 16: {
          SkillLevel = input.ReadInt32();
          break;
        }
        case 24: {
          SkillMaxLevel = input.ReadInt32();
          break;
        }
        case 32: {
          SkillEnhancedLevel = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class Talent : pb::IMessage<Talent> {
  private static readonly pb::MessageParser<Talent> _parser = new pb::MessageParser<Talent>(() => new Talent());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<Talent> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[222]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public Talent() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public Talent(Talent other) : this() {
    latestBreakNode_ = other.latestBreakNode_;
    attrNodes_ = other.attrNodes_.Clone();
    latestPassiveSkillNodes_ = other.latestPassiveSkillNodes_.Clone();
    latestFactorySkillNodes_ = other.latestFactorySkillNodes_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public Talent Clone() {
    return new Talent(this);
  }

  /// <summary>Field number for the "latest_break_node" field.</summary>
  public const int LatestBreakNodeFieldNumber = 1;
  private string latestBreakNode_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string LatestBreakNode {
    get { return latestBreakNode_; }
    set {
      latestBreakNode_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "attr_nodes" field.</summary>
  public const int AttrNodesFieldNumber = 2;
  private static readonly pb::FieldCodec<string> _repeated_attrNodes_codec
      = pb::FieldCodec.ForString(18);
  private readonly pbc::RepeatedField<string> attrNodes_ = new pbc::RepeatedField<string>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<string> AttrNodes {
    get { return attrNodes_; }
  }

  /// <summary>Field number for the "latest_passive_skill_nodes" field.</summary>
  public const int LatestPassiveSkillNodesFieldNumber = 3;
  private static readonly pb::FieldCodec<string> _repeated_latestPassiveSkillNodes_codec
      = pb::FieldCodec.ForString(26);
  private readonly pbc::RepeatedField<string> latestPassiveSkillNodes_ = new pbc::RepeatedField<string>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<string> LatestPassiveSkillNodes {
    get { return latestPassiveSkillNodes_; }
  }

  /// <summary>Field number for the "latest_factory_skill_nodes" field.</summary>
  public const int LatestFactorySkillNodesFieldNumber = 4;
  private static readonly pb::FieldCodec<string> _repeated_latestFactorySkillNodes_codec
      = pb::FieldCodec.ForString(34);
  private readonly pbc::RepeatedField<string> latestFactorySkillNodes_ = new pbc::RepeatedField<string>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<string> LatestFactorySkillNodes {
    get { return latestFactorySkillNodes_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as Talent);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(Talent other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (LatestBreakNode != other.LatestBreakNode) return false;
    if(!attrNodes_.Equals(other.attrNodes_)) return false;
    if(!latestPassiveSkillNodes_.Equals(other.latestPassiveSkillNodes_)) return false;
    if(!latestFactorySkillNodes_.Equals(other.latestFactorySkillNodes_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (LatestBreakNode.Length != 0) hash ^= LatestBreakNode.GetHashCode();
    hash ^= attrNodes_.GetHashCode();
    hash ^= latestPassiveSkillNodes_.GetHashCode();
    hash ^= latestFactorySkillNodes_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (LatestBreakNode.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(LatestBreakNode);
    }
    attrNodes_.WriteTo(output, _repeated_attrNodes_codec);
    latestPassiveSkillNodes_.WriteTo(output, _repeated_latestPassiveSkillNodes_codec);
    latestFactorySkillNodes_.WriteTo(output, _repeated_latestFactorySkillNodes_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (LatestBreakNode.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(LatestBreakNode);
    }
    size += attrNodes_.CalculateSize(_repeated_attrNodes_codec);
    size += latestPassiveSkillNodes_.CalculateSize(_repeated_latestPassiveSkillNodes_codec);
    size += latestFactorySkillNodes_.CalculateSize(_repeated_latestFactorySkillNodes_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(Talent other) {
    if (other == null) {
      return;
    }
    if (other.LatestBreakNode.Length != 0) {
      LatestBreakNode = other.LatestBreakNode;
    }
    attrNodes_.Add(other.attrNodes_);
    latestPassiveSkillNodes_.Add(other.latestPassiveSkillNodes_);
    latestFactorySkillNodes_.Add(other.latestFactorySkillNodes_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          LatestBreakNode = input.ReadString();
          break;
        }
        case 18: {
          attrNodes_.AddEntriesFrom(input, _repeated_attrNodes_codec);
          break;
        }
        case 26: {
          latestPassiveSkillNodes_.AddEntriesFrom(input, _repeated_latestPassiveSkillNodes_codec);
          break;
        }
        case 34: {
          latestFactorySkillNodes_.AddEntriesFrom(input, _repeated_latestFactorySkillNodes_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class RoleBaseInfo : pb::IMessage<RoleBaseInfo> {
  private static readonly pb::MessageParser<RoleBaseInfo> _parser = new pb::MessageParser<RoleBaseInfo>(() => new RoleBaseInfo());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<RoleBaseInfo> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[223]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public RoleBaseInfo() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public RoleBaseInfo(RoleBaseInfo other) : this() {
    leaderCharId_ = other.leaderCharId_;
    leaderPosition_ = other.leaderPosition_ != null ? other.leaderPosition_.Clone() : null;
    leaderRotation_ = other.leaderRotation_ != null ? other.leaderRotation_.Clone() : null;
    sceneName_ = other.sceneName_;
    serverTs_ = other.serverTs_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public RoleBaseInfo Clone() {
    return new RoleBaseInfo(this);
  }

  /// <summary>Field number for the "leader_char_id" field.</summary>
  public const int LeaderCharIdFieldNumber = 1;
  private ulong leaderCharId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong LeaderCharId {
    get { return leaderCharId_; }
    set {
      leaderCharId_ = value;
    }
  }

  /// <summary>Field number for the "leader_position" field.</summary>
  public const int LeaderPositionFieldNumber = 2;
  private global::Vector leaderPosition_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::Vector LeaderPosition {
    get { return leaderPosition_; }
    set {
      leaderPosition_ = value;
    }
  }

  /// <summary>Field number for the "leader_rotation" field.</summary>
  public const int LeaderRotationFieldNumber = 3;
  private global::Vector leaderRotation_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::Vector LeaderRotation {
    get { return leaderRotation_; }
    set {
      leaderRotation_ = value;
    }
  }

  /// <summary>Field number for the "scene_name" field.</summary>
  public const int SceneNameFieldNumber = 4;
  private string sceneName_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string SceneName {
    get { return sceneName_; }
    set {
      sceneName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "server_ts" field.</summary>
  public const int ServerTsFieldNumber = 11;
  private ulong serverTs_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong ServerTs {
    get { return serverTs_; }
    set {
      serverTs_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as RoleBaseInfo);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(RoleBaseInfo other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (LeaderCharId != other.LeaderCharId) return false;
    if (!object.Equals(LeaderPosition, other.LeaderPosition)) return false;
    if (!object.Equals(LeaderRotation, other.LeaderRotation)) return false;
    if (SceneName != other.SceneName) return false;
    if (ServerTs != other.ServerTs) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (LeaderCharId != 0UL) hash ^= LeaderCharId.GetHashCode();
    if (leaderPosition_ != null) hash ^= LeaderPosition.GetHashCode();
    if (leaderRotation_ != null) hash ^= LeaderRotation.GetHashCode();
    if (SceneName.Length != 0) hash ^= SceneName.GetHashCode();
    if (ServerTs != 0UL) hash ^= ServerTs.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (LeaderCharId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(LeaderCharId);
    }
    if (leaderPosition_ != null) {
      output.WriteRawTag(18);
      output.WriteMessage(LeaderPosition);
    }
    if (leaderRotation_ != null) {
      output.WriteRawTag(26);
      output.WriteMessage(LeaderRotation);
    }
    if (SceneName.Length != 0) {
      output.WriteRawTag(34);
      output.WriteString(SceneName);
    }
    if (ServerTs != 0UL) {
      output.WriteRawTag(88);
      output.WriteUInt64(ServerTs);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (LeaderCharId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(LeaderCharId);
    }
    if (leaderPosition_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(LeaderPosition);
    }
    if (leaderRotation_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(LeaderRotation);
    }
    if (SceneName.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(SceneName);
    }
    if (ServerTs != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(ServerTs);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(RoleBaseInfo other) {
    if (other == null) {
      return;
    }
    if (other.LeaderCharId != 0UL) {
      LeaderCharId = other.LeaderCharId;
    }
    if (other.leaderPosition_ != null) {
      if (leaderPosition_ == null) {
        leaderPosition_ = new global::Vector();
      }
      LeaderPosition.MergeFrom(other.LeaderPosition);
    }
    if (other.leaderRotation_ != null) {
      if (leaderRotation_ == null) {
        leaderRotation_ = new global::Vector();
      }
      LeaderRotation.MergeFrom(other.LeaderRotation);
    }
    if (other.SceneName.Length != 0) {
      SceneName = other.SceneName;
    }
    if (other.ServerTs != 0UL) {
      ServerTs = other.ServerTs;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          LeaderCharId = input.ReadUInt64();
          break;
        }
        case 18: {
          if (leaderPosition_ == null) {
            leaderPosition_ = new global::Vector();
          }
          input.ReadMessage(leaderPosition_);
          break;
        }
        case 26: {
          if (leaderRotation_ == null) {
            leaderRotation_ = new global::Vector();
          }
          input.ReadMessage(leaderRotation_);
          break;
        }
        case 34: {
          SceneName = input.ReadString();
          break;
        }
        case 88: {
          ServerTs = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class FriendStrangerUserInfo : pb::IMessage<FriendStrangerUserInfo> {
  private static readonly pb::MessageParser<FriendStrangerUserInfo> _parser = new pb::MessageParser<FriendStrangerUserInfo>(() => new FriendStrangerUserInfo());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<FriendStrangerUserInfo> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[224]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public FriendStrangerUserInfo() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public FriendStrangerUserInfo(FriendStrangerUserInfo other) : this() {
    roleId_ = other.roleId_;
    uid_ = other.uid_;
    name_ = other.name_;
    shortId_ = other.shortId_;
    lastLoginTime_ = other.lastLoginTime_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public FriendStrangerUserInfo Clone() {
    return new FriendStrangerUserInfo(this);
  }

  /// <summary>Field number for the "role_id" field.</summary>
  public const int RoleIdFieldNumber = 1;
  private ulong roleId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong RoleId {
    get { return roleId_; }
    set {
      roleId_ = value;
    }
  }

  /// <summary>Field number for the "uid" field.</summary>
  public const int UidFieldNumber = 2;
  private string uid_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string Uid {
    get { return uid_; }
    set {
      uid_ = 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]
  public string Name {
    get { return name_; }
    set {
      name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "short_id" field.</summary>
  public const int ShortIdFieldNumber = 4;
  private string shortId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ShortId {
    get { return shortId_; }
    set {
      shortId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "last_login_time" field.</summary>
  public const int LastLoginTimeFieldNumber = 5;
  private long lastLoginTime_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long LastLoginTime {
    get { return lastLoginTime_; }
    set {
      lastLoginTime_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as FriendStrangerUserInfo);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(FriendStrangerUserInfo other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (RoleId != other.RoleId) return false;
    if (Uid != other.Uid) return false;
    if (Name != other.Name) return false;
    if (ShortId != other.ShortId) return false;
    if (LastLoginTime != other.LastLoginTime) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (RoleId != 0UL) hash ^= RoleId.GetHashCode();
    if (Uid.Length != 0) hash ^= Uid.GetHashCode();
    if (Name.Length != 0) hash ^= Name.GetHashCode();
    if (ShortId.Length != 0) hash ^= ShortId.GetHashCode();
    if (LastLoginTime != 0L) hash ^= LastLoginTime.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (RoleId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(RoleId);
    }
    if (Uid.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(Uid);
    }
    if (Name.Length != 0) {
      output.WriteRawTag(26);
      output.WriteString(Name);
    }
    if (ShortId.Length != 0) {
      output.WriteRawTag(34);
      output.WriteString(ShortId);
    }
    if (LastLoginTime != 0L) {
      output.WriteRawTag(40);
      output.WriteInt64(LastLoginTime);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (RoleId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(RoleId);
    }
    if (Uid.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(Uid);
    }
    if (Name.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
    }
    if (ShortId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ShortId);
    }
    if (LastLoginTime != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(LastLoginTime);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(FriendStrangerUserInfo other) {
    if (other == null) {
      return;
    }
    if (other.RoleId != 0UL) {
      RoleId = other.RoleId;
    }
    if (other.Uid.Length != 0) {
      Uid = other.Uid;
    }
    if (other.Name.Length != 0) {
      Name = other.Name;
    }
    if (other.ShortId.Length != 0) {
      ShortId = other.ShortId;
    }
    if (other.LastLoginTime != 0L) {
      LastLoginTime = other.LastLoginTime;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          RoleId = input.ReadUInt64();
          break;
        }
        case 18: {
          Uid = input.ReadString();
          break;
        }
        case 26: {
          Name = input.ReadString();
          break;
        }
        case 34: {
          ShortId = input.ReadString();
          break;
        }
        case 40: {
          LastLoginTime = input.ReadInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class FriendFriendUserInfo : pb::IMessage<FriendFriendUserInfo> {
  private static readonly pb::MessageParser<FriendFriendUserInfo> _parser = new pb::MessageParser<FriendFriendUserInfo>(() => new FriendFriendUserInfo());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<FriendFriendUserInfo> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[225]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public FriendFriendUserInfo() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public FriendFriendUserInfo(FriendFriendUserInfo other) : this() {
    roleId_ = other.roleId_;
    uid_ = other.uid_;
    name_ = other.name_;
    shortId_ = other.shortId_;
    lastLoginTime_ = other.lastLoginTime_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public FriendFriendUserInfo Clone() {
    return new FriendFriendUserInfo(this);
  }

  /// <summary>Field number for the "role_id" field.</summary>
  public const int RoleIdFieldNumber = 1;
  private ulong roleId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong RoleId {
    get { return roleId_; }
    set {
      roleId_ = value;
    }
  }

  /// <summary>Field number for the "uid" field.</summary>
  public const int UidFieldNumber = 2;
  private string uid_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string Uid {
    get { return uid_; }
    set {
      uid_ = 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]
  public string Name {
    get { return name_; }
    set {
      name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "short_id" field.</summary>
  public const int ShortIdFieldNumber = 4;
  private string shortId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ShortId {
    get { return shortId_; }
    set {
      shortId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "last_login_time" field.</summary>
  public const int LastLoginTimeFieldNumber = 5;
  private long lastLoginTime_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long LastLoginTime {
    get { return lastLoginTime_; }
    set {
      lastLoginTime_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as FriendFriendUserInfo);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(FriendFriendUserInfo other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (RoleId != other.RoleId) return false;
    if (Uid != other.Uid) return false;
    if (Name != other.Name) return false;
    if (ShortId != other.ShortId) return false;
    if (LastLoginTime != other.LastLoginTime) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (RoleId != 0UL) hash ^= RoleId.GetHashCode();
    if (Uid.Length != 0) hash ^= Uid.GetHashCode();
    if (Name.Length != 0) hash ^= Name.GetHashCode();
    if (ShortId.Length != 0) hash ^= ShortId.GetHashCode();
    if (LastLoginTime != 0L) hash ^= LastLoginTime.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (RoleId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(RoleId);
    }
    if (Uid.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(Uid);
    }
    if (Name.Length != 0) {
      output.WriteRawTag(26);
      output.WriteString(Name);
    }
    if (ShortId.Length != 0) {
      output.WriteRawTag(34);
      output.WriteString(ShortId);
    }
    if (LastLoginTime != 0L) {
      output.WriteRawTag(40);
      output.WriteInt64(LastLoginTime);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (RoleId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(RoleId);
    }
    if (Uid.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(Uid);
    }
    if (Name.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
    }
    if (ShortId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ShortId);
    }
    if (LastLoginTime != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(LastLoginTime);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(FriendFriendUserInfo other) {
    if (other == null) {
      return;
    }
    if (other.RoleId != 0UL) {
      RoleId = other.RoleId;
    }
    if (other.Uid.Length != 0) {
      Uid = other.Uid;
    }
    if (other.Name.Length != 0) {
      Name = other.Name;
    }
    if (other.ShortId.Length != 0) {
      ShortId = other.ShortId;
    }
    if (other.LastLoginTime != 0L) {
      LastLoginTime = other.LastLoginTime;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          RoleId = input.ReadUInt64();
          break;
        }
        case 18: {
          Uid = input.ReadString();
          break;
        }
        case 26: {
          Name = input.ReadString();
          break;
        }
        case 34: {
          ShortId = input.ReadString();
          break;
        }
        case 40: {
          LastLoginTime = input.ReadInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class FriendFriendInfo : pb::IMessage<FriendFriendInfo> {
  private static readonly pb::MessageParser<FriendFriendInfo> _parser = new pb::MessageParser<FriendFriendInfo>(() => new FriendFriendInfo());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<FriendFriendInfo> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[226]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public FriendFriendInfo() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public FriendFriendInfo(FriendFriendInfo other) : this() {
    friendUserInfo_ = other.friendUserInfo_ != null ? other.friendUserInfo_.Clone() : null;
    createTime_ = other.createTime_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public FriendFriendInfo Clone() {
    return new FriendFriendInfo(this);
  }

  /// <summary>Field number for the "friend_user_info" field.</summary>
  public const int FriendUserInfoFieldNumber = 1;
  private global::FriendFriendUserInfo friendUserInfo_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::FriendFriendUserInfo FriendUserInfo {
    get { return friendUserInfo_; }
    set {
      friendUserInfo_ = value;
    }
  }

  /// <summary>Field number for the "create_time" field.</summary>
  public const int CreateTimeFieldNumber = 2;
  private long createTime_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long CreateTime {
    get { return createTime_; }
    set {
      createTime_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as FriendFriendInfo);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(FriendFriendInfo other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!object.Equals(FriendUserInfo, other.FriendUserInfo)) return false;
    if (CreateTime != other.CreateTime) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (friendUserInfo_ != null) hash ^= FriendUserInfo.GetHashCode();
    if (CreateTime != 0L) hash ^= CreateTime.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (friendUserInfo_ != null) {
      output.WriteRawTag(10);
      output.WriteMessage(FriendUserInfo);
    }
    if (CreateTime != 0L) {
      output.WriteRawTag(16);
      output.WriteInt64(CreateTime);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (friendUserInfo_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(FriendUserInfo);
    }
    if (CreateTime != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(CreateTime);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(FriendFriendInfo other) {
    if (other == null) {
      return;
    }
    if (other.friendUserInfo_ != null) {
      if (friendUserInfo_ == null) {
        friendUserInfo_ = new global::FriendFriendUserInfo();
      }
      FriendUserInfo.MergeFrom(other.FriendUserInfo);
    }
    if (other.CreateTime != 0L) {
      CreateTime = other.CreateTime;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          if (friendUserInfo_ == null) {
            friendUserInfo_ = new global::FriendFriendUserInfo();
          }
          input.ReadMessage(friendUserInfo_);
          break;
        }
        case 16: {
          CreateTime = input.ReadInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class FriendRequestInfo : pb::IMessage<FriendRequestInfo> {
  private static readonly pb::MessageParser<FriendRequestInfo> _parser = new pb::MessageParser<FriendRequestInfo>(() => new FriendRequestInfo());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<FriendRequestInfo> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[227]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public FriendRequestInfo() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public FriendRequestInfo(FriendRequestInfo other) : this() {
    strangerUserInfo_ = other.strangerUserInfo_ != null ? other.strangerUserInfo_.Clone() : null;
    createTime_ = other.createTime_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public FriendRequestInfo Clone() {
    return new FriendRequestInfo(this);
  }

  /// <summary>Field number for the "stranger_user_info" field.</summary>
  public const int StrangerUserInfoFieldNumber = 1;
  private global::FriendStrangerUserInfo strangerUserInfo_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::FriendStrangerUserInfo StrangerUserInfo {
    get { return strangerUserInfo_; }
    set {
      strangerUserInfo_ = value;
    }
  }

  /// <summary>Field number for the "create_time" field.</summary>
  public const int CreateTimeFieldNumber = 2;
  private long createTime_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long CreateTime {
    get { return createTime_; }
    set {
      createTime_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as FriendRequestInfo);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(FriendRequestInfo other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!object.Equals(StrangerUserInfo, other.StrangerUserInfo)) return false;
    if (CreateTime != other.CreateTime) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (strangerUserInfo_ != null) hash ^= StrangerUserInfo.GetHashCode();
    if (CreateTime != 0L) hash ^= CreateTime.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (strangerUserInfo_ != null) {
      output.WriteRawTag(10);
      output.WriteMessage(StrangerUserInfo);
    }
    if (CreateTime != 0L) {
      output.WriteRawTag(16);
      output.WriteInt64(CreateTime);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (strangerUserInfo_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(StrangerUserInfo);
    }
    if (CreateTime != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(CreateTime);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(FriendRequestInfo other) {
    if (other == null) {
      return;
    }
    if (other.strangerUserInfo_ != null) {
      if (strangerUserInfo_ == null) {
        strangerUserInfo_ = new global::FriendStrangerUserInfo();
      }
      StrangerUserInfo.MergeFrom(other.StrangerUserInfo);
    }
    if (other.CreateTime != 0L) {
      CreateTime = other.CreateTime;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          if (strangerUserInfo_ == null) {
            strangerUserInfo_ = new global::FriendStrangerUserInfo();
          }
          input.ReadMessage(strangerUserInfo_);
          break;
        }
        case 16: {
          CreateTime = input.ReadInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class FriendFriendSInfo : pb::IMessage<FriendFriendSInfo> {
  private static readonly pb::MessageParser<FriendFriendSInfo> _parser = new pb::MessageParser<FriendFriendSInfo>(() => new FriendFriendSInfo());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<FriendFriendSInfo> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[228]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public FriendFriendSInfo() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public FriendFriendSInfo(FriendFriendSInfo other) : this() {
    roleId_ = other.roleId_;
    createTime_ = other.createTime_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public FriendFriendSInfo Clone() {
    return new FriendFriendSInfo(this);
  }

  /// <summary>Field number for the "role_id" field.</summary>
  public const int RoleIdFieldNumber = 1;
  private ulong roleId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong RoleId {
    get { return roleId_; }
    set {
      roleId_ = value;
    }
  }

  /// <summary>Field number for the "create_time" field.</summary>
  public const int CreateTimeFieldNumber = 2;
  private long createTime_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long CreateTime {
    get { return createTime_; }
    set {
      createTime_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as FriendFriendSInfo);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(FriendFriendSInfo other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (RoleId != other.RoleId) return false;
    if (CreateTime != other.CreateTime) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (RoleId != 0UL) hash ^= RoleId.GetHashCode();
    if (CreateTime != 0L) hash ^= CreateTime.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (RoleId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(RoleId);
    }
    if (CreateTime != 0L) {
      output.WriteRawTag(16);
      output.WriteInt64(CreateTime);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (RoleId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(RoleId);
    }
    if (CreateTime != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(CreateTime);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(FriendFriendSInfo other) {
    if (other == null) {
      return;
    }
    if (other.RoleId != 0UL) {
      RoleId = other.RoleId;
    }
    if (other.CreateTime != 0L) {
      CreateTime = other.CreateTime;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          RoleId = input.ReadUInt64();
          break;
        }
        case 16: {
          CreateTime = input.ReadInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class FriendRequestSInfo : pb::IMessage<FriendRequestSInfo> {
  private static readonly pb::MessageParser<FriendRequestSInfo> _parser = new pb::MessageParser<FriendRequestSInfo>(() => new FriendRequestSInfo());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<FriendRequestSInfo> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[229]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public FriendRequestSInfo() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public FriendRequestSInfo(FriendRequestSInfo other) : this() {
    roleId_ = other.roleId_;
    createTime_ = other.createTime_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public FriendRequestSInfo Clone() {
    return new FriendRequestSInfo(this);
  }

  /// <summary>Field number for the "role_id" field.</summary>
  public const int RoleIdFieldNumber = 1;
  private ulong roleId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong RoleId {
    get { return roleId_; }
    set {
      roleId_ = value;
    }
  }

  /// <summary>Field number for the "create_time" field.</summary>
  public const int CreateTimeFieldNumber = 2;
  private long createTime_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long CreateTime {
    get { return createTime_; }
    set {
      createTime_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as FriendRequestSInfo);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(FriendRequestSInfo other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (RoleId != other.RoleId) return false;
    if (CreateTime != other.CreateTime) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (RoleId != 0UL) hash ^= RoleId.GetHashCode();
    if (CreateTime != 0L) hash ^= CreateTime.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (RoleId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(RoleId);
    }
    if (CreateTime != 0L) {
      output.WriteRawTag(16);
      output.WriteInt64(CreateTime);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (RoleId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(RoleId);
    }
    if (CreateTime != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(CreateTime);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(FriendRequestSInfo other) {
    if (other == null) {
      return;
    }
    if (other.RoleId != 0UL) {
      RoleId = other.RoleId;
    }
    if (other.CreateTime != 0L) {
      CreateTime = other.CreateTime;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          RoleId = input.ReadUInt64();
          break;
        }
        case 16: {
          CreateTime = input.ReadInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class TempTeamCharSaveData : pb::IMessage<TempTeamCharSaveData> {
  private static readonly pb::MessageParser<TempTeamCharSaveData> _parser = new pb::MessageParser<TempTeamCharSaveData>(() => new TempTeamCharSaveData());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<TempTeamCharSaveData> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[230]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public TempTeamCharSaveData() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public TempTeamCharSaveData(TempTeamCharSaveData other) : this() {
    trialCharData_ = other.trialCharData_ != null ? other.trialCharData_.Clone() : null;
    hp_ = other.hp_;
    ultimateSp_ = other.ultimateSp_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public TempTeamCharSaveData Clone() {
    return new TempTeamCharSaveData(this);
  }

  /// <summary>Field number for the "trial_char_data" field.</summary>
  public const int TrialCharDataFieldNumber = 1;
  private global::TrialCharData trialCharData_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::TrialCharData TrialCharData {
    get { return trialCharData_; }
    set {
      trialCharData_ = value;
    }
  }

  /// <summary>Field number for the "hp" field.</summary>
  public const int HpFieldNumber = 2;
  private int hp_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Hp {
    get { return hp_; }
    set {
      hp_ = value;
    }
  }

  /// <summary>Field number for the "ultimate_sp" field.</summary>
  public const int UltimateSpFieldNumber = 3;
  private int ultimateSp_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int UltimateSp {
    get { return ultimateSp_; }
    set {
      ultimateSp_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as TempTeamCharSaveData);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(TempTeamCharSaveData other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!object.Equals(TrialCharData, other.TrialCharData)) return false;
    if (Hp != other.Hp) return false;
    if (UltimateSp != other.UltimateSp) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (trialCharData_ != null) hash ^= TrialCharData.GetHashCode();
    if (Hp != 0) hash ^= Hp.GetHashCode();
    if (UltimateSp != 0) hash ^= UltimateSp.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (trialCharData_ != null) {
      output.WriteRawTag(10);
      output.WriteMessage(TrialCharData);
    }
    if (Hp != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(Hp);
    }
    if (UltimateSp != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(UltimateSp);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (trialCharData_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(TrialCharData);
    }
    if (Hp != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Hp);
    }
    if (UltimateSp != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(UltimateSp);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(TempTeamCharSaveData other) {
    if (other == null) {
      return;
    }
    if (other.trialCharData_ != null) {
      if (trialCharData_ == null) {
        trialCharData_ = new global::TrialCharData();
      }
      TrialCharData.MergeFrom(other.TrialCharData);
    }
    if (other.Hp != 0) {
      Hp = other.Hp;
    }
    if (other.UltimateSp != 0) {
      UltimateSp = other.UltimateSp;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          if (trialCharData_ == null) {
            trialCharData_ = new global::TrialCharData();
          }
          input.ReadMessage(trialCharData_);
          break;
        }
        case 16: {
          Hp = input.ReadInt32();
          break;
        }
        case 24: {
          UltimateSp = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class TrialCharData : pb::IMessage<TrialCharData> {
  private static readonly pb::MessageParser<TrialCharData> _parser = new pb::MessageParser<TrialCharData>(() => new TrialCharData());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<TrialCharData> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[231]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public TrialCharData() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public TrialCharData(TrialCharData other) : this() {
    equipMedicineNum_ = other.equipMedicineNum_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public TrialCharData Clone() {
    return new TrialCharData(this);
  }

  /// <summary>Field number for the "equip_medicine_num" field.</summary>
  public const int EquipMedicineNumFieldNumber = 2;
  private int equipMedicineNum_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int EquipMedicineNum {
    get { return equipMedicineNum_; }
    set {
      equipMedicineNum_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as TrialCharData);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(TrialCharData other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (EquipMedicineNum != other.EquipMedicineNum) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (EquipMedicineNum != 0) hash ^= EquipMedicineNum.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (EquipMedicineNum != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(EquipMedicineNum);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (EquipMedicineNum != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(EquipMedicineNum);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(TrialCharData other) {
    if (other == null) {
      return;
    }
    if (other.EquipMedicineNum != 0) {
      EquipMedicineNum = other.EquipMedicineNum;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 16: {
          EquipMedicineNum = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class TeamCharId : pb::IMessage<TeamCharId> {
  private static readonly pb::MessageParser<TeamCharId> _parser = new pb::MessageParser<TeamCharId>(() => new TeamCharId());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<TeamCharId> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[232]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public TeamCharId() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public TeamCharId(TeamCharId other) : this() {
    idType_ = other.idType_;
    switch (other.CharIdCase) {
      case CharIdOneofCase.ObjId:
        ObjId = other.ObjId;
        break;
      case CharIdOneofCase.PresetCharId:
        PresetCharId = other.PresetCharId;
        break;
    }

    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public TeamCharId Clone() {
    return new TeamCharId(this);
  }

  /// <summary>Field number for the "id_type" field.</summary>
  public const int IdTypeFieldNumber = 1;
  private global::TeamCharIdType idType_ = 0;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::TeamCharIdType IdType {
    get { return idType_; }
    set {
      idType_ = value;
    }
  }

  /// <summary>Field number for the "obj_id" field.</summary>
  public const int ObjIdFieldNumber = 2;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong ObjId {
    get { return charIdCase_ == CharIdOneofCase.ObjId ? (ulong) charId_ : 0UL; }
    set {
      charId_ = value;
      charIdCase_ = CharIdOneofCase.ObjId;
    }
  }

  /// <summary>Field number for the "preset_char_id" field.</summary>
  public const int PresetCharIdFieldNumber = 3;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string PresetCharId {
    get { return charIdCase_ == CharIdOneofCase.PresetCharId ? (string) charId_ : ""; }
    set {
      charId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      charIdCase_ = CharIdOneofCase.PresetCharId;
    }
  }

  private object charId_;
  /// <summary>Enum of possible cases for the "char_id" oneof.</summary>
  public enum CharIdOneofCase {
    None = 0,
    ObjId = 2,
    PresetCharId = 3,
  }
  private CharIdOneofCase charIdCase_ = CharIdOneofCase.None;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CharIdOneofCase CharIdCase {
    get { return charIdCase_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void ClearCharId() {
    charIdCase_ = CharIdOneofCase.None;
    charId_ = null;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as TeamCharId);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(TeamCharId other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (IdType != other.IdType) return false;
    if (ObjId != other.ObjId) return false;
    if (PresetCharId != other.PresetCharId) return false;
    if (CharIdCase != other.CharIdCase) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (IdType != 0) hash ^= IdType.GetHashCode();
    if (charIdCase_ == CharIdOneofCase.ObjId) hash ^= ObjId.GetHashCode();
    if (charIdCase_ == CharIdOneofCase.PresetCharId) hash ^= PresetCharId.GetHashCode();
    hash ^= (int) charIdCase_;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (IdType != 0) {
      output.WriteRawTag(8);
      output.WriteEnum((int) IdType);
    }
    if (charIdCase_ == CharIdOneofCase.ObjId) {
      output.WriteRawTag(16);
      output.WriteUInt64(ObjId);
    }
    if (charIdCase_ == CharIdOneofCase.PresetCharId) {
      output.WriteRawTag(26);
      output.WriteString(PresetCharId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (IdType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) IdType);
    }
    if (charIdCase_ == CharIdOneofCase.ObjId) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(ObjId);
    }
    if (charIdCase_ == CharIdOneofCase.PresetCharId) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(PresetCharId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(TeamCharId other) {
    if (other == null) {
      return;
    }
    if (other.IdType != 0) {
      IdType = other.IdType;
    }
    switch (other.CharIdCase) {
      case CharIdOneofCase.ObjId:
        ObjId = other.ObjId;
        break;
      case CharIdOneofCase.PresetCharId:
        PresetCharId = other.PresetCharId;
        break;
    }

    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          idType_ = (global::TeamCharIdType) input.ReadEnum();
          break;
        }
        case 16: {
          ObjId = input.ReadUInt64();
          break;
        }
        case 26: {
          PresetCharId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class PassThroughData : pb::IMessage<PassThroughData> {
  private static readonly pb::MessageParser<PassThroughData> _parser = new pb::MessageParser<PassThroughData>(() => new PassThroughData());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<PassThroughData> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[233]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public PassThroughData() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public PassThroughData(PassThroughData other) : this() {
    strArgs_ = other.strArgs_.Clone();
    intArgs_ = other.intArgs_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public PassThroughData Clone() {
    return new PassThroughData(this);
  }

  /// <summary>Field number for the "str_args" field.</summary>
  public const int StrArgsFieldNumber = 1;
  private static readonly pb::FieldCodec<string> _repeated_strArgs_codec
      = pb::FieldCodec.ForString(10);
  private readonly pbc::RepeatedField<string> strArgs_ = new pbc::RepeatedField<string>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<string> StrArgs {
    get { return strArgs_; }
  }

  /// <summary>Field number for the "int_args" field.</summary>
  public const int IntArgsFieldNumber = 2;
  private static readonly pb::FieldCodec<long> _repeated_intArgs_codec
      = pb::FieldCodec.ForInt64(18);
  private readonly pbc::RepeatedField<long> intArgs_ = new pbc::RepeatedField<long>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<long> IntArgs {
    get { return intArgs_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as PassThroughData);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(PassThroughData other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!strArgs_.Equals(other.strArgs_)) return false;
    if(!intArgs_.Equals(other.intArgs_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= strArgs_.GetHashCode();
    hash ^= intArgs_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    strArgs_.WriteTo(output, _repeated_strArgs_codec);
    intArgs_.WriteTo(output, _repeated_intArgs_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += strArgs_.CalculateSize(_repeated_strArgs_codec);
    size += intArgs_.CalculateSize(_repeated_intArgs_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(PassThroughData other) {
    if (other == null) {
      return;
    }
    strArgs_.Add(other.strArgs_);
    intArgs_.Add(other.intArgs_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          strArgs_.AddEntriesFrom(input, _repeated_strArgs_codec);
          break;
        }
        case 18:
        case 16: {
          intArgs_.AddEntriesFrom(input, _repeated_intArgs_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class SceneTrackPoint : pb::IMessage<SceneTrackPoint> {
  private static readonly pb::MessageParser<SceneTrackPoint> _parser = new pb::MessageParser<SceneTrackPoint>(() => new SceneTrackPoint());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<SceneTrackPoint> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[234]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SceneTrackPoint() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SceneTrackPoint(SceneTrackPoint other) : this() {
    instId_ = other.instId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SceneTrackPoint Clone() {
    return new SceneTrackPoint(this);
  }

  /// <summary>Field number for the "inst_id" field.</summary>
  public const int InstIdFieldNumber = 1;
  private string instId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string InstId {
    get { return instId_; }
    set {
      instId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as SceneTrackPoint);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(SceneTrackPoint other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (InstId != other.InstId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (InstId.Length != 0) hash ^= InstId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (InstId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(InstId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (InstId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(InstId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(SceneTrackPoint other) {
    if (other == null) {
      return;
    }
    if (other.InstId.Length != 0) {
      InstId = other.InstId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          InstId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class SceneStaticMapMark : pb::IMessage<SceneStaticMapMark> {
  private static readonly pb::MessageParser<SceneStaticMapMark> _parser = new pb::MessageParser<SceneStaticMapMark>(() => new SceneStaticMapMark());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<SceneStaticMapMark> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[235]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SceneStaticMapMark() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SceneStaticMapMark(SceneStaticMapMark other) : this() {
    index_ = other.index_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SceneStaticMapMark Clone() {
    return new SceneStaticMapMark(this);
  }

  /// <summary>Field number for the "index" field.</summary>
  public const int IndexFieldNumber = 1;
  private int index_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Index {
    get { return index_; }
    set {
      index_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as SceneStaticMapMark);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(SceneStaticMapMark other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Index != other.Index) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Index != 0) hash ^= Index.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Index != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(Index);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Index != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Index);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(SceneStaticMapMark other) {
    if (other == null) {
      return;
    }
    if (other.Index != 0) {
      Index = other.Index;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Index = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class CsAchieveComplete : pb::IMessage<CsAchieveComplete> {
  private static readonly pb::MessageParser<CsAchieveComplete> _parser = new pb::MessageParser<CsAchieveComplete>(() => new CsAchieveComplete());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsAchieveComplete> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[236]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsAchieveComplete() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsAchieveComplete(CsAchieveComplete other) : this() {
    achieveId_ = other.achieveId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsAchieveComplete Clone() {
    return new CsAchieveComplete(this);
  }

  /// <summary>Field number for the "achieve_id" field.</summary>
  public const int AchieveIdFieldNumber = 1;
  private string achieveId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string AchieveId {
    get { return achieveId_; }
    set {
      achieveId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsAchieveComplete);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsAchieveComplete other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (AchieveId != other.AchieveId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (AchieveId.Length != 0) hash ^= AchieveId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (AchieveId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(AchieveId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (AchieveId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(AchieveId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsAchieveComplete other) {
    if (other == null) {
      return;
    }
    if (other.AchieveId.Length != 0) {
      AchieveId = other.AchieveId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          AchieveId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class ScAchieveComplete : pb::IMessage<ScAchieveComplete> {
  private static readonly pb::MessageParser<ScAchieveComplete> _parser = new pb::MessageParser<ScAchieveComplete>(() => new ScAchieveComplete());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScAchieveComplete> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[237]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScAchieveComplete() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScAchieveComplete(ScAchieveComplete other) : this() {
    achieveId_ = other.achieveId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScAchieveComplete Clone() {
    return new ScAchieveComplete(this);
  }

  /// <summary>Field number for the "achieve_id" field.</summary>
  public const int AchieveIdFieldNumber = 1;
  private string achieveId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string AchieveId {
    get { return achieveId_; }
    set {
      achieveId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScAchieveComplete);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScAchieveComplete other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (AchieveId != other.AchieveId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (AchieveId.Length != 0) hash ^= AchieveId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (AchieveId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(AchieveId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (AchieveId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(AchieveId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScAchieveComplete other) {
    if (other == null) {
      return;
    }
    if (other.AchieveId.Length != 0) {
      AchieveId = other.AchieveId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          AchieveId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class CsAchieveTakeReward : pb::IMessage<CsAchieveTakeReward> {
  private static readonly pb::MessageParser<CsAchieveTakeReward> _parser = new pb::MessageParser<CsAchieveTakeReward>(() => new CsAchieveTakeReward());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsAchieveTakeReward> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[238]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsAchieveTakeReward() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsAchieveTakeReward(CsAchieveTakeReward other) : this() {
    achieveId_ = other.achieveId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsAchieveTakeReward Clone() {
    return new CsAchieveTakeReward(this);
  }

  /// <summary>Field number for the "achieve_id" field.</summary>
  public const int AchieveIdFieldNumber = 1;
  private string achieveId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string AchieveId {
    get { return achieveId_; }
    set {
      achieveId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsAchieveTakeReward);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsAchieveTakeReward other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (AchieveId != other.AchieveId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (AchieveId.Length != 0) hash ^= AchieveId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (AchieveId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(AchieveId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (AchieveId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(AchieveId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsAchieveTakeReward other) {
    if (other == null) {
      return;
    }
    if (other.AchieveId.Length != 0) {
      AchieveId = other.AchieveId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          AchieveId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class ScActivitySync : pb::IMessage<ScActivitySync> {
  private static readonly pb::MessageParser<ScActivitySync> _parser = new pb::MessageParser<ScActivitySync>(() => new ScActivitySync());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScActivitySync> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[239]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScActivitySync() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScActivitySync(ScActivitySync other) : this() {
    info_ = other.info_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScActivitySync Clone() {
    return new ScActivitySync(this);
  }

  /// <summary>Field number for the "info" field.</summary>
  public const int InfoFieldNumber = 1;
  private static readonly pb::FieldCodec<global::ActivityInfo> _repeated_info_codec
      = pb::FieldCodec.ForMessage(10, global::ActivityInfo.Parser);
  private readonly pbc::RepeatedField<global::ActivityInfo> info_ = new pbc::RepeatedField<global::ActivityInfo>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ActivityInfo> Info {
    get { return info_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScActivitySync);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScActivitySync other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!info_.Equals(other.info_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= info_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    info_.WriteTo(output, _repeated_info_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += info_.CalculateSize(_repeated_info_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScActivitySync other) {
    if (other == null) {
      return;
    }
    info_.Add(other.info_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          info_.AddEntriesFrom(input, _repeated_info_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ActivityInfo : pb::IMessage<ActivityInfo> {
  private static readonly pb::MessageParser<ActivityInfo> _parser = new pb::MessageParser<ActivityInfo>(() => new ActivityInfo());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ActivityInfo> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[240]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ActivityInfo() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ActivityInfo(ActivityInfo other) : this() {
    version_ = other.version_;
    isEnable_ = other.isEnable_;
    id_ = other.id_;
    name_ = other.name_;
    startTime_ = other.startTime_;
    endTime_ = other.endTime_;
    typ_ = other.typ_;
    data_ = other.data_ != null ? other.data_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ActivityInfo Clone() {
    return new ActivityInfo(this);
  }

  /// <summary>Field number for the "version" field.</summary>
  public const int VersionFieldNumber = 1;
  private ulong version_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong Version {
    get { return version_; }
    set {
      version_ = value;
    }
  }

  /// <summary>Field number for the "is_enable" field.</summary>
  public const int IsEnableFieldNumber = 2;
  private bool isEnable_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool IsEnable {
    get { return isEnable_; }
    set {
      isEnable_ = value;
    }
  }

  /// <summary>Field number for the "id" field.</summary>
  public const int IdFieldNumber = 3;
  private string id_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  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 = 4;
  private string name_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string Name {
    get { return name_; }
    set {
      name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "start_time" field.</summary>
  public const int StartTimeFieldNumber = 5;
  private long startTime_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long StartTime {
    get { return startTime_; }
    set {
      startTime_ = value;
    }
  }

  /// <summary>Field number for the "end_time" field.</summary>
  public const int EndTimeFieldNumber = 6;
  private long endTime_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long EndTime {
    get { return endTime_; }
    set {
      endTime_ = value;
    }
  }

  /// <summary>Field number for the "typ" field.</summary>
  public const int TypFieldNumber = 7;
  private global::ActivityType typ_ = 0;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ActivityType Typ {
    get { return typ_; }
    set {
      typ_ = value;
    }
  }

  /// <summary>Field number for the "data" field.</summary>
  public const int DataFieldNumber = 8;
  private global::ActivityInfoSpecified data_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ActivityInfoSpecified Data {
    get { return data_; }
    set {
      data_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ActivityInfo);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ActivityInfo other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Version != other.Version) return false;
    if (IsEnable != other.IsEnable) return false;
    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 (Typ != other.Typ) return false;
    if (!object.Equals(Data, other.Data)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Version != 0UL) hash ^= Version.GetHashCode();
    if (IsEnable != false) hash ^= IsEnable.GetHashCode();
    if (Id.Length != 0) hash ^= Id.GetHashCode();
    if (Name.Length != 0) hash ^= Name.GetHashCode();
    if (StartTime != 0L) hash ^= StartTime.GetHashCode();
    if (EndTime != 0L) hash ^= EndTime.GetHashCode();
    if (Typ != 0) hash ^= Typ.GetHashCode();
    if (data_ != null) hash ^= Data.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Version != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(Version);
    }
    if (IsEnable != false) {
      output.WriteRawTag(16);
      output.WriteBool(IsEnable);
    }
    if (Id.Length != 0) {
      output.WriteRawTag(26);
      output.WriteString(Id);
    }
    if (Name.Length != 0) {
      output.WriteRawTag(34);
      output.WriteString(Name);
    }
    if (StartTime != 0L) {
      output.WriteRawTag(40);
      output.WriteInt64(StartTime);
    }
    if (EndTime != 0L) {
      output.WriteRawTag(48);
      output.WriteInt64(EndTime);
    }
    if (Typ != 0) {
      output.WriteRawTag(56);
      output.WriteEnum((int) Typ);
    }
    if (data_ != null) {
      output.WriteRawTag(66);
      output.WriteMessage(Data);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Version != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(Version);
    }
    if (IsEnable != false) {
      size += 1 + 1;
    }
    if (Id.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(Id);
    }
    if (Name.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
    }
    if (StartTime != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(StartTime);
    }
    if (EndTime != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(EndTime);
    }
    if (Typ != 0) {
      size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Typ);
    }
    if (data_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Data);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ActivityInfo other) {
    if (other == null) {
      return;
    }
    if (other.Version != 0UL) {
      Version = other.Version;
    }
    if (other.IsEnable != false) {
      IsEnable = other.IsEnable;
    }
    if (other.Id.Length != 0) {
      Id = other.Id;
    }
    if (other.Name.Length != 0) {
      Name = other.Name;
    }
    if (other.StartTime != 0L) {
      StartTime = other.StartTime;
    }
    if (other.EndTime != 0L) {
      EndTime = other.EndTime;
    }
    if (other.Typ != 0) {
      Typ = other.Typ;
    }
    if (other.data_ != null) {
      if (data_ == null) {
        data_ = new global::ActivityInfoSpecified();
      }
      Data.MergeFrom(other.Data);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Version = input.ReadUInt64();
          break;
        }
        case 16: {
          IsEnable = input.ReadBool();
          break;
        }
        case 26: {
          Id = input.ReadString();
          break;
        }
        case 34: {
          Name = input.ReadString();
          break;
        }
        case 40: {
          StartTime = input.ReadInt64();
          break;
        }
        case 48: {
          EndTime = input.ReadInt64();
          break;
        }
        case 56: {
          typ_ = (global::ActivityType) input.ReadEnum();
          break;
        }
        case 66: {
          if (data_ == null) {
            data_ = new global::ActivityInfoSpecified();
          }
          input.ReadMessage(data_);
          break;
        }
      }
    }
  }

}

public sealed partial class ActivityInfoSpecified : pb::IMessage<ActivityInfoSpecified> {
  private static readonly pb::MessageParser<ActivityInfoSpecified> _parser = new pb::MessageParser<ActivityInfoSpecified>(() => new ActivityInfoSpecified());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ActivityInfoSpecified> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[241]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ActivityInfoSpecified() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ActivityInfoSpecified(ActivityInfoSpecified other) : this() {
    switch (other.DataCase) {
      case DataOneofCase.Checkin:
        Checkin = other.Checkin.Clone();
        break;
    }

    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ActivityInfoSpecified Clone() {
    return new ActivityInfoSpecified(this);
  }

  /// <summary>Field number for the "checkin" field.</summary>
  public const int CheckinFieldNumber = 15;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ActivityInfoSpecifiedCheckin Checkin {
    get { return dataCase_ == DataOneofCase.Checkin ? (global::ActivityInfoSpecifiedCheckin) data_ : null; }
    set {
      data_ = value;
      dataCase_ = value == null ? DataOneofCase.None : DataOneofCase.Checkin;
    }
  }

  private object data_;
  /// <summary>Enum of possible cases for the "data" oneof.</summary>
  public enum DataOneofCase {
    None = 0,
    Checkin = 15,
  }
  private DataOneofCase dataCase_ = DataOneofCase.None;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public DataOneofCase DataCase {
    get { return dataCase_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void ClearData() {
    dataCase_ = DataOneofCase.None;
    data_ = null;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ActivityInfoSpecified);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ActivityInfoSpecified other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!object.Equals(Checkin, other.Checkin)) return false;
    if (DataCase != other.DataCase) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (dataCase_ == DataOneofCase.Checkin) hash ^= Checkin.GetHashCode();
    hash ^= (int) dataCase_;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (dataCase_ == DataOneofCase.Checkin) {
      output.WriteRawTag(122);
      output.WriteMessage(Checkin);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (dataCase_ == DataOneofCase.Checkin) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Checkin);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ActivityInfoSpecified other) {
    if (other == null) {
      return;
    }
    switch (other.DataCase) {
      case DataOneofCase.Checkin:
        if (Checkin == null) {
          Checkin = new global::ActivityInfoSpecifiedCheckin();
        }
        Checkin.MergeFrom(other.Checkin);
        break;
    }

    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 122: {
          global::ActivityInfoSpecifiedCheckin subBuilder = new global::ActivityInfoSpecifiedCheckin();
          if (dataCase_ == DataOneofCase.Checkin) {
            subBuilder.MergeFrom(Checkin);
          }
          input.ReadMessage(subBuilder);
          Checkin = subBuilder;
          break;
        }
      }
    }
  }

}

public sealed partial class ActivityInfoSpecifiedCheckin : pb::IMessage<ActivityInfoSpecifiedCheckin> {
  private static readonly pb::MessageParser<ActivityInfoSpecifiedCheckin> _parser = new pb::MessageParser<ActivityInfoSpecifiedCheckin>(() => new ActivityInfoSpecifiedCheckin());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ActivityInfoSpecifiedCheckin> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[242]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ActivityInfoSpecifiedCheckin() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ActivityInfoSpecifiedCheckin(ActivityInfoSpecifiedCheckin other) : this() {
    loginDays_ = other.loginDays_;
    rewardDays_ = other.rewardDays_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ActivityInfoSpecifiedCheckin Clone() {
    return new ActivityInfoSpecifiedCheckin(this);
  }

  /// <summary>Field number for the "login_days" field.</summary>
  public const int LoginDaysFieldNumber = 1;
  private int loginDays_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int LoginDays {
    get { return loginDays_; }
    set {
      loginDays_ = value;
    }
  }

  /// <summary>Field number for the "reward_days" field.</summary>
  public const int RewardDaysFieldNumber = 2;
  private int rewardDays_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int RewardDays {
    get { return rewardDays_; }
    set {
      rewardDays_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ActivityInfoSpecifiedCheckin);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ActivityInfoSpecifiedCheckin other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (LoginDays != other.LoginDays) return false;
    if (RewardDays != other.RewardDays) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (LoginDays != 0) hash ^= LoginDays.GetHashCode();
    if (RewardDays != 0) hash ^= RewardDays.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (LoginDays != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(LoginDays);
    }
    if (RewardDays != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(RewardDays);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (LoginDays != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(LoginDays);
    }
    if (RewardDays != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(RewardDays);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ActivityInfoSpecifiedCheckin other) {
    if (other == null) {
      return;
    }
    if (other.LoginDays != 0) {
      LoginDays = other.LoginDays;
    }
    if (other.RewardDays != 0) {
      RewardDays = other.RewardDays;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          LoginDays = input.ReadInt32();
          break;
        }
        case 16: {
          RewardDays = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScActivityModify : pb::IMessage<ScActivityModify> {
  private static readonly pb::MessageParser<ScActivityModify> _parser = new pb::MessageParser<ScActivityModify>(() => new ScActivityModify());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScActivityModify> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[243]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScActivityModify() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScActivityModify(ScActivityModify other) : this() {
    info_ = other.info_ != null ? other.info_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScActivityModify Clone() {
    return new ScActivityModify(this);
  }

  /// <summary>Field number for the "info" field.</summary>
  public const int InfoFieldNumber = 1;
  private global::ActivityInfo info_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ActivityInfo Info {
    get { return info_; }
    set {
      info_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScActivityModify);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScActivityModify other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!object.Equals(Info, other.Info)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (info_ != null) hash ^= Info.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (info_ != null) {
      output.WriteRawTag(10);
      output.WriteMessage(Info);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (info_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Info);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScActivityModify other) {
    if (other == null) {
      return;
    }
    if (other.info_ != null) {
      if (info_ == null) {
        info_ = new global::ActivityInfo();
      }
      Info.MergeFrom(other.Info);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          if (info_ == null) {
            info_ = new global::ActivityInfo();
          }
          input.ReadMessage(info_);
          break;
        }
      }
    }
  }

}

public sealed partial class CsDailyCheckin : pb::IMessage<CsDailyCheckin> {
  private static readonly pb::MessageParser<CsDailyCheckin> _parser = new pb::MessageParser<CsDailyCheckin>(() => new CsDailyCheckin());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsDailyCheckin> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[244]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsDailyCheckin() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsDailyCheckin(CsDailyCheckin other) : this() {
    id_ = other.id_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsDailyCheckin Clone() {
    return new CsDailyCheckin(this);
  }

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

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsDailyCheckin);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsDailyCheckin other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Id != other.Id) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Id.Length != 0) hash ^= Id.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Id.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(Id);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Id.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(Id);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsDailyCheckin other) {
    if (other == null) {
      return;
    }
    if (other.Id.Length != 0) {
      Id = other.Id;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          Id = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class ScDailyCheckin : pb::IMessage<ScDailyCheckin> {
  private static readonly pb::MessageParser<ScDailyCheckin> _parser = new pb::MessageParser<ScDailyCheckin>(() => new ScDailyCheckin());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScDailyCheckin> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[245]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScDailyCheckin() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScDailyCheckin(ScDailyCheckin other) : this() {
    id_ = other.id_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScDailyCheckin Clone() {
    return new ScDailyCheckin(this);
  }

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

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScDailyCheckin);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScDailyCheckin other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Id != other.Id) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Id.Length != 0) hash ^= Id.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Id.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(Id);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Id.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(Id);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScDailyCheckin other) {
    if (other == null) {
      return;
    }
    if (other.Id.Length != 0) {
      Id = other.Id;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          Id = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class CsAdventureTakeRewardAll : pb::IMessage<CsAdventureTakeRewardAll> {
  private static readonly pb::MessageParser<CsAdventureTakeRewardAll> _parser = new pb::MessageParser<CsAdventureTakeRewardAll>(() => new CsAdventureTakeRewardAll());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsAdventureTakeRewardAll> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[246]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsAdventureTakeRewardAll() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsAdventureTakeRewardAll(CsAdventureTakeRewardAll other) : this() {
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsAdventureTakeRewardAll Clone() {
    return new CsAdventureTakeRewardAll(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsAdventureTakeRewardAll);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsAdventureTakeRewardAll other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsAdventureTakeRewardAll other) {
    if (other == null) {
      return;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
      }
    }
  }

}

public sealed partial class ScAdventureLevelModify : pb::IMessage<ScAdventureLevelModify> {
  private static readonly pb::MessageParser<ScAdventureLevelModify> _parser = new pb::MessageParser<ScAdventureLevelModify>(() => new ScAdventureLevelModify());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScAdventureLevelModify> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[247]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScAdventureLevelModify() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScAdventureLevelModify(ScAdventureLevelModify other) : this() {
    level_ = other.level_;
    exp_ = other.exp_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScAdventureLevelModify Clone() {
    return new ScAdventureLevelModify(this);
  }

  /// <summary>Field number for the "level" field.</summary>
  public const int LevelFieldNumber = 1;
  private int level_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Level {
    get { return level_; }
    set {
      level_ = value;
    }
  }

  /// <summary>Field number for the "exp" field.</summary>
  public const int ExpFieldNumber = 2;
  private long exp_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long Exp {
    get { return exp_; }
    set {
      exp_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScAdventureLevelModify);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScAdventureLevelModify other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Level != other.Level) return false;
    if (Exp != other.Exp) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Level != 0) hash ^= Level.GetHashCode();
    if (Exp != 0L) hash ^= Exp.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Level != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(Level);
    }
    if (Exp != 0L) {
      output.WriteRawTag(16);
      output.WriteInt64(Exp);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Level != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Level);
    }
    if (Exp != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(Exp);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScAdventureLevelModify other) {
    if (other == null) {
      return;
    }
    if (other.Level != 0) {
      Level = other.Level;
    }
    if (other.Exp != 0L) {
      Exp = other.Exp;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Level = input.ReadInt32();
          break;
        }
        case 16: {
          Exp = input.ReadInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class ScAdventureSyncAll : pb::IMessage<ScAdventureSyncAll> {
  private static readonly pb::MessageParser<ScAdventureSyncAll> _parser = new pb::MessageParser<ScAdventureSyncAll>(() => new ScAdventureSyncAll());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScAdventureSyncAll> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[248]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScAdventureSyncAll() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScAdventureSyncAll(ScAdventureSyncAll other) : this() {
    level_ = other.level_;
    exp_ = other.exp_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScAdventureSyncAll Clone() {
    return new ScAdventureSyncAll(this);
  }

  /// <summary>Field number for the "level" field.</summary>
  public const int LevelFieldNumber = 1;
  private int level_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Level {
    get { return level_; }
    set {
      level_ = value;
    }
  }

  /// <summary>Field number for the "exp" field.</summary>
  public const int ExpFieldNumber = 2;
  private long exp_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long Exp {
    get { return exp_; }
    set {
      exp_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScAdventureSyncAll);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScAdventureSyncAll other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Level != other.Level) return false;
    if (Exp != other.Exp) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Level != 0) hash ^= Level.GetHashCode();
    if (Exp != 0L) hash ^= Exp.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Level != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(Level);
    }
    if (Exp != 0L) {
      output.WriteRawTag(16);
      output.WriteInt64(Exp);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Level != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Level);
    }
    if (Exp != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(Exp);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScAdventureSyncAll other) {
    if (other == null) {
      return;
    }
    if (other.Level != 0) {
      Level = other.Level;
    }
    if (other.Exp != 0L) {
      Exp = other.Exp;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Level = input.ReadInt32();
          break;
        }
        case 16: {
          Exp = input.ReadInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class AdventureTask : pb::IMessage<AdventureTask> {
  private static readonly pb::MessageParser<AdventureTask> _parser = new pb::MessageParser<AdventureTask>(() => new AdventureTask());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<AdventureTask> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[249]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public AdventureTask() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public AdventureTask(AdventureTask other) : this() {
    taskId_ = other.taskId_;
    progress_ = other.progress_;
    state_ = other.state_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public AdventureTask Clone() {
    return new AdventureTask(this);
  }

  /// <summary>Field number for the "task_id" field.</summary>
  public const int TaskIdFieldNumber = 1;
  private string taskId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string TaskId {
    get { return taskId_; }
    set {
      taskId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "progress" field.</summary>
  public const int ProgressFieldNumber = 2;
  private int progress_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Progress {
    get { return progress_; }
    set {
      progress_ = value;
    }
  }

  /// <summary>Field number for the "state" field.</summary>
  public const int StateFieldNumber = 3;
  private int state_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int State {
    get { return state_; }
    set {
      state_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as AdventureTask);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(AdventureTask other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (TaskId != other.TaskId) return false;
    if (Progress != other.Progress) return false;
    if (State != other.State) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (TaskId.Length != 0) hash ^= TaskId.GetHashCode();
    if (Progress != 0) hash ^= Progress.GetHashCode();
    if (State != 0) hash ^= State.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (TaskId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(TaskId);
    }
    if (Progress != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(Progress);
    }
    if (State != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(State);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (TaskId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(TaskId);
    }
    if (Progress != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Progress);
    }
    if (State != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(State);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(AdventureTask other) {
    if (other == null) {
      return;
    }
    if (other.TaskId.Length != 0) {
      TaskId = other.TaskId;
    }
    if (other.Progress != 0) {
      Progress = other.Progress;
    }
    if (other.State != 0) {
      State = other.State;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          TaskId = input.ReadString();
          break;
        }
        case 16: {
          Progress = input.ReadInt32();
          break;
        }
        case 24: {
          State = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScAdventureBookSync : pb::IMessage<ScAdventureBookSync> {
  private static readonly pb::MessageParser<ScAdventureBookSync> _parser = new pb::MessageParser<ScAdventureBookSync>(() => new ScAdventureBookSync());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScAdventureBookSync> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[250]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScAdventureBookSync() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScAdventureBookSync(ScAdventureBookSync other) : this() {
    adventureBookStage_ = other.adventureBookStage_;
    tasks_ = other.tasks_.Clone();
    dailyActivation_ = other.dailyActivation_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScAdventureBookSync Clone() {
    return new ScAdventureBookSync(this);
  }

  /// <summary>Field number for the "adventure_book_stage" field.</summary>
  public const int AdventureBookStageFieldNumber = 1;
  private int adventureBookStage_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int AdventureBookStage {
    get { return adventureBookStage_; }
    set {
      adventureBookStage_ = value;
    }
  }

  /// <summary>Field number for the "tasks" field.</summary>
  public const int TasksFieldNumber = 2;
  private static readonly pb::FieldCodec<global::AdventureTask> _repeated_tasks_codec
      = pb::FieldCodec.ForMessage(18, global::AdventureTask.Parser);
  private readonly pbc::RepeatedField<global::AdventureTask> tasks_ = new pbc::RepeatedField<global::AdventureTask>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::AdventureTask> Tasks {
    get { return tasks_; }
  }

  /// <summary>Field number for the "daily_activation" field.</summary>
  public const int DailyActivationFieldNumber = 3;
  private int dailyActivation_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int DailyActivation {
    get { return dailyActivation_; }
    set {
      dailyActivation_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScAdventureBookSync);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScAdventureBookSync other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (AdventureBookStage != other.AdventureBookStage) return false;
    if(!tasks_.Equals(other.tasks_)) return false;
    if (DailyActivation != other.DailyActivation) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (AdventureBookStage != 0) hash ^= AdventureBookStage.GetHashCode();
    hash ^= tasks_.GetHashCode();
    if (DailyActivation != 0) hash ^= DailyActivation.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (AdventureBookStage != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(AdventureBookStage);
    }
    tasks_.WriteTo(output, _repeated_tasks_codec);
    if (DailyActivation != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(DailyActivation);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (AdventureBookStage != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(AdventureBookStage);
    }
    size += tasks_.CalculateSize(_repeated_tasks_codec);
    if (DailyActivation != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(DailyActivation);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScAdventureBookSync other) {
    if (other == null) {
      return;
    }
    if (other.AdventureBookStage != 0) {
      AdventureBookStage = other.AdventureBookStage;
    }
    tasks_.Add(other.tasks_);
    if (other.DailyActivation != 0) {
      DailyActivation = other.DailyActivation;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          AdventureBookStage = input.ReadInt32();
          break;
        }
        case 18: {
          tasks_.AddEntriesFrom(input, _repeated_tasks_codec);
          break;
        }
        case 24: {
          DailyActivation = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScDailyActivationModify : pb::IMessage<ScDailyActivationModify> {
  private static readonly pb::MessageParser<ScDailyActivationModify> _parser = new pb::MessageParser<ScDailyActivationModify>(() => new ScDailyActivationModify());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScDailyActivationModify> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[251]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScDailyActivationModify() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScDailyActivationModify(ScDailyActivationModify other) : this() {
    dailyActivation_ = other.dailyActivation_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScDailyActivationModify Clone() {
    return new ScDailyActivationModify(this);
  }

  /// <summary>Field number for the "daily_activation" field.</summary>
  public const int DailyActivationFieldNumber = 1;
  private int dailyActivation_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int DailyActivation {
    get { return dailyActivation_; }
    set {
      dailyActivation_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScDailyActivationModify);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScDailyActivationModify other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (DailyActivation != other.DailyActivation) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (DailyActivation != 0) hash ^= DailyActivation.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (DailyActivation != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(DailyActivation);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (DailyActivation != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(DailyActivation);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScDailyActivationModify other) {
    if (other == null) {
      return;
    }
    if (other.DailyActivation != 0) {
      DailyActivation = other.DailyActivation;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          DailyActivation = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class CsTakeAdventureTaskReward : pb::IMessage<CsTakeAdventureTaskReward> {
  private static readonly pb::MessageParser<CsTakeAdventureTaskReward> _parser = new pb::MessageParser<CsTakeAdventureTaskReward>(() => new CsTakeAdventureTaskReward());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsTakeAdventureTaskReward> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[252]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsTakeAdventureTaskReward() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsTakeAdventureTaskReward(CsTakeAdventureTaskReward other) : this() {
    taskId_ = other.taskId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsTakeAdventureTaskReward Clone() {
    return new CsTakeAdventureTaskReward(this);
  }

  /// <summary>Field number for the "task_id" field.</summary>
  public const int TaskIdFieldNumber = 1;
  private string taskId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string TaskId {
    get { return taskId_; }
    set {
      taskId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsTakeAdventureTaskReward);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsTakeAdventureTaskReward other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (TaskId != other.TaskId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (TaskId.Length != 0) hash ^= TaskId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (TaskId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(TaskId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (TaskId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(TaskId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsTakeAdventureTaskReward other) {
    if (other == null) {
      return;
    }
    if (other.TaskId.Length != 0) {
      TaskId = other.TaskId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          TaskId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class CsTakeAllAdventureTaskReward : pb::IMessage<CsTakeAllAdventureTaskReward> {
  private static readonly pb::MessageParser<CsTakeAllAdventureTaskReward> _parser = new pb::MessageParser<CsTakeAllAdventureTaskReward>(() => new CsTakeAllAdventureTaskReward());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsTakeAllAdventureTaskReward> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[253]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsTakeAllAdventureTaskReward() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsTakeAllAdventureTaskReward(CsTakeAllAdventureTaskReward other) : this() {
    taskType_ = other.taskType_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsTakeAllAdventureTaskReward Clone() {
    return new CsTakeAllAdventureTaskReward(this);
  }

  /// <summary>Field number for the "task_type" field.</summary>
  public const int TaskTypeFieldNumber = 1;
  private int taskType_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int TaskType {
    get { return taskType_; }
    set {
      taskType_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsTakeAllAdventureTaskReward);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsTakeAllAdventureTaskReward other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (TaskType != other.TaskType) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (TaskType != 0) hash ^= TaskType.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (TaskType != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(TaskType);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (TaskType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(TaskType);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsTakeAllAdventureTaskReward other) {
    if (other == null) {
      return;
    }
    if (other.TaskType != 0) {
      TaskType = other.TaskType;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          TaskType = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScAdventureTaskModify : pb::IMessage<ScAdventureTaskModify> {
  private static readonly pb::MessageParser<ScAdventureTaskModify> _parser = new pb::MessageParser<ScAdventureTaskModify>(() => new ScAdventureTaskModify());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScAdventureTaskModify> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[254]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScAdventureTaskModify() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScAdventureTaskModify(ScAdventureTaskModify other) : this() {
    tasks_ = other.tasks_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScAdventureTaskModify Clone() {
    return new ScAdventureTaskModify(this);
  }

  /// <summary>Field number for the "tasks" field.</summary>
  public const int TasksFieldNumber = 1;
  private static readonly pb::FieldCodec<global::AdventureTask> _repeated_tasks_codec
      = pb::FieldCodec.ForMessage(10, global::AdventureTask.Parser);
  private readonly pbc::RepeatedField<global::AdventureTask> tasks_ = new pbc::RepeatedField<global::AdventureTask>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::AdventureTask> Tasks {
    get { return tasks_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScAdventureTaskModify);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScAdventureTaskModify other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!tasks_.Equals(other.tasks_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= tasks_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    tasks_.WriteTo(output, _repeated_tasks_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += tasks_.CalculateSize(_repeated_tasks_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScAdventureTaskModify other) {
    if (other == null) {
      return;
    }
    tasks_.Add(other.tasks_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          tasks_.AddEntriesFrom(input, _repeated_tasks_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class CsTakeAdventureBookStageReward : pb::IMessage<CsTakeAdventureBookStageReward> {
  private static readonly pb::MessageParser<CsTakeAdventureBookStageReward> _parser = new pb::MessageParser<CsTakeAdventureBookStageReward>(() => new CsTakeAdventureBookStageReward());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsTakeAdventureBookStageReward> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[255]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsTakeAdventureBookStageReward() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsTakeAdventureBookStageReward(CsTakeAdventureBookStageReward other) : this() {
    adventureBookStage_ = other.adventureBookStage_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsTakeAdventureBookStageReward Clone() {
    return new CsTakeAdventureBookStageReward(this);
  }

  /// <summary>Field number for the "adventure_book_stage" field.</summary>
  public const int AdventureBookStageFieldNumber = 1;
  private int adventureBookStage_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int AdventureBookStage {
    get { return adventureBookStage_; }
    set {
      adventureBookStage_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsTakeAdventureBookStageReward);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsTakeAdventureBookStageReward other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (AdventureBookStage != other.AdventureBookStage) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (AdventureBookStage != 0) hash ^= AdventureBookStage.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (AdventureBookStage != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(AdventureBookStage);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (AdventureBookStage != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(AdventureBookStage);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsTakeAdventureBookStageReward other) {
    if (other == null) {
      return;
    }
    if (other.AdventureBookStage != 0) {
      AdventureBookStage = other.AdventureBookStage;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          AdventureBookStage = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScAdventureBookStageModify : pb::IMessage<ScAdventureBookStageModify> {
  private static readonly pb::MessageParser<ScAdventureBookStageModify> _parser = new pb::MessageParser<ScAdventureBookStageModify>(() => new ScAdventureBookStageModify());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScAdventureBookStageModify> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[256]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScAdventureBookStageModify() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScAdventureBookStageModify(ScAdventureBookStageModify other) : this() {
    adventureBookStage_ = other.adventureBookStage_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScAdventureBookStageModify Clone() {
    return new ScAdventureBookStageModify(this);
  }

  /// <summary>Field number for the "adventure_book_stage" field.</summary>
  public const int AdventureBookStageFieldNumber = 1;
  private int adventureBookStage_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int AdventureBookStage {
    get { return adventureBookStage_; }
    set {
      adventureBookStage_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScAdventureBookStageModify);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScAdventureBookStageModify other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (AdventureBookStage != other.AdventureBookStage) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (AdventureBookStage != 0) hash ^= AdventureBookStage.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (AdventureBookStage != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(AdventureBookStage);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (AdventureBookStage != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(AdventureBookStage);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScAdventureBookStageModify other) {
    if (other == null) {
      return;
    }
    if (other.AdventureBookStage != 0) {
      AdventureBookStage = other.AdventureBookStage;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          AdventureBookStage = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScResetDailyAdventureTask : pb::IMessage<ScResetDailyAdventureTask> {
  private static readonly pb::MessageParser<ScResetDailyAdventureTask> _parser = new pb::MessageParser<ScResetDailyAdventureTask>(() => new ScResetDailyAdventureTask());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScResetDailyAdventureTask> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[257]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScResetDailyAdventureTask() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScResetDailyAdventureTask(ScResetDailyAdventureTask other) : this() {
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScResetDailyAdventureTask Clone() {
    return new ScResetDailyAdventureTask(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScResetDailyAdventureTask);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScResetDailyAdventureTask other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScResetDailyAdventureTask other) {
    if (other == null) {
      return;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
      }
    }
  }

}

public sealed partial class CsDevClearBattleInfo : pb::IMessage<CsDevClearBattleInfo> {
  private static readonly pb::MessageParser<CsDevClearBattleInfo> _parser = new pb::MessageParser<CsDevClearBattleInfo>(() => new CsDevClearBattleInfo());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsDevClearBattleInfo> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[258]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsDevClearBattleInfo() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsDevClearBattleInfo(CsDevClearBattleInfo other) : this() {
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsDevClearBattleInfo Clone() {
    return new CsDevClearBattleInfo(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsDevClearBattleInfo);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsDevClearBattleInfo other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsDevClearBattleInfo other) {
    if (other == null) {
      return;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
      }
    }
  }

}

public sealed partial class CsBattleOp : pb::IMessage<CsBattleOp> {
  private static readonly pb::MessageParser<CsBattleOp> _parser = new pb::MessageParser<CsBattleOp>(() => new CsBattleOp());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsBattleOp> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[259]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsBattleOp() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsBattleOp(CsBattleOp other) : this() {
    clientData_ = other.clientData_ != null ? other.clientData_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsBattleOp Clone() {
    return new CsBattleOp(this);
  }

  /// <summary>Field number for the "client_data" field.</summary>
  public const int ClientDataFieldNumber = 1;
  private global::BattleClientData clientData_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleClientData ClientData {
    get { return clientData_; }
    set {
      clientData_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsBattleOp);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsBattleOp other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!object.Equals(ClientData, other.ClientData)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (clientData_ != null) hash ^= ClientData.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (clientData_ != null) {
      output.WriteRawTag(10);
      output.WriteMessage(ClientData);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (clientData_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(ClientData);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsBattleOp other) {
    if (other == null) {
      return;
    }
    if (other.clientData_ != null) {
      if (clientData_ == null) {
        clientData_ = new global::BattleClientData();
      }
      ClientData.MergeFrom(other.ClientData);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          if (clientData_ == null) {
            clientData_ = new global::BattleClientData();
          }
          input.ReadMessage(clientData_);
          break;
        }
      }
    }
  }

}

public sealed partial class ScSpawnEnemy : pb::IMessage<ScSpawnEnemy> {
  private static readonly pb::MessageParser<ScSpawnEnemy> _parser = new pb::MessageParser<ScSpawnEnemy>(() => new ScSpawnEnemy());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSpawnEnemy> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[260]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSpawnEnemy() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSpawnEnemy(ScSpawnEnemy other) : this() {
    clientKey_ = other.clientKey_;
    enemyInstIds_ = other.enemyInstIds_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSpawnEnemy Clone() {
    return new ScSpawnEnemy(this);
  }

  /// <summary>Field number for the "client_key" field.</summary>
  public const int ClientKeyFieldNumber = 1;
  private uint clientKey_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint ClientKey {
    get { return clientKey_; }
    set {
      clientKey_ = value;
    }
  }

  /// <summary>Field number for the "enemy_inst_ids" field.</summary>
  public const int EnemyInstIdsFieldNumber = 2;
  private static readonly pb::FieldCodec<ulong> _repeated_enemyInstIds_codec
      = pb::FieldCodec.ForUInt64(18);
  private readonly pbc::RepeatedField<ulong> enemyInstIds_ = new pbc::RepeatedField<ulong>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<ulong> EnemyInstIds {
    get { return enemyInstIds_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSpawnEnemy);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSpawnEnemy other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ClientKey != other.ClientKey) return false;
    if(!enemyInstIds_.Equals(other.enemyInstIds_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ClientKey != 0) hash ^= ClientKey.GetHashCode();
    hash ^= enemyInstIds_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ClientKey != 0) {
      output.WriteRawTag(8);
      output.WriteUInt32(ClientKey);
    }
    enemyInstIds_.WriteTo(output, _repeated_enemyInstIds_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ClientKey != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(ClientKey);
    }
    size += enemyInstIds_.CalculateSize(_repeated_enemyInstIds_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSpawnEnemy other) {
    if (other == null) {
      return;
    }
    if (other.ClientKey != 0) {
      ClientKey = other.ClientKey;
    }
    enemyInstIds_.Add(other.enemyInstIds_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ClientKey = input.ReadUInt32();
          break;
        }
        case 18:
        case 16: {
          enemyInstIds_.AddEntriesFrom(input, _repeated_enemyInstIds_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class SpawnServerSummonData : pb::IMessage<SpawnServerSummonData> {
  private static readonly pb::MessageParser<SpawnServerSummonData> _parser = new pb::MessageParser<SpawnServerSummonData>(() => new SpawnServerSummonData());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<SpawnServerSummonData> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[261]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SpawnServerSummonData() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SpawnServerSummonData(SpawnServerSummonData other) : this() {
    ownerInstId_ = other.ownerInstId_;
    summonInstId_ = other.summonInstId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SpawnServerSummonData Clone() {
    return new SpawnServerSummonData(this);
  }

  /// <summary>Field number for the "owner_inst_id" field.</summary>
  public const int OwnerInstIdFieldNumber = 1;
  private ulong ownerInstId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong OwnerInstId {
    get { return ownerInstId_; }
    set {
      ownerInstId_ = value;
    }
  }

  /// <summary>Field number for the "summon_inst_id" field.</summary>
  public const int SummonInstIdFieldNumber = 2;
  private ulong summonInstId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong SummonInstId {
    get { return summonInstId_; }
    set {
      summonInstId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as SpawnServerSummonData);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(SpawnServerSummonData other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (OwnerInstId != other.OwnerInstId) return false;
    if (SummonInstId != other.SummonInstId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (OwnerInstId != 0UL) hash ^= OwnerInstId.GetHashCode();
    if (SummonInstId != 0UL) hash ^= SummonInstId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (OwnerInstId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(OwnerInstId);
    }
    if (SummonInstId != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(SummonInstId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (OwnerInstId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(OwnerInstId);
    }
    if (SummonInstId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(SummonInstId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(SpawnServerSummonData other) {
    if (other == null) {
      return;
    }
    if (other.OwnerInstId != 0UL) {
      OwnerInstId = other.OwnerInstId;
    }
    if (other.SummonInstId != 0UL) {
      SummonInstId = other.SummonInstId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          OwnerInstId = input.ReadUInt64();
          break;
        }
        case 16: {
          SummonInstId = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class ScEntityPropertyChange : pb::IMessage<ScEntityPropertyChange> {
  private static readonly pb::MessageParser<ScEntityPropertyChange> _parser = new pb::MessageParser<ScEntityPropertyChange>(() => new ScEntityPropertyChange());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScEntityPropertyChange> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[262]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScEntityPropertyChange() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScEntityPropertyChange(ScEntityPropertyChange other) : this() {
    instId_ = other.instId_;
    info_ = other.info_ != null ? other.info_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScEntityPropertyChange Clone() {
    return new ScEntityPropertyChange(this);
  }

  /// <summary>Field number for the "inst_id" field.</summary>
  public const int InstIdFieldNumber = 1;
  private ulong instId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong InstId {
    get { return instId_; }
    set {
      instId_ = value;
    }
  }

  /// <summary>Field number for the "info" field.</summary>
  public const int InfoFieldNumber = 2;
  private global::BattleInfo info_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleInfo Info {
    get { return info_; }
    set {
      info_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScEntityPropertyChange);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScEntityPropertyChange other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (InstId != other.InstId) return false;
    if (!object.Equals(Info, other.Info)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (InstId != 0UL) hash ^= InstId.GetHashCode();
    if (info_ != null) hash ^= Info.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (InstId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(InstId);
    }
    if (info_ != null) {
      output.WriteRawTag(18);
      output.WriteMessage(Info);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (InstId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(InstId);
    }
    if (info_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Info);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScEntityPropertyChange other) {
    if (other == null) {
      return;
    }
    if (other.InstId != 0UL) {
      InstId = other.InstId;
    }
    if (other.info_ != null) {
      if (info_ == null) {
        info_ = new global::BattleInfo();
      }
      Info.MergeFrom(other.Info);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          InstId = input.ReadUInt64();
          break;
        }
        case 18: {
          if (info_ == null) {
            info_ = new global::BattleInfo();
          }
          input.ReadMessage(info_);
          break;
        }
      }
    }
  }

}

public sealed partial class ScBattleDebugInfo : pb::IMessage<ScBattleDebugInfo> {
  private static readonly pb::MessageParser<ScBattleDebugInfo> _parser = new pb::MessageParser<ScBattleDebugInfo>(() => new ScBattleDebugInfo());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScBattleDebugInfo> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[263]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScBattleDebugInfo() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScBattleDebugInfo(ScBattleDebugInfo other) : this() {
    msg_ = other.msg_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScBattleDebugInfo Clone() {
    return new ScBattleDebugInfo(this);
  }

  /// <summary>Field number for the "msg" field.</summary>
  public const int MsgFieldNumber = 1;
  private string msg_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string Msg {
    get { return msg_; }
    set {
      msg_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScBattleDebugInfo);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScBattleDebugInfo other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Msg != other.Msg) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Msg.Length != 0) hash ^= Msg.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Msg.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(Msg);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Msg.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(Msg);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScBattleDebugInfo other) {
    if (other == null) {
      return;
    }
    if (other.Msg.Length != 0) {
      Msg = other.Msg;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          Msg = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class ScBattleGenerationChange : pb::IMessage<ScBattleGenerationChange> {
  private static readonly pb::MessageParser<ScBattleGenerationChange> _parser = new pb::MessageParser<ScBattleGenerationChange>(() => new ScBattleGenerationChange());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScBattleGenerationChange> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[264]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScBattleGenerationChange() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScBattleGenerationChange(ScBattleGenerationChange other) : this() {
    instId_ = other.instId_;
    generation_ = other.generation_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScBattleGenerationChange Clone() {
    return new ScBattleGenerationChange(this);
  }

  /// <summary>Field number for the "inst_id" field.</summary>
  public const int InstIdFieldNumber = 1;
  private ulong instId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong InstId {
    get { return instId_; }
    set {
      instId_ = value;
    }
  }

  /// <summary>Field number for the "generation" field.</summary>
  public const int GenerationFieldNumber = 2;
  private uint generation_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint Generation {
    get { return generation_; }
    set {
      generation_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScBattleGenerationChange);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScBattleGenerationChange other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (InstId != other.InstId) return false;
    if (Generation != other.Generation) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (InstId != 0UL) hash ^= InstId.GetHashCode();
    if (Generation != 0) hash ^= Generation.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (InstId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(InstId);
    }
    if (Generation != 0) {
      output.WriteRawTag(16);
      output.WriteUInt32(Generation);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (InstId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(InstId);
    }
    if (Generation != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Generation);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScBattleGenerationChange other) {
    if (other == null) {
      return;
    }
    if (other.InstId != 0UL) {
      InstId = other.InstId;
    }
    if (other.Generation != 0) {
      Generation = other.Generation;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          InstId = input.ReadUInt64();
          break;
        }
        case 16: {
          Generation = input.ReadUInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScAttachServerSkill : pb::IMessage<ScAttachServerSkill> {
  private static readonly pb::MessageParser<ScAttachServerSkill> _parser = new pb::MessageParser<ScAttachServerSkill>(() => new ScAttachServerSkill());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScAttachServerSkill> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[265]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScAttachServerSkill() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScAttachServerSkill(ScAttachServerSkill other) : this() {
    instId_ = other.instId_;
    skills_ = other.skills_.Clone();
    generation_ = other.generation_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScAttachServerSkill Clone() {
    return new ScAttachServerSkill(this);
  }

  /// <summary>Field number for the "inst_id" field.</summary>
  public const int InstIdFieldNumber = 1;
  private ulong instId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong InstId {
    get { return instId_; }
    set {
      instId_ = value;
    }
  }

  /// <summary>Field number for the "skills" field.</summary>
  public const int SkillsFieldNumber = 2;
  private static readonly pb::FieldCodec<global::ServerSkill> _repeated_skills_codec
      = pb::FieldCodec.ForMessage(18, global::ServerSkill.Parser);
  private readonly pbc::RepeatedField<global::ServerSkill> skills_ = new pbc::RepeatedField<global::ServerSkill>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ServerSkill> Skills {
    get { return skills_; }
  }

  /// <summary>Field number for the "generation" field.</summary>
  public const int GenerationFieldNumber = 3;
  private uint generation_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint Generation {
    get { return generation_; }
    set {
      generation_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScAttachServerSkill);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScAttachServerSkill other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (InstId != other.InstId) return false;
    if(!skills_.Equals(other.skills_)) return false;
    if (Generation != other.Generation) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (InstId != 0UL) hash ^= InstId.GetHashCode();
    hash ^= skills_.GetHashCode();
    if (Generation != 0) hash ^= Generation.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (InstId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(InstId);
    }
    skills_.WriteTo(output, _repeated_skills_codec);
    if (Generation != 0) {
      output.WriteRawTag(24);
      output.WriteUInt32(Generation);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (InstId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(InstId);
    }
    size += skills_.CalculateSize(_repeated_skills_codec);
    if (Generation != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Generation);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScAttachServerSkill other) {
    if (other == null) {
      return;
    }
    if (other.InstId != 0UL) {
      InstId = other.InstId;
    }
    skills_.Add(other.skills_);
    if (other.Generation != 0) {
      Generation = other.Generation;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          InstId = input.ReadUInt64();
          break;
        }
        case 18: {
          skills_.AddEntriesFrom(input, _repeated_skills_codec);
          break;
        }
        case 24: {
          Generation = input.ReadUInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScDetachServerSkill : pb::IMessage<ScDetachServerSkill> {
  private static readonly pb::MessageParser<ScDetachServerSkill> _parser = new pb::MessageParser<ScDetachServerSkill>(() => new ScDetachServerSkill());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScDetachServerSkill> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[266]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScDetachServerSkill() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScDetachServerSkill(ScDetachServerSkill other) : this() {
    instId_ = other.instId_;
    delInstIds_ = other.delInstIds_.Clone();
    generation_ = other.generation_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScDetachServerSkill Clone() {
    return new ScDetachServerSkill(this);
  }

  /// <summary>Field number for the "inst_id" field.</summary>
  public const int InstIdFieldNumber = 1;
  private ulong instId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong InstId {
    get { return instId_; }
    set {
      instId_ = value;
    }
  }

  /// <summary>Field number for the "del_inst_ids" field.</summary>
  public const int DelInstIdsFieldNumber = 2;
  private static readonly pb::FieldCodec<ulong> _repeated_delInstIds_codec
      = pb::FieldCodec.ForUInt64(18);
  private readonly pbc::RepeatedField<ulong> delInstIds_ = new pbc::RepeatedField<ulong>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<ulong> DelInstIds {
    get { return delInstIds_; }
  }

  /// <summary>Field number for the "generation" field.</summary>
  public const int GenerationFieldNumber = 3;
  private uint generation_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint Generation {
    get { return generation_; }
    set {
      generation_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScDetachServerSkill);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScDetachServerSkill other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (InstId != other.InstId) return false;
    if(!delInstIds_.Equals(other.delInstIds_)) return false;
    if (Generation != other.Generation) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (InstId != 0UL) hash ^= InstId.GetHashCode();
    hash ^= delInstIds_.GetHashCode();
    if (Generation != 0) hash ^= Generation.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (InstId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(InstId);
    }
    delInstIds_.WriteTo(output, _repeated_delInstIds_codec);
    if (Generation != 0) {
      output.WriteRawTag(24);
      output.WriteUInt32(Generation);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (InstId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(InstId);
    }
    size += delInstIds_.CalculateSize(_repeated_delInstIds_codec);
    if (Generation != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Generation);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScDetachServerSkill other) {
    if (other == null) {
      return;
    }
    if (other.InstId != 0UL) {
      InstId = other.InstId;
    }
    delInstIds_.Add(other.delInstIds_);
    if (other.Generation != 0) {
      Generation = other.Generation;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          InstId = input.ReadUInt64();
          break;
        }
        case 18:
        case 16: {
          delInstIds_.AddEntriesFrom(input, _repeated_delInstIds_codec);
          break;
        }
        case 24: {
          Generation = input.ReadUInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScAddServerBuff : pb::IMessage<ScAddServerBuff> {
  private static readonly pb::MessageParser<ScAddServerBuff> _parser = new pb::MessageParser<ScAddServerBuff>(() => new ScAddServerBuff());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScAddServerBuff> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[267]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScAddServerBuff() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScAddServerBuff(ScAddServerBuff other) : this() {
    instId_ = other.instId_;
    buffs_ = other.buffs_.Clone();
    generation_ = other.generation_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScAddServerBuff Clone() {
    return new ScAddServerBuff(this);
  }

  /// <summary>Field number for the "inst_id" field.</summary>
  public const int InstIdFieldNumber = 1;
  private ulong instId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong InstId {
    get { return instId_; }
    set {
      instId_ = value;
    }
  }

  /// <summary>Field number for the "buffs" field.</summary>
  public const int BuffsFieldNumber = 2;
  private static readonly pb::FieldCodec<global::ServerBuff> _repeated_buffs_codec
      = pb::FieldCodec.ForMessage(18, global::ServerBuff.Parser);
  private readonly pbc::RepeatedField<global::ServerBuff> buffs_ = new pbc::RepeatedField<global::ServerBuff>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ServerBuff> Buffs {
    get { return buffs_; }
  }

  /// <summary>Field number for the "generation" field.</summary>
  public const int GenerationFieldNumber = 3;
  private uint generation_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint Generation {
    get { return generation_; }
    set {
      generation_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScAddServerBuff);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScAddServerBuff other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (InstId != other.InstId) return false;
    if(!buffs_.Equals(other.buffs_)) return false;
    if (Generation != other.Generation) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (InstId != 0UL) hash ^= InstId.GetHashCode();
    hash ^= buffs_.GetHashCode();
    if (Generation != 0) hash ^= Generation.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (InstId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(InstId);
    }
    buffs_.WriteTo(output, _repeated_buffs_codec);
    if (Generation != 0) {
      output.WriteRawTag(24);
      output.WriteUInt32(Generation);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (InstId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(InstId);
    }
    size += buffs_.CalculateSize(_repeated_buffs_codec);
    if (Generation != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Generation);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScAddServerBuff other) {
    if (other == null) {
      return;
    }
    if (other.InstId != 0UL) {
      InstId = other.InstId;
    }
    buffs_.Add(other.buffs_);
    if (other.Generation != 0) {
      Generation = other.Generation;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          InstId = input.ReadUInt64();
          break;
        }
        case 18: {
          buffs_.AddEntriesFrom(input, _repeated_buffs_codec);
          break;
        }
        case 24: {
          Generation = input.ReadUInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScRemoveServerBuff : pb::IMessage<ScRemoveServerBuff> {
  private static readonly pb::MessageParser<ScRemoveServerBuff> _parser = new pb::MessageParser<ScRemoveServerBuff>(() => new ScRemoveServerBuff());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScRemoveServerBuff> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[268]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScRemoveServerBuff() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScRemoveServerBuff(ScRemoveServerBuff other) : this() {
    instId_ = other.instId_;
    delInstIds_ = other.delInstIds_.Clone();
    generation_ = other.generation_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScRemoveServerBuff Clone() {
    return new ScRemoveServerBuff(this);
  }

  /// <summary>Field number for the "inst_id" field.</summary>
  public const int InstIdFieldNumber = 1;
  private ulong instId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong InstId {
    get { return instId_; }
    set {
      instId_ = value;
    }
  }

  /// <summary>Field number for the "del_inst_ids" field.</summary>
  public const int DelInstIdsFieldNumber = 2;
  private static readonly pb::FieldCodec<ulong> _repeated_delInstIds_codec
      = pb::FieldCodec.ForUInt64(18);
  private readonly pbc::RepeatedField<ulong> delInstIds_ = new pbc::RepeatedField<ulong>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<ulong> DelInstIds {
    get { return delInstIds_; }
  }

  /// <summary>Field number for the "generation" field.</summary>
  public const int GenerationFieldNumber = 3;
  private uint generation_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint Generation {
    get { return generation_; }
    set {
      generation_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScRemoveServerBuff);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScRemoveServerBuff other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (InstId != other.InstId) return false;
    if(!delInstIds_.Equals(other.delInstIds_)) return false;
    if (Generation != other.Generation) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (InstId != 0UL) hash ^= InstId.GetHashCode();
    hash ^= delInstIds_.GetHashCode();
    if (Generation != 0) hash ^= Generation.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (InstId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(InstId);
    }
    delInstIds_.WriteTo(output, _repeated_delInstIds_codec);
    if (Generation != 0) {
      output.WriteRawTag(24);
      output.WriteUInt32(Generation);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (InstId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(InstId);
    }
    size += delInstIds_.CalculateSize(_repeated_delInstIds_codec);
    if (Generation != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Generation);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScRemoveServerBuff other) {
    if (other == null) {
      return;
    }
    if (other.InstId != 0UL) {
      InstId = other.InstId;
    }
    delInstIds_.Add(other.delInstIds_);
    if (other.Generation != 0) {
      Generation = other.Generation;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          InstId = input.ReadUInt64();
          break;
        }
        case 18:
        case 16: {
          delInstIds_.AddEntriesFrom(input, _repeated_delInstIds_codec);
          break;
        }
        case 24: {
          Generation = input.ReadUInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScSyncAllBitset : pb::IMessage<ScSyncAllBitset> {
  private static readonly pb::MessageParser<ScSyncAllBitset> _parser = new pb::MessageParser<ScSyncAllBitset>(() => new ScSyncAllBitset());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSyncAllBitset> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[269]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncAllBitset() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncAllBitset(ScSyncAllBitset other) : this() {
    bitset_ = other.bitset_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncAllBitset Clone() {
    return new ScSyncAllBitset(this);
  }

  /// <summary>Field number for the "bitset" field.</summary>
  public const int BitsetFieldNumber = 1;
  private static readonly pb::FieldCodec<global::BitsetData> _repeated_bitset_codec
      = pb::FieldCodec.ForMessage(10, global::BitsetData.Parser);
  private readonly pbc::RepeatedField<global::BitsetData> bitset_ = new pbc::RepeatedField<global::BitsetData>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::BitsetData> Bitset {
    get { return bitset_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSyncAllBitset);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSyncAllBitset other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!bitset_.Equals(other.bitset_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= bitset_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    bitset_.WriteTo(output, _repeated_bitset_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += bitset_.CalculateSize(_repeated_bitset_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSyncAllBitset other) {
    if (other == null) {
      return;
    }
    bitset_.Add(other.bitset_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          bitset_.AddEntriesFrom(input, _repeated_bitset_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class BitsetData : pb::IMessage<BitsetData> {
  private static readonly pb::MessageParser<BitsetData> _parser = new pb::MessageParser<BitsetData>(() => new BitsetData());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BitsetData> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[270]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BitsetData() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BitsetData(BitsetData other) : this() {
    type_ = other.type_;
    value_ = other.value_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BitsetData Clone() {
    return new BitsetData(this);
  }

  /// <summary>Field number for the "type" field.</summary>
  public const int TypeFieldNumber = 1;
  private int type_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Type {
    get { return type_; }
    set {
      type_ = value;
    }
  }

  /// <summary>Field number for the "value" field.</summary>
  public const int ValueFieldNumber = 2;
  private static readonly pb::FieldCodec<ulong> _repeated_value_codec
      = pb::FieldCodec.ForUInt64(18);
  private readonly pbc::RepeatedField<ulong> value_ = new pbc::RepeatedField<ulong>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<ulong> Value {
    get { return value_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BitsetData);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BitsetData other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Type != other.Type) return false;
    if(!value_.Equals(other.value_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Type != 0) hash ^= Type.GetHashCode();
    hash ^= value_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Type != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(Type);
    }
    value_.WriteTo(output, _repeated_value_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Type != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Type);
    }
    size += value_.CalculateSize(_repeated_value_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(BitsetData other) {
    if (other == null) {
      return;
    }
    if (other.Type != 0) {
      Type = other.Type;
    }
    value_.Add(other.value_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Type = input.ReadInt32();
          break;
        }
        case 18:
        case 16: {
          value_.AddEntriesFrom(input, _repeated_value_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class CsBitsetAdd : pb::IMessage<CsBitsetAdd> {
  private static readonly pb::MessageParser<CsBitsetAdd> _parser = new pb::MessageParser<CsBitsetAdd>(() => new CsBitsetAdd());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsBitsetAdd> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[271]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsBitsetAdd() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsBitsetAdd(CsBitsetAdd other) : this() {
    type_ = other.type_;
    value_ = other.value_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsBitsetAdd Clone() {
    return new CsBitsetAdd(this);
  }

  /// <summary>Field number for the "type" field.</summary>
  public const int TypeFieldNumber = 1;
  private int type_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Type {
    get { return type_; }
    set {
      type_ = value;
    }
  }

  /// <summary>Field number for the "value" field.</summary>
  public const int ValueFieldNumber = 2;
  private static readonly pb::FieldCodec<uint> _repeated_value_codec
      = pb::FieldCodec.ForUInt32(18);
  private readonly pbc::RepeatedField<uint> value_ = new pbc::RepeatedField<uint>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<uint> Value {
    get { return value_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsBitsetAdd);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsBitsetAdd other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Type != other.Type) return false;
    if(!value_.Equals(other.value_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Type != 0) hash ^= Type.GetHashCode();
    hash ^= value_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Type != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(Type);
    }
    value_.WriteTo(output, _repeated_value_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Type != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Type);
    }
    size += value_.CalculateSize(_repeated_value_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsBitsetAdd other) {
    if (other == null) {
      return;
    }
    if (other.Type != 0) {
      Type = other.Type;
    }
    value_.Add(other.value_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Type = input.ReadInt32();
          break;
        }
        case 18:
        case 16: {
          value_.AddEntriesFrom(input, _repeated_value_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class CsBitsetRemoveAll : pb::IMessage<CsBitsetRemoveAll> {
  private static readonly pb::MessageParser<CsBitsetRemoveAll> _parser = new pb::MessageParser<CsBitsetRemoveAll>(() => new CsBitsetRemoveAll());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsBitsetRemoveAll> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[272]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsBitsetRemoveAll() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsBitsetRemoveAll(CsBitsetRemoveAll other) : this() {
    type_ = other.type_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsBitsetRemoveAll Clone() {
    return new CsBitsetRemoveAll(this);
  }

  /// <summary>Field number for the "type" field.</summary>
  public const int TypeFieldNumber = 1;
  private int type_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Type {
    get { return type_; }
    set {
      type_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsBitsetRemoveAll);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsBitsetRemoveAll other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Type != other.Type) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Type != 0) hash ^= Type.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Type != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(Type);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Type != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Type);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsBitsetRemoveAll other) {
    if (other == null) {
      return;
    }
    if (other.Type != 0) {
      Type = other.Type;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Type = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class CsBitsetRemove : pb::IMessage<CsBitsetRemove> {
  private static readonly pb::MessageParser<CsBitsetRemove> _parser = new pb::MessageParser<CsBitsetRemove>(() => new CsBitsetRemove());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsBitsetRemove> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[273]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsBitsetRemove() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsBitsetRemove(CsBitsetRemove other) : this() {
    type_ = other.type_;
    value_ = other.value_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsBitsetRemove Clone() {
    return new CsBitsetRemove(this);
  }

  /// <summary>Field number for the "type" field.</summary>
  public const int TypeFieldNumber = 1;
  private int type_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Type {
    get { return type_; }
    set {
      type_ = value;
    }
  }

  /// <summary>Field number for the "value" field.</summary>
  public const int ValueFieldNumber = 2;
  private static readonly pb::FieldCodec<uint> _repeated_value_codec
      = pb::FieldCodec.ForUInt32(18);
  private readonly pbc::RepeatedField<uint> value_ = new pbc::RepeatedField<uint>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<uint> Value {
    get { return value_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsBitsetRemove);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsBitsetRemove other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Type != other.Type) return false;
    if(!value_.Equals(other.value_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Type != 0) hash ^= Type.GetHashCode();
    hash ^= value_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Type != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(Type);
    }
    value_.WriteTo(output, _repeated_value_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Type != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Type);
    }
    size += value_.CalculateSize(_repeated_value_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsBitsetRemove other) {
    if (other == null) {
      return;
    }
    if (other.Type != 0) {
      Type = other.Type;
    }
    value_.Add(other.value_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Type = input.ReadInt32();
          break;
        }
        case 18:
        case 16: {
          value_.AddEntriesFrom(input, _repeated_value_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScBitsetAdd : pb::IMessage<ScBitsetAdd> {
  private static readonly pb::MessageParser<ScBitsetAdd> _parser = new pb::MessageParser<ScBitsetAdd>(() => new ScBitsetAdd());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScBitsetAdd> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[274]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScBitsetAdd() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScBitsetAdd(ScBitsetAdd other) : this() {
    type_ = other.type_;
    value_ = other.value_.Clone();
    source_ = other.source_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScBitsetAdd Clone() {
    return new ScBitsetAdd(this);
  }

  /// <summary>Field number for the "type" field.</summary>
  public const int TypeFieldNumber = 1;
  private int type_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Type {
    get { return type_; }
    set {
      type_ = value;
    }
  }

  /// <summary>Field number for the "value" field.</summary>
  public const int ValueFieldNumber = 2;
  private static readonly pb::FieldCodec<uint> _repeated_value_codec
      = pb::FieldCodec.ForUInt32(18);
  private readonly pbc::RepeatedField<uint> value_ = new pbc::RepeatedField<uint>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<uint> Value {
    get { return value_; }
  }

  /// <summary>Field number for the "source" field.</summary>
  public const int SourceFieldNumber = 3;
  private int source_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Source {
    get { return source_; }
    set {
      source_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScBitsetAdd);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScBitsetAdd other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Type != other.Type) return false;
    if(!value_.Equals(other.value_)) return false;
    if (Source != other.Source) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Type != 0) hash ^= Type.GetHashCode();
    hash ^= value_.GetHashCode();
    if (Source != 0) hash ^= Source.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Type != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(Type);
    }
    value_.WriteTo(output, _repeated_value_codec);
    if (Source != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(Source);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Type != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Type);
    }
    size += value_.CalculateSize(_repeated_value_codec);
    if (Source != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Source);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScBitsetAdd other) {
    if (other == null) {
      return;
    }
    if (other.Type != 0) {
      Type = other.Type;
    }
    value_.Add(other.value_);
    if (other.Source != 0) {
      Source = other.Source;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Type = input.ReadInt32();
          break;
        }
        case 18:
        case 16: {
          value_.AddEntriesFrom(input, _repeated_value_codec);
          break;
        }
        case 24: {
          Source = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScBitsetRemove : pb::IMessage<ScBitsetRemove> {
  private static readonly pb::MessageParser<ScBitsetRemove> _parser = new pb::MessageParser<ScBitsetRemove>(() => new ScBitsetRemove());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScBitsetRemove> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[275]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScBitsetRemove() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScBitsetRemove(ScBitsetRemove other) : this() {
    type_ = other.type_;
    value_ = other.value_.Clone();
    source_ = other.source_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScBitsetRemove Clone() {
    return new ScBitsetRemove(this);
  }

  /// <summary>Field number for the "type" field.</summary>
  public const int TypeFieldNumber = 1;
  private int type_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Type {
    get { return type_; }
    set {
      type_ = value;
    }
  }

  /// <summary>Field number for the "value" field.</summary>
  public const int ValueFieldNumber = 2;
  private static readonly pb::FieldCodec<uint> _repeated_value_codec
      = pb::FieldCodec.ForUInt32(18);
  private readonly pbc::RepeatedField<uint> value_ = new pbc::RepeatedField<uint>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<uint> Value {
    get { return value_; }
  }

  /// <summary>Field number for the "source" field.</summary>
  public const int SourceFieldNumber = 3;
  private int source_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Source {
    get { return source_; }
    set {
      source_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScBitsetRemove);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScBitsetRemove other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Type != other.Type) return false;
    if(!value_.Equals(other.value_)) return false;
    if (Source != other.Source) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Type != 0) hash ^= Type.GetHashCode();
    hash ^= value_.GetHashCode();
    if (Source != 0) hash ^= Source.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Type != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(Type);
    }
    value_.WriteTo(output, _repeated_value_codec);
    if (Source != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(Source);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Type != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Type);
    }
    size += value_.CalculateSize(_repeated_value_codec);
    if (Source != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Source);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScBitsetRemove other) {
    if (other == null) {
      return;
    }
    if (other.Type != 0) {
      Type = other.Type;
    }
    value_.Add(other.value_);
    if (other.Source != 0) {
      Source = other.Source;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Type = input.ReadInt32();
          break;
        }
        case 18:
        case 16: {
          value_.AddEntriesFrom(input, _repeated_value_codec);
          break;
        }
        case 24: {
          Source = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScBitsetRemoveAll : pb::IMessage<ScBitsetRemoveAll> {
  private static readonly pb::MessageParser<ScBitsetRemoveAll> _parser = new pb::MessageParser<ScBitsetRemoveAll>(() => new ScBitsetRemoveAll());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScBitsetRemoveAll> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[276]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScBitsetRemoveAll() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScBitsetRemoveAll(ScBitsetRemoveAll other) : this() {
    type_ = other.type_;
    source_ = other.source_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScBitsetRemoveAll Clone() {
    return new ScBitsetRemoveAll(this);
  }

  /// <summary>Field number for the "type" field.</summary>
  public const int TypeFieldNumber = 1;
  private int type_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Type {
    get { return type_; }
    set {
      type_ = value;
    }
  }

  /// <summary>Field number for the "source" field.</summary>
  public const int SourceFieldNumber = 2;
  private int source_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Source {
    get { return source_; }
    set {
      source_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScBitsetRemoveAll);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScBitsetRemoveAll other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Type != other.Type) return false;
    if (Source != other.Source) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Type != 0) hash ^= Type.GetHashCode();
    if (Source != 0) hash ^= Source.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Type != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(Type);
    }
    if (Source != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(Source);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Type != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Type);
    }
    if (Source != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Source);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScBitsetRemoveAll other) {
    if (other == null) {
      return;
    }
    if (other.Type != 0) {
      Type = other.Type;
    }
    if (other.Source != 0) {
      Source = other.Source;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Type = input.ReadInt32();
          break;
        }
        case 16: {
          Source = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class BlocInfo : pb::IMessage<BlocInfo> {
  private static readonly pb::MessageParser<BlocInfo> _parser = new pb::MessageParser<BlocInfo>(() => new BlocInfo());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<BlocInfo> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[277]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BlocInfo() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BlocInfo(BlocInfo other) : this() {
    blocid_ = other.blocid_;
    level_ = other.level_;
    exp_ = other.exp_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public BlocInfo Clone() {
    return new BlocInfo(this);
  }

  /// <summary>Field number for the "blocid" field.</summary>
  public const int BlocidFieldNumber = 1;
  private string blocid_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string Blocid {
    get { return blocid_; }
    set {
      blocid_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "level" field.</summary>
  public const int LevelFieldNumber = 2;
  private int level_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  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]
  public int Exp {
    get { return exp_; }
    set {
      exp_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as BlocInfo);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(BlocInfo other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Blocid != other.Blocid) return false;
    if (Level != other.Level) return false;
    if (Exp != other.Exp) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Blocid.Length != 0) hash ^= Blocid.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]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Blocid.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(Blocid);
    }
    if (Level != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(Level);
    }
    if (Exp != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(Exp);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Blocid.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(Blocid);
    }
    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]
  public void MergeFrom(BlocInfo other) {
    if (other == null) {
      return;
    }
    if (other.Blocid.Length != 0) {
      Blocid = other.Blocid;
    }
    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]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          Blocid = input.ReadString();
          break;
        }
        case 16: {
          Level = input.ReadInt32();
          break;
        }
        case 24: {
          Exp = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScSyncAllBloc : pb::IMessage<ScSyncAllBloc> {
  private static readonly pb::MessageParser<ScSyncAllBloc> _parser = new pb::MessageParser<ScSyncAllBloc>(() => new ScSyncAllBloc());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSyncAllBloc> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[278]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncAllBloc() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncAllBloc(ScSyncAllBloc other) : this() {
    blocs_ = other.blocs_.Clone();
    shops_ = other.shops_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncAllBloc Clone() {
    return new ScSyncAllBloc(this);
  }

  /// <summary>Field number for the "blocs" field.</summary>
  public const int BlocsFieldNumber = 1;
  private static readonly pb::FieldCodec<global::BlocInfo> _repeated_blocs_codec
      = pb::FieldCodec.ForMessage(10, global::BlocInfo.Parser);
  private readonly pbc::RepeatedField<global::BlocInfo> blocs_ = new pbc::RepeatedField<global::BlocInfo>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::BlocInfo> Blocs {
    get { return blocs_; }
  }

  /// <summary>Field number for the "shops" field.</summary>
  public const int ShopsFieldNumber = 2;
  private static readonly pb::FieldCodec<global::ShopInfo> _repeated_shops_codec
      = pb::FieldCodec.ForMessage(18, global::ShopInfo.Parser);
  private readonly pbc::RepeatedField<global::ShopInfo> shops_ = new pbc::RepeatedField<global::ShopInfo>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ShopInfo> Shops {
    get { return shops_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSyncAllBloc);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSyncAllBloc other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!blocs_.Equals(other.blocs_)) return false;
    if(!shops_.Equals(other.shops_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= blocs_.GetHashCode();
    hash ^= shops_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    blocs_.WriteTo(output, _repeated_blocs_codec);
    shops_.WriteTo(output, _repeated_shops_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += blocs_.CalculateSize(_repeated_blocs_codec);
    size += shops_.CalculateSize(_repeated_shops_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSyncAllBloc other) {
    if (other == null) {
      return;
    }
    blocs_.Add(other.blocs_);
    shops_.Add(other.shops_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          blocs_.AddEntriesFrom(input, _repeated_blocs_codec);
          break;
        }
        case 18: {
          shops_.AddEntriesFrom(input, _repeated_shops_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ShopInfo : pb::IMessage<ShopInfo> {
  private static readonly pb::MessageParser<ShopInfo> _parser = new pb::MessageParser<ShopInfo>(() => new ShopInfo());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ShopInfo> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[279]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ShopInfo() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ShopInfo(ShopInfo other) : this() {
    shopid_ = other.shopid_;
    type_ = other.type_;
    alreadySellCount_ = other.alreadySellCount_.Clone();
    discountInfo_ = other.discountInfo_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ShopInfo Clone() {
    return new ShopInfo(this);
  }

  /// <summary>Field number for the "shopid" field.</summary>
  public const int ShopidFieldNumber = 1;
  private string shopid_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string Shopid {
    get { return shopid_; }
    set {
      shopid_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "type" field.</summary>
  public const int TypeFieldNumber = 2;
  private int type_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Type {
    get { return type_; }
    set {
      type_ = value;
    }
  }

  /// <summary>Field number for the "already_sell_count" field.</summary>
  public const int AlreadySellCountFieldNumber = 3;
  private static readonly pbc::MapField<int, int>.Codec _map_alreadySellCount_codec
      = new pbc::MapField<int, int>.Codec(pb::FieldCodec.ForInt32(8), pb::FieldCodec.ForInt32(16), 26);
  private readonly pbc::MapField<int, int> alreadySellCount_ = new pbc::MapField<int, int>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<int, int> AlreadySellCount {
    get { return alreadySellCount_; }
  }

  /// <summary>Field number for the "discount_info" field.</summary>
  public const int DiscountInfoFieldNumber = 4;
  private static readonly pb::FieldCodec<global::DiscountInfo> _repeated_discountInfo_codec
      = pb::FieldCodec.ForMessage(34, global::DiscountInfo.Parser);
  private readonly pbc::RepeatedField<global::DiscountInfo> discountInfo_ = new pbc::RepeatedField<global::DiscountInfo>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::DiscountInfo> DiscountInfo {
    get { return discountInfo_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ShopInfo);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ShopInfo other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Shopid != other.Shopid) return false;
    if (Type != other.Type) return false;
    if (!AlreadySellCount.Equals(other.AlreadySellCount)) return false;
    if(!discountInfo_.Equals(other.discountInfo_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Shopid.Length != 0) hash ^= Shopid.GetHashCode();
    if (Type != 0) hash ^= Type.GetHashCode();
    hash ^= AlreadySellCount.GetHashCode();
    hash ^= discountInfo_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Shopid.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(Shopid);
    }
    if (Type != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(Type);
    }
    alreadySellCount_.WriteTo(output, _map_alreadySellCount_codec);
    discountInfo_.WriteTo(output, _repeated_discountInfo_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Shopid.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(Shopid);
    }
    if (Type != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Type);
    }
    size += alreadySellCount_.CalculateSize(_map_alreadySellCount_codec);
    size += discountInfo_.CalculateSize(_repeated_discountInfo_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ShopInfo other) {
    if (other == null) {
      return;
    }
    if (other.Shopid.Length != 0) {
      Shopid = other.Shopid;
    }
    if (other.Type != 0) {
      Type = other.Type;
    }
    alreadySellCount_.Add(other.alreadySellCount_);
    discountInfo_.Add(other.discountInfo_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          Shopid = input.ReadString();
          break;
        }
        case 16: {
          Type = input.ReadInt32();
          break;
        }
        case 26: {
          alreadySellCount_.AddEntriesFrom(input, _map_alreadySellCount_codec);
          break;
        }
        case 34: {
          discountInfo_.AddEntriesFrom(input, _repeated_discountInfo_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class DiscountInfo : pb::IMessage<DiscountInfo> {
  private static readonly pb::MessageParser<DiscountInfo> _parser = new pb::MessageParser<DiscountInfo>(() => new DiscountInfo());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<DiscountInfo> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[280]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public DiscountInfo() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public DiscountInfo(DiscountInfo other) : this() {
    posid_ = other.posid_;
    discount_ = other.discount_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public DiscountInfo Clone() {
    return new DiscountInfo(this);
  }

  /// <summary>Field number for the "posid" field.</summary>
  public const int PosidFieldNumber = 1;
  private int posid_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Posid {
    get { return posid_; }
    set {
      posid_ = value;
    }
  }

  /// <summary>Field number for the "discount" field.</summary>
  public const int DiscountFieldNumber = 2;
  private int discount_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Discount {
    get { return discount_; }
    set {
      discount_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as DiscountInfo);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(DiscountInfo other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Posid != other.Posid) return false;
    if (Discount != other.Discount) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Posid != 0) hash ^= Posid.GetHashCode();
    if (Discount != 0) hash ^= Discount.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Posid != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(Posid);
    }
    if (Discount != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(Discount);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Posid != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Posid);
    }
    if (Discount != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Discount);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(DiscountInfo other) {
    if (other == null) {
      return;
    }
    if (other.Posid != 0) {
      Posid = other.Posid;
    }
    if (other.Discount != 0) {
      Discount = other.Discount;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Posid = input.ReadInt32();
          break;
        }
        case 16: {
          Discount = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScBlocSyncLevel : pb::IMessage<ScBlocSyncLevel> {
  private static readonly pb::MessageParser<ScBlocSyncLevel> _parser = new pb::MessageParser<ScBlocSyncLevel>(() => new ScBlocSyncLevel());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScBlocSyncLevel> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[281]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScBlocSyncLevel() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScBlocSyncLevel(ScBlocSyncLevel other) : this() {
    blocid_ = other.blocid_;
    level_ = other.level_;
    exp_ = other.exp_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScBlocSyncLevel Clone() {
    return new ScBlocSyncLevel(this);
  }

  /// <summary>Field number for the "blocid" field.</summary>
  public const int BlocidFieldNumber = 1;
  private string blocid_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string Blocid {
    get { return blocid_; }
    set {
      blocid_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "level" field.</summary>
  public const int LevelFieldNumber = 2;
  private int level_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  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]
  public int Exp {
    get { return exp_; }
    set {
      exp_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScBlocSyncLevel);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScBlocSyncLevel other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Blocid != other.Blocid) return false;
    if (Level != other.Level) return false;
    if (Exp != other.Exp) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Blocid.Length != 0) hash ^= Blocid.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]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Blocid.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(Blocid);
    }
    if (Level != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(Level);
    }
    if (Exp != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(Exp);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Blocid.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(Blocid);
    }
    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]
  public void MergeFrom(ScBlocSyncLevel other) {
    if (other == null) {
      return;
    }
    if (other.Blocid.Length != 0) {
      Blocid = other.Blocid;
    }
    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]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          Blocid = input.ReadString();
          break;
        }
        case 16: {
          Level = input.ReadInt32();
          break;
        }
        case 24: {
          Exp = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class CsBlocShopBuy : pb::IMessage<CsBlocShopBuy> {
  private static readonly pb::MessageParser<CsBlocShopBuy> _parser = new pb::MessageParser<CsBlocShopBuy>(() => new CsBlocShopBuy());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsBlocShopBuy> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[282]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsBlocShopBuy() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsBlocShopBuy(CsBlocShopBuy other) : this() {
    shopid_ = other.shopid_;
    posid_ = other.posid_;
    count_ = other.count_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsBlocShopBuy Clone() {
    return new CsBlocShopBuy(this);
  }

  /// <summary>Field number for the "shopid" field.</summary>
  public const int ShopidFieldNumber = 1;
  private string shopid_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string Shopid {
    get { return shopid_; }
    set {
      shopid_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "posid" field.</summary>
  public const int PosidFieldNumber = 2;
  private int posid_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Posid {
    get { return posid_; }
    set {
      posid_ = value;
    }
  }

  /// <summary>Field number for the "count" field.</summary>
  public const int CountFieldNumber = 3;
  private int count_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Count {
    get { return count_; }
    set {
      count_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsBlocShopBuy);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsBlocShopBuy other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Shopid != other.Shopid) return false;
    if (Posid != other.Posid) return false;
    if (Count != other.Count) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Shopid.Length != 0) hash ^= Shopid.GetHashCode();
    if (Posid != 0) hash ^= Posid.GetHashCode();
    if (Count != 0) hash ^= Count.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Shopid.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(Shopid);
    }
    if (Posid != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(Posid);
    }
    if (Count != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(Count);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Shopid.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(Shopid);
    }
    if (Posid != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Posid);
    }
    if (Count != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Count);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsBlocShopBuy other) {
    if (other == null) {
      return;
    }
    if (other.Shopid.Length != 0) {
      Shopid = other.Shopid;
    }
    if (other.Posid != 0) {
      Posid = other.Posid;
    }
    if (other.Count != 0) {
      Count = other.Count;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          Shopid = input.ReadString();
          break;
        }
        case 16: {
          Posid = input.ReadInt32();
          break;
        }
        case 24: {
          Count = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScBlocShopBuy : pb::IMessage<ScBlocShopBuy> {
  private static readonly pb::MessageParser<ScBlocShopBuy> _parser = new pb::MessageParser<ScBlocShopBuy>(() => new ScBlocShopBuy());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScBlocShopBuy> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[283]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScBlocShopBuy() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScBlocShopBuy(ScBlocShopBuy other) : this() {
    shopid_ = other.shopid_;
    posid_ = other.posid_;
    count_ = other.count_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScBlocShopBuy Clone() {
    return new ScBlocShopBuy(this);
  }

  /// <summary>Field number for the "shopid" field.</summary>
  public const int ShopidFieldNumber = 2;
  private string shopid_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string Shopid {
    get { return shopid_; }
    set {
      shopid_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "posid" field.</summary>
  public const int PosidFieldNumber = 3;
  private int posid_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Posid {
    get { return posid_; }
    set {
      posid_ = value;
    }
  }

  /// <summary>Field number for the "count" field.</summary>
  public const int CountFieldNumber = 4;
  private int count_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Count {
    get { return count_; }
    set {
      count_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScBlocShopBuy);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScBlocShopBuy other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Shopid != other.Shopid) return false;
    if (Posid != other.Posid) return false;
    if (Count != other.Count) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Shopid.Length != 0) hash ^= Shopid.GetHashCode();
    if (Posid != 0) hash ^= Posid.GetHashCode();
    if (Count != 0) hash ^= Count.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Shopid.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(Shopid);
    }
    if (Posid != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(Posid);
    }
    if (Count != 0) {
      output.WriteRawTag(32);
      output.WriteInt32(Count);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Shopid.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(Shopid);
    }
    if (Posid != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Posid);
    }
    if (Count != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Count);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScBlocShopBuy other) {
    if (other == null) {
      return;
    }
    if (other.Shopid.Length != 0) {
      Shopid = other.Shopid;
    }
    if (other.Posid != 0) {
      Posid = other.Posid;
    }
    if (other.Count != 0) {
      Count = other.Count;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 18: {
          Shopid = input.ReadString();
          break;
        }
        case 24: {
          Posid = input.ReadInt32();
          break;
        }
        case 32: {
          Count = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ItemInfo : pb::IMessage<ItemInfo> {
  private static readonly pb::MessageParser<ItemInfo> _parser = new pb::MessageParser<ItemInfo>(() => new ItemInfo());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ItemInfo> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[284]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ItemInfo() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ItemInfo(ItemInfo other) : this() {
    resId_ = other.resId_;
    resCount_ = other.resCount_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ItemInfo Clone() {
    return new ItemInfo(this);
  }

  /// <summary>Field number for the "res_id" field.</summary>
  public const int ResIdFieldNumber = 1;
  private string resId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ResId {
    get { return resId_; }
    set {
      resId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "res_count" field.</summary>
  public const int ResCountFieldNumber = 2;
  private int resCount_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ResCount {
    get { return resCount_; }
    set {
      resCount_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ItemInfo);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ItemInfo other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ResId != other.ResId) return false;
    if (ResCount != other.ResCount) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ResId.Length != 0) hash ^= ResId.GetHashCode();
    if (ResCount != 0) hash ^= ResCount.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ResId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(ResId);
    }
    if (ResCount != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(ResCount);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ResId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ResId);
    }
    if (ResCount != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ResCount);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ItemInfo other) {
    if (other == null) {
      return;
    }
    if (other.ResId.Length != 0) {
      ResId = other.ResId;
    }
    if (other.ResCount != 0) {
      ResCount = other.ResCount;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          ResId = input.ReadString();
          break;
        }
        case 16: {
          ResCount = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class CsCharLevelUp : pb::IMessage<CsCharLevelUp> {
  private static readonly pb::MessageParser<CsCharLevelUp> _parser = new pb::MessageParser<CsCharLevelUp>(() => new CsCharLevelUp());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsCharLevelUp> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[285]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsCharLevelUp() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsCharLevelUp(CsCharLevelUp other) : this() {
    charObjID_ = other.charObjID_;
    items_ = other.items_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsCharLevelUp Clone() {
    return new CsCharLevelUp(this);
  }

  /// <summary>Field number for the "char_obj_i_d" field.</summary>
  public const int CharObjIDFieldNumber = 1;
  private ulong charObjID_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong CharObjID {
    get { return charObjID_; }
    set {
      charObjID_ = value;
    }
  }

  /// <summary>Field number for the "items" field.</summary>
  public const int ItemsFieldNumber = 2;
  private static readonly pb::FieldCodec<global::ItemInfo> _repeated_items_codec
      = pb::FieldCodec.ForMessage(18, global::ItemInfo.Parser);
  private readonly pbc::RepeatedField<global::ItemInfo> items_ = new pbc::RepeatedField<global::ItemInfo>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ItemInfo> Items {
    get { return items_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsCharLevelUp);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsCharLevelUp other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (CharObjID != other.CharObjID) return false;
    if(!items_.Equals(other.items_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (CharObjID != 0UL) hash ^= CharObjID.GetHashCode();
    hash ^= items_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (CharObjID != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(CharObjID);
    }
    items_.WriteTo(output, _repeated_items_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (CharObjID != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(CharObjID);
    }
    size += items_.CalculateSize(_repeated_items_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsCharLevelUp other) {
    if (other == null) {
      return;
    }
    if (other.CharObjID != 0UL) {
      CharObjID = other.CharObjID;
    }
    items_.Add(other.items_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          CharObjID = input.ReadUInt64();
          break;
        }
        case 18: {
          items_.AddEntriesFrom(input, _repeated_items_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScCharLevelUp : pb::IMessage<ScCharLevelUp> {
  private static readonly pb::MessageParser<ScCharLevelUp> _parser = new pb::MessageParser<ScCharLevelUp>(() => new ScCharLevelUp());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScCharLevelUp> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[286]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScCharLevelUp() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScCharLevelUp(ScCharLevelUp other) : this() {
    charObjID_ = other.charObjID_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScCharLevelUp Clone() {
    return new ScCharLevelUp(this);
  }

  /// <summary>Field number for the "char_obj_i_d" field.</summary>
  public const int CharObjIDFieldNumber = 1;
  private ulong charObjID_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong CharObjID {
    get { return charObjID_; }
    set {
      charObjID_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScCharLevelUp);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScCharLevelUp other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (CharObjID != other.CharObjID) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (CharObjID != 0UL) hash ^= CharObjID.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (CharObjID != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(CharObjID);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (CharObjID != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(CharObjID);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScCharLevelUp other) {
    if (other == null) {
      return;
    }
    if (other.CharObjID != 0UL) {
      CharObjID = other.CharObjID;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          CharObjID = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class ScCharSyncLevelExp : pb::IMessage<ScCharSyncLevelExp> {
  private static readonly pb::MessageParser<ScCharSyncLevelExp> _parser = new pb::MessageParser<ScCharSyncLevelExp>(() => new ScCharSyncLevelExp());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScCharSyncLevelExp> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[287]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScCharSyncLevelExp() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScCharSyncLevelExp(ScCharSyncLevelExp other) : this() {
    charObjID_ = other.charObjID_;
    level_ = other.level_;
    exp_ = other.exp_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScCharSyncLevelExp Clone() {
    return new ScCharSyncLevelExp(this);
  }

  /// <summary>Field number for the "char_obj_i_d" field.</summary>
  public const int CharObjIDFieldNumber = 1;
  private ulong charObjID_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong CharObjID {
    get { return charObjID_; }
    set {
      charObjID_ = value;
    }
  }

  /// <summary>Field number for the "level" field.</summary>
  public const int LevelFieldNumber = 2;
  private int level_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  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]
  public int Exp {
    get { return exp_; }
    set {
      exp_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScCharSyncLevelExp);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScCharSyncLevelExp other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (CharObjID != other.CharObjID) return false;
    if (Level != other.Level) return false;
    if (Exp != other.Exp) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (CharObjID != 0UL) hash ^= CharObjID.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]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (CharObjID != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(CharObjID);
    }
    if (Level != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(Level);
    }
    if (Exp != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(Exp);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (CharObjID != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(CharObjID);
    }
    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]
  public void MergeFrom(ScCharSyncLevelExp other) {
    if (other == null) {
      return;
    }
    if (other.CharObjID != 0UL) {
      CharObjID = other.CharObjID;
    }
    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]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          CharObjID = input.ReadUInt64();
          break;
        }
        case 16: {
          Level = input.ReadInt32();
          break;
        }
        case 24: {
          Exp = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class CsCharSetNormalSkill : pb::IMessage<CsCharSetNormalSkill> {
  private static readonly pb::MessageParser<CsCharSetNormalSkill> _parser = new pb::MessageParser<CsCharSetNormalSkill>(() => new CsCharSetNormalSkill());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsCharSetNormalSkill> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[288]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsCharSetNormalSkill() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsCharSetNormalSkill(CsCharSetNormalSkill other) : this() {
    charObjID_ = other.charObjID_;
    normalSkillid_ = other.normalSkillid_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsCharSetNormalSkill Clone() {
    return new CsCharSetNormalSkill(this);
  }

  /// <summary>Field number for the "char_obj_i_d" field.</summary>
  public const int CharObjIDFieldNumber = 1;
  private ulong charObjID_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong CharObjID {
    get { return charObjID_; }
    set {
      charObjID_ = value;
    }
  }

  /// <summary>Field number for the "normal_skillid" field.</summary>
  public const int NormalSkillidFieldNumber = 2;
  private string normalSkillid_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string NormalSkillid {
    get { return normalSkillid_; }
    set {
      normalSkillid_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsCharSetNormalSkill);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsCharSetNormalSkill other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (CharObjID != other.CharObjID) return false;
    if (NormalSkillid != other.NormalSkillid) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (CharObjID != 0UL) hash ^= CharObjID.GetHashCode();
    if (NormalSkillid.Length != 0) hash ^= NormalSkillid.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (CharObjID != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(CharObjID);
    }
    if (NormalSkillid.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(NormalSkillid);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (CharObjID != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(CharObjID);
    }
    if (NormalSkillid.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(NormalSkillid);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsCharSetNormalSkill other) {
    if (other == null) {
      return;
    }
    if (other.CharObjID != 0UL) {
      CharObjID = other.CharObjID;
    }
    if (other.NormalSkillid.Length != 0) {
      NormalSkillid = other.NormalSkillid;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          CharObjID = input.ReadUInt64();
          break;
        }
        case 18: {
          NormalSkillid = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class ScCharSetNormalSkill : pb::IMessage<ScCharSetNormalSkill> {
  private static readonly pb::MessageParser<ScCharSetNormalSkill> _parser = new pb::MessageParser<ScCharSetNormalSkill>(() => new ScCharSetNormalSkill());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScCharSetNormalSkill> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[289]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScCharSetNormalSkill() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScCharSetNormalSkill(ScCharSetNormalSkill other) : this() {
    charObjID_ = other.charObjID_;
    normalSkillid_ = other.normalSkillid_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScCharSetNormalSkill Clone() {
    return new ScCharSetNormalSkill(this);
  }

  /// <summary>Field number for the "char_obj_i_d" field.</summary>
  public const int CharObjIDFieldNumber = 1;
  private ulong charObjID_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong CharObjID {
    get { return charObjID_; }
    set {
      charObjID_ = value;
    }
  }

  /// <summary>Field number for the "normal_skillid" field.</summary>
  public const int NormalSkillidFieldNumber = 2;
  private string normalSkillid_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string NormalSkillid {
    get { return normalSkillid_; }
    set {
      normalSkillid_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScCharSetNormalSkill);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScCharSetNormalSkill other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (CharObjID != other.CharObjID) return false;
    if (NormalSkillid != other.NormalSkillid) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (CharObjID != 0UL) hash ^= CharObjID.GetHashCode();
    if (NormalSkillid.Length != 0) hash ^= NormalSkillid.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (CharObjID != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(CharObjID);
    }
    if (NormalSkillid.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(NormalSkillid);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (CharObjID != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(CharObjID);
    }
    if (NormalSkillid.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(NormalSkillid);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScCharSetNormalSkill other) {
    if (other == null) {
      return;
    }
    if (other.CharObjID != 0UL) {
      CharObjID = other.CharObjID;
    }
    if (other.NormalSkillid.Length != 0) {
      NormalSkillid = other.NormalSkillid;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          CharObjID = input.ReadUInt64();
          break;
        }
        case 18: {
          NormalSkillid = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class ScCharSetTeamSkill : pb::IMessage<ScCharSetTeamSkill> {
  private static readonly pb::MessageParser<ScCharSetTeamSkill> _parser = new pb::MessageParser<ScCharSetTeamSkill>(() => new ScCharSetTeamSkill());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScCharSetTeamSkill> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[290]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScCharSetTeamSkill() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScCharSetTeamSkill(ScCharSetTeamSkill other) : this() {
    objid_ = other.objid_;
    teamIdx_ = other.teamIdx_;
    normalSkillid_ = other.normalSkillid_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScCharSetTeamSkill Clone() {
    return new ScCharSetTeamSkill(this);
  }

  /// <summary>Field number for the "objid" field.</summary>
  public const int ObjidFieldNumber = 1;
  private ulong objid_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong Objid {
    get { return objid_; }
    set {
      objid_ = value;
    }
  }

  /// <summary>Field number for the "team_idx" field.</summary>
  public const int TeamIdxFieldNumber = 2;
  private int teamIdx_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int TeamIdx {
    get { return teamIdx_; }
    set {
      teamIdx_ = value;
    }
  }

  /// <summary>Field number for the "normal_skillid" field.</summary>
  public const int NormalSkillidFieldNumber = 3;
  private string normalSkillid_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string NormalSkillid {
    get { return normalSkillid_; }
    set {
      normalSkillid_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScCharSetTeamSkill);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScCharSetTeamSkill other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Objid != other.Objid) return false;
    if (TeamIdx != other.TeamIdx) return false;
    if (NormalSkillid != other.NormalSkillid) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Objid != 0UL) hash ^= Objid.GetHashCode();
    if (TeamIdx != 0) hash ^= TeamIdx.GetHashCode();
    if (NormalSkillid.Length != 0) hash ^= NormalSkillid.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Objid != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(Objid);
    }
    if (TeamIdx != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(TeamIdx);
    }
    if (NormalSkillid.Length != 0) {
      output.WriteRawTag(26);
      output.WriteString(NormalSkillid);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Objid != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(Objid);
    }
    if (TeamIdx != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(TeamIdx);
    }
    if (NormalSkillid.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(NormalSkillid);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScCharSetTeamSkill other) {
    if (other == null) {
      return;
    }
    if (other.Objid != 0UL) {
      Objid = other.Objid;
    }
    if (other.TeamIdx != 0) {
      TeamIdx = other.TeamIdx;
    }
    if (other.NormalSkillid.Length != 0) {
      NormalSkillid = other.NormalSkillid;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Objid = input.ReadUInt64();
          break;
        }
        case 16: {
          TeamIdx = input.ReadInt32();
          break;
        }
        case 26: {
          NormalSkillid = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class ScCharUnlockSkill : pb::IMessage<ScCharUnlockSkill> {
  private static readonly pb::MessageParser<ScCharUnlockSkill> _parser = new pb::MessageParser<ScCharUnlockSkill>(() => new ScCharUnlockSkill());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScCharUnlockSkill> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[291]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScCharUnlockSkill() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScCharUnlockSkill(ScCharUnlockSkill other) : this() {
    objid_ = other.objid_;
    levelInfo_ = other.levelInfo_ != null ? other.levelInfo_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScCharUnlockSkill Clone() {
    return new ScCharUnlockSkill(this);
  }

  /// <summary>Field number for the "objid" field.</summary>
  public const int ObjidFieldNumber = 1;
  private ulong objid_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong Objid {
    get { return objid_; }
    set {
      objid_ = value;
    }
  }

  /// <summary>Field number for the "level_info" field.</summary>
  public const int LevelInfoFieldNumber = 2;
  private global::SkillLevelInfo levelInfo_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::SkillLevelInfo LevelInfo {
    get { return levelInfo_; }
    set {
      levelInfo_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScCharUnlockSkill);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScCharUnlockSkill other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Objid != other.Objid) return false;
    if (!object.Equals(LevelInfo, other.LevelInfo)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Objid != 0UL) hash ^= Objid.GetHashCode();
    if (levelInfo_ != null) hash ^= LevelInfo.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Objid != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(Objid);
    }
    if (levelInfo_ != null) {
      output.WriteRawTag(18);
      output.WriteMessage(LevelInfo);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Objid != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(Objid);
    }
    if (levelInfo_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(LevelInfo);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScCharUnlockSkill other) {
    if (other == null) {
      return;
    }
    if (other.Objid != 0UL) {
      Objid = other.Objid;
    }
    if (other.levelInfo_ != null) {
      if (levelInfo_ == null) {
        levelInfo_ = new global::SkillLevelInfo();
      }
      LevelInfo.MergeFrom(other.LevelInfo);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Objid = input.ReadUInt64();
          break;
        }
        case 18: {
          if (levelInfo_ == null) {
            levelInfo_ = new global::SkillLevelInfo();
          }
          input.ReadMessage(levelInfo_);
          break;
        }
      }
    }
  }

}

public sealed partial class ScCharGainExpToast : pb::IMessage<ScCharGainExpToast> {
  private static readonly pb::MessageParser<ScCharGainExpToast> _parser = new pb::MessageParser<ScCharGainExpToast>(() => new ScCharGainExpToast());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScCharGainExpToast> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[292]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScCharGainExpToast() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScCharGainExpToast(ScCharGainExpToast other) : this() {
    exp_ = other.exp_;
    expType_ = other.expType_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScCharGainExpToast Clone() {
    return new ScCharGainExpToast(this);
  }

  /// <summary>Field number for the "exp" field.</summary>
  public const int ExpFieldNumber = 1;
  private int exp_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Exp {
    get { return exp_; }
    set {
      exp_ = value;
    }
  }

  /// <summary>Field number for the "exp_type" field.</summary>
  public const int ExpTypeFieldNumber = 2;
  private int expType_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ExpType {
    get { return expType_; }
    set {
      expType_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScCharGainExpToast);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScCharGainExpToast other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Exp != other.Exp) return false;
    if (ExpType != other.ExpType) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Exp != 0) hash ^= Exp.GetHashCode();
    if (ExpType != 0) hash ^= ExpType.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Exp != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(Exp);
    }
    if (ExpType != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(ExpType);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Exp != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Exp);
    }
    if (ExpType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ExpType);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScCharGainExpToast other) {
    if (other == null) {
      return;
    }
    if (other.Exp != 0) {
      Exp = other.Exp;
    }
    if (other.ExpType != 0) {
      ExpType = other.ExpType;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Exp = input.ReadInt32();
          break;
        }
        case 16: {
          ExpType = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScCharSyncStatus : pb::IMessage<ScCharSyncStatus> {
  private static readonly pb::MessageParser<ScCharSyncStatus> _parser = new pb::MessageParser<ScCharSyncStatus>(() => new ScCharSyncStatus());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScCharSyncStatus> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[293]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScCharSyncStatus() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScCharSyncStatus(ScCharSyncStatus other) : this() {
    objid_ = other.objid_;
    isDead_ = other.isDead_;
    battleInfo_ = other.battleInfo_ != null ? other.battleInfo_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScCharSyncStatus Clone() {
    return new ScCharSyncStatus(this);
  }

  /// <summary>Field number for the "objid" field.</summary>
  public const int ObjidFieldNumber = 1;
  private ulong objid_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong Objid {
    get { return objid_; }
    set {
      objid_ = value;
    }
  }

  /// <summary>Field number for the "is_dead" field.</summary>
  public const int IsDeadFieldNumber = 2;
  private bool isDead_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool IsDead {
    get { return isDead_; }
    set {
      isDead_ = value;
    }
  }

  /// <summary>Field number for the "battle_info" field.</summary>
  public const int BattleInfoFieldNumber = 3;
  private global::BattleInfo battleInfo_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleInfo BattleInfo {
    get { return battleInfo_; }
    set {
      battleInfo_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScCharSyncStatus);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScCharSyncStatus other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Objid != other.Objid) return false;
    if (IsDead != other.IsDead) return false;
    if (!object.Equals(BattleInfo, other.BattleInfo)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Objid != 0UL) hash ^= Objid.GetHashCode();
    if (IsDead != false) hash ^= IsDead.GetHashCode();
    if (battleInfo_ != null) hash ^= BattleInfo.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Objid != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(Objid);
    }
    if (IsDead != false) {
      output.WriteRawTag(16);
      output.WriteBool(IsDead);
    }
    if (battleInfo_ != null) {
      output.WriteRawTag(26);
      output.WriteMessage(BattleInfo);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Objid != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(Objid);
    }
    if (IsDead != false) {
      size += 1 + 1;
    }
    if (battleInfo_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(BattleInfo);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScCharSyncStatus other) {
    if (other == null) {
      return;
    }
    if (other.Objid != 0UL) {
      Objid = other.Objid;
    }
    if (other.IsDead != false) {
      IsDead = other.IsDead;
    }
    if (other.battleInfo_ != null) {
      if (battleInfo_ == null) {
        battleInfo_ = new global::BattleInfo();
      }
      BattleInfo.MergeFrom(other.BattleInfo);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Objid = input.ReadUInt64();
          break;
        }
        case 16: {
          IsDead = input.ReadBool();
          break;
        }
        case 26: {
          if (battleInfo_ == null) {
            battleInfo_ = new global::BattleInfo();
          }
          input.ReadMessage(battleInfo_);
          break;
        }
      }
    }
  }

}

public sealed partial class CsCharPotentialUnlock : pb::IMessage<CsCharPotentialUnlock> {
  private static readonly pb::MessageParser<CsCharPotentialUnlock> _parser = new pb::MessageParser<CsCharPotentialUnlock>(() => new CsCharPotentialUnlock());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsCharPotentialUnlock> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[294]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsCharPotentialUnlock() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsCharPotentialUnlock(CsCharPotentialUnlock other) : this() {
    charObjId_ = other.charObjId_;
    level_ = other.level_;
    itemId_ = other.itemId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsCharPotentialUnlock Clone() {
    return new CsCharPotentialUnlock(this);
  }

  /// <summary>Field number for the "char_obj_id" field.</summary>
  public const int CharObjIdFieldNumber = 1;
  private ulong charObjId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong CharObjId {
    get { return charObjId_; }
    set {
      charObjId_ = value;
    }
  }

  /// <summary>Field number for the "level" field.</summary>
  public const int LevelFieldNumber = 2;
  private uint level_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint Level {
    get { return level_; }
    set {
      level_ = value;
    }
  }

  /// <summary>Field number for the "item_id" field.</summary>
  public const int ItemIdFieldNumber = 3;
  private int itemId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ItemId {
    get { return itemId_; }
    set {
      itemId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsCharPotentialUnlock);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsCharPotentialUnlock other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (CharObjId != other.CharObjId) return false;
    if (Level != other.Level) return false;
    if (ItemId != other.ItemId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (CharObjId != 0UL) hash ^= CharObjId.GetHashCode();
    if (Level != 0) hash ^= Level.GetHashCode();
    if (ItemId != 0) hash ^= ItemId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (CharObjId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(CharObjId);
    }
    if (Level != 0) {
      output.WriteRawTag(16);
      output.WriteUInt32(Level);
    }
    if (ItemId != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(ItemId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (CharObjId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(CharObjId);
    }
    if (Level != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Level);
    }
    if (ItemId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ItemId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsCharPotentialUnlock other) {
    if (other == null) {
      return;
    }
    if (other.CharObjId != 0UL) {
      CharObjId = other.CharObjId;
    }
    if (other.Level != 0) {
      Level = other.Level;
    }
    if (other.ItemId != 0) {
      ItemId = other.ItemId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          CharObjId = input.ReadUInt64();
          break;
        }
        case 16: {
          Level = input.ReadUInt32();
          break;
        }
        case 24: {
          ItemId = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScCharPotentialUnlock : pb::IMessage<ScCharPotentialUnlock> {
  private static readonly pb::MessageParser<ScCharPotentialUnlock> _parser = new pb::MessageParser<ScCharPotentialUnlock>(() => new ScCharPotentialUnlock());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScCharPotentialUnlock> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[295]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScCharPotentialUnlock() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScCharPotentialUnlock(ScCharPotentialUnlock other) : this() {
    charObjId_ = other.charObjId_;
    level_ = other.level_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScCharPotentialUnlock Clone() {
    return new ScCharPotentialUnlock(this);
  }

  /// <summary>Field number for the "char_obj_id" field.</summary>
  public const int CharObjIdFieldNumber = 1;
  private ulong charObjId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong CharObjId {
    get { return charObjId_; }
    set {
      charObjId_ = value;
    }
  }

  /// <summary>Field number for the "level" field.</summary>
  public const int LevelFieldNumber = 2;
  private uint level_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint Level {
    get { return level_; }
    set {
      level_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScCharPotentialUnlock);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScCharPotentialUnlock other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (CharObjId != other.CharObjId) return false;
    if (Level != other.Level) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (CharObjId != 0UL) hash ^= CharObjId.GetHashCode();
    if (Level != 0) hash ^= Level.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (CharObjId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(CharObjId);
    }
    if (Level != 0) {
      output.WriteRawTag(16);
      output.WriteUInt32(Level);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (CharObjId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(CharObjId);
    }
    if (Level != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Level);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScCharPotentialUnlock other) {
    if (other == null) {
      return;
    }
    if (other.CharObjId != 0UL) {
      CharObjId = other.CharObjId;
    }
    if (other.Level != 0) {
      Level = other.Level;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          CharObjId = input.ReadUInt64();
          break;
        }
        case 16: {
          Level = input.ReadUInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScCharSkillInfos : pb::IMessage<ScCharSkillInfos> {
  private static readonly pb::MessageParser<ScCharSkillInfos> _parser = new pb::MessageParser<ScCharSkillInfos>(() => new ScCharSkillInfos());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScCharSkillInfos> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[296]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScCharSkillInfos() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScCharSkillInfos(ScCharSkillInfos other) : this() {
    charObjId_ = other.charObjId_;
    levelInfos_ = other.levelInfos_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScCharSkillInfos Clone() {
    return new ScCharSkillInfos(this);
  }

  /// <summary>Field number for the "char_obj_id" field.</summary>
  public const int CharObjIdFieldNumber = 1;
  private ulong charObjId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong CharObjId {
    get { return charObjId_; }
    set {
      charObjId_ = value;
    }
  }

  /// <summary>Field number for the "level_infos" field.</summary>
  public const int LevelInfosFieldNumber = 2;
  private static readonly pb::FieldCodec<global::SkillLevelInfo> _repeated_levelInfos_codec
      = pb::FieldCodec.ForMessage(18, global::SkillLevelInfo.Parser);
  private readonly pbc::RepeatedField<global::SkillLevelInfo> levelInfos_ = new pbc::RepeatedField<global::SkillLevelInfo>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::SkillLevelInfo> LevelInfos {
    get { return levelInfos_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScCharSkillInfos);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScCharSkillInfos other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (CharObjId != other.CharObjId) return false;
    if(!levelInfos_.Equals(other.levelInfos_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (CharObjId != 0UL) hash ^= CharObjId.GetHashCode();
    hash ^= levelInfos_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (CharObjId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(CharObjId);
    }
    levelInfos_.WriteTo(output, _repeated_levelInfos_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (CharObjId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(CharObjId);
    }
    size += levelInfos_.CalculateSize(_repeated_levelInfos_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScCharSkillInfos other) {
    if (other == null) {
      return;
    }
    if (other.CharObjId != 0UL) {
      CharObjId = other.CharObjId;
    }
    levelInfos_.Add(other.levelInfos_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          CharObjId = input.ReadUInt64();
          break;
        }
        case 18: {
          levelInfos_.AddEntriesFrom(input, _repeated_levelInfos_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class CsCharSkillLevelUp : pb::IMessage<CsCharSkillLevelUp> {
  private static readonly pb::MessageParser<CsCharSkillLevelUp> _parser = new pb::MessageParser<CsCharSkillLevelUp>(() => new CsCharSkillLevelUp());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsCharSkillLevelUp> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[297]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsCharSkillLevelUp() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsCharSkillLevelUp(CsCharSkillLevelUp other) : this() {
    charObjId_ = other.charObjId_;
    skillId_ = other.skillId_;
    skillType_ = other.skillType_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsCharSkillLevelUp Clone() {
    return new CsCharSkillLevelUp(this);
  }

  /// <summary>Field number for the "char_obj_id" field.</summary>
  public const int CharObjIdFieldNumber = 1;
  private ulong charObjId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong CharObjId {
    get { return charObjId_; }
    set {
      charObjId_ = value;
    }
  }

  /// <summary>Field number for the "skill_id" field.</summary>
  public const int SkillIdFieldNumber = 2;
  private string skillId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string SkillId {
    get { return skillId_; }
    set {
      skillId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "skill_type" field.</summary>
  public const int SkillTypeFieldNumber = 3;
  private int skillType_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int SkillType {
    get { return skillType_; }
    set {
      skillType_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsCharSkillLevelUp);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsCharSkillLevelUp other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (CharObjId != other.CharObjId) return false;
    if (SkillId != other.SkillId) return false;
    if (SkillType != other.SkillType) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (CharObjId != 0UL) hash ^= CharObjId.GetHashCode();
    if (SkillId.Length != 0) hash ^= SkillId.GetHashCode();
    if (SkillType != 0) hash ^= SkillType.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (CharObjId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(CharObjId);
    }
    if (SkillId.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(SkillId);
    }
    if (SkillType != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(SkillType);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (CharObjId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(CharObjId);
    }
    if (SkillId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(SkillId);
    }
    if (SkillType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(SkillType);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsCharSkillLevelUp other) {
    if (other == null) {
      return;
    }
    if (other.CharObjId != 0UL) {
      CharObjId = other.CharObjId;
    }
    if (other.SkillId.Length != 0) {
      SkillId = other.SkillId;
    }
    if (other.SkillType != 0) {
      SkillType = other.SkillType;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          CharObjId = input.ReadUInt64();
          break;
        }
        case 18: {
          SkillId = input.ReadString();
          break;
        }
        case 24: {
          SkillType = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScCharSkillLevelUp : pb::IMessage<ScCharSkillLevelUp> {
  private static readonly pb::MessageParser<ScCharSkillLevelUp> _parser = new pb::MessageParser<ScCharSkillLevelUp>(() => new ScCharSkillLevelUp());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScCharSkillLevelUp> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[298]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScCharSkillLevelUp() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScCharSkillLevelUp(ScCharSkillLevelUp other) : this() {
    charObjId_ = other.charObjId_;
    levelInfo_ = other.levelInfo_ != null ? other.levelInfo_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScCharSkillLevelUp Clone() {
    return new ScCharSkillLevelUp(this);
  }

  /// <summary>Field number for the "char_obj_id" field.</summary>
  public const int CharObjIdFieldNumber = 1;
  private ulong charObjId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong CharObjId {
    get { return charObjId_; }
    set {
      charObjId_ = value;
    }
  }

  /// <summary>Field number for the "level_info" field.</summary>
  public const int LevelInfoFieldNumber = 2;
  private global::SkillLevelInfo levelInfo_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::SkillLevelInfo LevelInfo {
    get { return levelInfo_; }
    set {
      levelInfo_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScCharSkillLevelUp);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScCharSkillLevelUp other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (CharObjId != other.CharObjId) return false;
    if (!object.Equals(LevelInfo, other.LevelInfo)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (CharObjId != 0UL) hash ^= CharObjId.GetHashCode();
    if (levelInfo_ != null) hash ^= LevelInfo.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (CharObjId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(CharObjId);
    }
    if (levelInfo_ != null) {
      output.WriteRawTag(18);
      output.WriteMessage(LevelInfo);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (CharObjId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(CharObjId);
    }
    if (levelInfo_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(LevelInfo);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScCharSkillLevelUp other) {
    if (other == null) {
      return;
    }
    if (other.CharObjId != 0UL) {
      CharObjId = other.CharObjId;
    }
    if (other.levelInfo_ != null) {
      if (levelInfo_ == null) {
        levelInfo_ = new global::SkillLevelInfo();
      }
      LevelInfo.MergeFrom(other.LevelInfo);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          CharObjId = input.ReadUInt64();
          break;
        }
        case 18: {
          if (levelInfo_ == null) {
            levelInfo_ = new global::SkillLevelInfo();
          }
          input.ReadMessage(levelInfo_);
          break;
        }
      }
    }
  }

}

public sealed partial class CsCharUnlockTalentNode : pb::IMessage<CsCharUnlockTalentNode> {
  private static readonly pb::MessageParser<CsCharUnlockTalentNode> _parser = new pb::MessageParser<CsCharUnlockTalentNode>(() => new CsCharUnlockTalentNode());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsCharUnlockTalentNode> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[299]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsCharUnlockTalentNode() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsCharUnlockTalentNode(CsCharUnlockTalentNode other) : this() {
    charObjId_ = other.charObjId_;
    nodeId_ = other.nodeId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsCharUnlockTalentNode Clone() {
    return new CsCharUnlockTalentNode(this);
  }

  /// <summary>Field number for the "char_obj_id" field.</summary>
  public const int CharObjIdFieldNumber = 1;
  private ulong charObjId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong CharObjId {
    get { return charObjId_; }
    set {
      charObjId_ = value;
    }
  }

  /// <summary>Field number for the "node_id" field.</summary>
  public const int NodeIdFieldNumber = 2;
  private string nodeId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string NodeId {
    get { return nodeId_; }
    set {
      nodeId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsCharUnlockTalentNode);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsCharUnlockTalentNode other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (CharObjId != other.CharObjId) return false;
    if (NodeId != other.NodeId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (CharObjId != 0UL) hash ^= CharObjId.GetHashCode();
    if (NodeId.Length != 0) hash ^= NodeId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (CharObjId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(CharObjId);
    }
    if (NodeId.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(NodeId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (CharObjId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(CharObjId);
    }
    if (NodeId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(NodeId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsCharUnlockTalentNode other) {
    if (other == null) {
      return;
    }
    if (other.CharObjId != 0UL) {
      CharObjId = other.CharObjId;
    }
    if (other.NodeId.Length != 0) {
      NodeId = other.NodeId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          CharObjId = input.ReadUInt64();
          break;
        }
        case 18: {
          NodeId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class ScCharUnlockTalentNode : pb::IMessage<ScCharUnlockTalentNode> {
  private static readonly pb::MessageParser<ScCharUnlockTalentNode> _parser = new pb::MessageParser<ScCharUnlockTalentNode>(() => new ScCharUnlockTalentNode());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScCharUnlockTalentNode> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[300]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScCharUnlockTalentNode() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScCharUnlockTalentNode(ScCharUnlockTalentNode other) : this() {
    charObjId_ = other.charObjId_;
    nodeId_ = other.nodeId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScCharUnlockTalentNode Clone() {
    return new ScCharUnlockTalentNode(this);
  }

  /// <summary>Field number for the "char_obj_id" field.</summary>
  public const int CharObjIdFieldNumber = 1;
  private ulong charObjId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong CharObjId {
    get { return charObjId_; }
    set {
      charObjId_ = value;
    }
  }

  /// <summary>Field number for the "node_id" field.</summary>
  public const int NodeIdFieldNumber = 2;
  private string nodeId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string NodeId {
    get { return nodeId_; }
    set {
      nodeId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScCharUnlockTalentNode);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScCharUnlockTalentNode other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (CharObjId != other.CharObjId) return false;
    if (NodeId != other.NodeId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (CharObjId != 0UL) hash ^= CharObjId.GetHashCode();
    if (NodeId.Length != 0) hash ^= NodeId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (CharObjId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(CharObjId);
    }
    if (NodeId.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(NodeId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (CharObjId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(CharObjId);
    }
    if (NodeId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(NodeId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScCharUnlockTalentNode other) {
    if (other == null) {
      return;
    }
    if (other.CharObjId != 0UL) {
      CharObjId = other.CharObjId;
    }
    if (other.NodeId.Length != 0) {
      NodeId = other.NodeId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          CharObjId = input.ReadUInt64();
          break;
        }
        case 18: {
          NodeId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class CharInfo : pb::IMessage<CharInfo> {
  private static readonly pb::MessageParser<CharInfo> _parser = new pb::MessageParser<CharInfo>(() => new CharInfo());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CharInfo> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[301]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CharInfo() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CharInfo(CharInfo other) : this() {
    objid_ = other.objid_;
    templateid_ = other.templateid_;
    level_ = other.level_;
    exp_ = other.exp_;
    equipCol_ = other.equipCol_.Clone();
    normalSkill_ = other.normalSkill_;
    isDead_ = other.isDead_;
    battleInfo_ = other.battleInfo_ != null ? other.battleInfo_.Clone() : null;
    skillInfo_ = other.skillInfo_ != null ? other.skillInfo_.Clone() : null;
    equipSuit_ = other.equipSuit_.Clone();
    weaponId_ = other.weaponId_;
    ownTime_ = other.ownTime_;
    equipMedicineId_ = other.equipMedicineId_;
    potentialLevel_ = other.potentialLevel_;
    talent_ = other.talent_ != null ? other.talent_.Clone() : null;
    battleMgrInfo_ = other.battleMgrInfo_ != null ? other.battleMgrInfo_.Clone() : null;
    charType_ = other.charType_;
    trialData_ = other.trialData_ != null ? other.trialData_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CharInfo Clone() {
    return new CharInfo(this);
  }

  /// <summary>Field number for the "objid" field.</summary>
  public const int ObjidFieldNumber = 1;
  private ulong objid_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong Objid {
    get { return objid_; }
    set {
      objid_ = value;
    }
  }

  /// <summary>Field number for the "templateid" field.</summary>
  public const int TemplateidFieldNumber = 2;
  private string templateid_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string Templateid {
    get { return templateid_; }
    set {
      templateid_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "level" field.</summary>
  public const int LevelFieldNumber = 3;
  private int level_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  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]
  public int Exp {
    get { return exp_; }
    set {
      exp_ = value;
    }
  }

  /// <summary>Field number for the "equip_col" field.</summary>
  public const int EquipColFieldNumber = 6;
  private static readonly pbc::MapField<int, ulong>.Codec _map_equipCol_codec
      = new pbc::MapField<int, ulong>.Codec(pb::FieldCodec.ForInt32(8), pb::FieldCodec.ForUInt64(16), 50);
  private readonly pbc::MapField<int, ulong> equipCol_ = new pbc::MapField<int, ulong>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<int, ulong> EquipCol {
    get { return equipCol_; }
  }

  /// <summary>Field number for the "normal_skill" field.</summary>
  public const int NormalSkillFieldNumber = 7;
  private string normalSkill_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string NormalSkill {
    get { return normalSkill_; }
    set {
      normalSkill_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "is_dead" field.</summary>
  public const int IsDeadFieldNumber = 8;
  private bool isDead_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool IsDead {
    get { return isDead_; }
    set {
      isDead_ = value;
    }
  }

  /// <summary>Field number for the "battle_info" field.</summary>
  public const int BattleInfoFieldNumber = 9;
  private global::BattleInfo battleInfo_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleInfo BattleInfo {
    get { return battleInfo_; }
    set {
      battleInfo_ = value;
    }
  }

  /// <summary>Field number for the "skill_info" field.</summary>
  public const int SkillInfoFieldNumber = 10;
  private global::SkillInfo skillInfo_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::SkillInfo SkillInfo {
    get { return skillInfo_; }
    set {
      skillInfo_ = value;
    }
  }

  /// <summary>Field number for the "equip_suit" field.</summary>
  public const int EquipSuitFieldNumber = 11;
  private static readonly pbc::MapField<string, int>.Codec _map_equipSuit_codec
      = new pbc::MapField<string, int>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForInt32(16), 90);
  private readonly pbc::MapField<string, int> equipSuit_ = new pbc::MapField<string, int>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<string, int> EquipSuit {
    get { return equipSuit_; }
  }

  /// <summary>Field number for the "weapon_id" field.</summary>
  public const int WeaponIdFieldNumber = 12;
  private ulong weaponId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong WeaponId {
    get { return weaponId_; }
    set {
      weaponId_ = value;
    }
  }

  /// <summary>Field number for the "own_time" field.</summary>
  public const int OwnTimeFieldNumber = 13;
  private long ownTime_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long OwnTime {
    get { return ownTime_; }
    set {
      ownTime_ = value;
    }
  }

  /// <summary>Field number for the "equip_medicine_id" field.</summary>
  public const int EquipMedicineIdFieldNumber = 14;
  private int equipMedicineId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int EquipMedicineId {
    get { return equipMedicineId_; }
    set {
      equipMedicineId_ = value;
    }
  }

  /// <summary>Field number for the "potential_level" field.</summary>
  public const int PotentialLevelFieldNumber = 15;
  private uint potentialLevel_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint PotentialLevel {
    get { return potentialLevel_; }
    set {
      potentialLevel_ = value;
    }
  }

  /// <summary>Field number for the "talent" field.</summary>
  public const int TalentFieldNumber = 16;
  private global::Talent talent_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::Talent Talent {
    get { return talent_; }
    set {
      talent_ = value;
    }
  }

  /// <summary>Field number for the "battle_mgr_info" field.</summary>
  public const int BattleMgrInfoFieldNumber = 17;
  private global::BattleMgrInfo battleMgrInfo_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleMgrInfo BattleMgrInfo {
    get { return battleMgrInfo_; }
    set {
      battleMgrInfo_ = value;
    }
  }

  /// <summary>Field number for the "char_type" field.</summary>
  public const int CharTypeFieldNumber = 18;
  private global::CharType charType_ = 0;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::CharType CharType {
    get { return charType_; }
    set {
      charType_ = value;
    }
  }

  /// <summary>Field number for the "trial_data" field.</summary>
  public const int TrialDataFieldNumber = 19;
  private global::TrialCharData trialData_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::TrialCharData TrialData {
    get { return trialData_; }
    set {
      trialData_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CharInfo);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CharInfo other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Objid != other.Objid) return false;
    if (Templateid != other.Templateid) return false;
    if (Level != other.Level) return false;
    if (Exp != other.Exp) return false;
    if (!EquipCol.Equals(other.EquipCol)) return false;
    if (NormalSkill != other.NormalSkill) return false;
    if (IsDead != other.IsDead) return false;
    if (!object.Equals(BattleInfo, other.BattleInfo)) return false;
    if (!object.Equals(SkillInfo, other.SkillInfo)) return false;
    if (!EquipSuit.Equals(other.EquipSuit)) return false;
    if (WeaponId != other.WeaponId) return false;
    if (OwnTime != other.OwnTime) return false;
    if (EquipMedicineId != other.EquipMedicineId) return false;
    if (PotentialLevel != other.PotentialLevel) return false;
    if (!object.Equals(Talent, other.Talent)) return false;
    if (!object.Equals(BattleMgrInfo, other.BattleMgrInfo)) return false;
    if (CharType != other.CharType) return false;
    if (!object.Equals(TrialData, other.TrialData)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Objid != 0UL) hash ^= Objid.GetHashCode();
    if (Templateid.Length != 0) hash ^= Templateid.GetHashCode();
    if (Level != 0) hash ^= Level.GetHashCode();
    if (Exp != 0) hash ^= Exp.GetHashCode();
    hash ^= EquipCol.GetHashCode();
    if (NormalSkill.Length != 0) hash ^= NormalSkill.GetHashCode();
    if (IsDead != false) hash ^= IsDead.GetHashCode();
    if (battleInfo_ != null) hash ^= BattleInfo.GetHashCode();
    if (skillInfo_ != null) hash ^= SkillInfo.GetHashCode();
    hash ^= EquipSuit.GetHashCode();
    if (WeaponId != 0UL) hash ^= WeaponId.GetHashCode();
    if (OwnTime != 0L) hash ^= OwnTime.GetHashCode();
    if (EquipMedicineId != 0) hash ^= EquipMedicineId.GetHashCode();
    if (PotentialLevel != 0) hash ^= PotentialLevel.GetHashCode();
    if (talent_ != null) hash ^= Talent.GetHashCode();
    if (battleMgrInfo_ != null) hash ^= BattleMgrInfo.GetHashCode();
    if (CharType != 0) hash ^= CharType.GetHashCode();
    if (trialData_ != null) hash ^= TrialData.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Objid != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(Objid);
    }
    if (Templateid.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(Templateid);
    }
    if (Level != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(Level);
    }
    if (Exp != 0) {
      output.WriteRawTag(32);
      output.WriteInt32(Exp);
    }
    equipCol_.WriteTo(output, _map_equipCol_codec);
    if (NormalSkill.Length != 0) {
      output.WriteRawTag(58);
      output.WriteString(NormalSkill);
    }
    if (IsDead != false) {
      output.WriteRawTag(64);
      output.WriteBool(IsDead);
    }
    if (battleInfo_ != null) {
      output.WriteRawTag(74);
      output.WriteMessage(BattleInfo);
    }
    if (skillInfo_ != null) {
      output.WriteRawTag(82);
      output.WriteMessage(SkillInfo);
    }
    equipSuit_.WriteTo(output, _map_equipSuit_codec);
    if (WeaponId != 0UL) {
      output.WriteRawTag(96);
      output.WriteUInt64(WeaponId);
    }
    if (OwnTime != 0L) {
      output.WriteRawTag(104);
      output.WriteInt64(OwnTime);
    }
    if (EquipMedicineId != 0) {
      output.WriteRawTag(112);
      output.WriteInt32(EquipMedicineId);
    }
    if (PotentialLevel != 0) {
      output.WriteRawTag(120);
      output.WriteUInt32(PotentialLevel);
    }
    if (talent_ != null) {
      output.WriteRawTag(130, 1);
      output.WriteMessage(Talent);
    }
    if (battleMgrInfo_ != null) {
      output.WriteRawTag(138, 1);
      output.WriteMessage(BattleMgrInfo);
    }
    if (CharType != 0) {
      output.WriteRawTag(144, 1);
      output.WriteEnum((int) CharType);
    }
    if (trialData_ != null) {
      output.WriteRawTag(154, 1);
      output.WriteMessage(TrialData);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Objid != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(Objid);
    }
    if (Templateid.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(Templateid);
    }
    if (Level != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Level);
    }
    if (Exp != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Exp);
    }
    size += equipCol_.CalculateSize(_map_equipCol_codec);
    if (NormalSkill.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(NormalSkill);
    }
    if (IsDead != false) {
      size += 1 + 1;
    }
    if (battleInfo_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(BattleInfo);
    }
    if (skillInfo_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(SkillInfo);
    }
    size += equipSuit_.CalculateSize(_map_equipSuit_codec);
    if (WeaponId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(WeaponId);
    }
    if (OwnTime != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(OwnTime);
    }
    if (EquipMedicineId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(EquipMedicineId);
    }
    if (PotentialLevel != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(PotentialLevel);
    }
    if (talent_ != null) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(Talent);
    }
    if (battleMgrInfo_ != null) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(BattleMgrInfo);
    }
    if (CharType != 0) {
      size += 2 + pb::CodedOutputStream.ComputeEnumSize((int) CharType);
    }
    if (trialData_ != null) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(TrialData);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CharInfo other) {
    if (other == null) {
      return;
    }
    if (other.Objid != 0UL) {
      Objid = other.Objid;
    }
    if (other.Templateid.Length != 0) {
      Templateid = other.Templateid;
    }
    if (other.Level != 0) {
      Level = other.Level;
    }
    if (other.Exp != 0) {
      Exp = other.Exp;
    }
    equipCol_.Add(other.equipCol_);
    if (other.NormalSkill.Length != 0) {
      NormalSkill = other.NormalSkill;
    }
    if (other.IsDead != false) {
      IsDead = other.IsDead;
    }
    if (other.battleInfo_ != null) {
      if (battleInfo_ == null) {
        battleInfo_ = new global::BattleInfo();
      }
      BattleInfo.MergeFrom(other.BattleInfo);
    }
    if (other.skillInfo_ != null) {
      if (skillInfo_ == null) {
        skillInfo_ = new global::SkillInfo();
      }
      SkillInfo.MergeFrom(other.SkillInfo);
    }
    equipSuit_.Add(other.equipSuit_);
    if (other.WeaponId != 0UL) {
      WeaponId = other.WeaponId;
    }
    if (other.OwnTime != 0L) {
      OwnTime = other.OwnTime;
    }
    if (other.EquipMedicineId != 0) {
      EquipMedicineId = other.EquipMedicineId;
    }
    if (other.PotentialLevel != 0) {
      PotentialLevel = other.PotentialLevel;
    }
    if (other.talent_ != null) {
      if (talent_ == null) {
        talent_ = new global::Talent();
      }
      Talent.MergeFrom(other.Talent);
    }
    if (other.battleMgrInfo_ != null) {
      if (battleMgrInfo_ == null) {
        battleMgrInfo_ = new global::BattleMgrInfo();
      }
      BattleMgrInfo.MergeFrom(other.BattleMgrInfo);
    }
    if (other.CharType != 0) {
      CharType = other.CharType;
    }
    if (other.trialData_ != null) {
      if (trialData_ == null) {
        trialData_ = new global::TrialCharData();
      }
      TrialData.MergeFrom(other.TrialData);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Objid = input.ReadUInt64();
          break;
        }
        case 18: {
          Templateid = input.ReadString();
          break;
        }
        case 24: {
          Level = input.ReadInt32();
          break;
        }
        case 32: {
          Exp = input.ReadInt32();
          break;
        }
        case 50: {
          equipCol_.AddEntriesFrom(input, _map_equipCol_codec);
          break;
        }
        case 58: {
          NormalSkill = input.ReadString();
          break;
        }
        case 64: {
          IsDead = input.ReadBool();
          break;
        }
        case 74: {
          if (battleInfo_ == null) {
            battleInfo_ = new global::BattleInfo();
          }
          input.ReadMessage(battleInfo_);
          break;
        }
        case 82: {
          if (skillInfo_ == null) {
            skillInfo_ = new global::SkillInfo();
          }
          input.ReadMessage(skillInfo_);
          break;
        }
        case 90: {
          equipSuit_.AddEntriesFrom(input, _map_equipSuit_codec);
          break;
        }
        case 96: {
          WeaponId = input.ReadUInt64();
          break;
        }
        case 104: {
          OwnTime = input.ReadInt64();
          break;
        }
        case 112: {
          EquipMedicineId = input.ReadInt32();
          break;
        }
        case 120: {
          PotentialLevel = input.ReadUInt32();
          break;
        }
        case 130: {
          if (talent_ == null) {
            talent_ = new global::Talent();
          }
          input.ReadMessage(talent_);
          break;
        }
        case 138: {
          if (battleMgrInfo_ == null) {
            battleMgrInfo_ = new global::BattleMgrInfo();
          }
          input.ReadMessage(battleMgrInfo_);
          break;
        }
        case 144: {
          charType_ = (global::CharType) input.ReadEnum();
          break;
        }
        case 154: {
          if (trialData_ == null) {
            trialData_ = new global::TrialCharData();
          }
          input.ReadMessage(trialData_);
          break;
        }
      }
    }
  }

}

public sealed partial class SkillInfo : pb::IMessage<SkillInfo> {
  private static readonly pb::MessageParser<SkillInfo> _parser = new pb::MessageParser<SkillInfo>(() => new SkillInfo());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<SkillInfo> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[302]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SkillInfo() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SkillInfo(SkillInfo other) : this() {
    levelInfo_ = other.levelInfo_.Clone();
    normalSkill_ = other.normalSkill_;
    ultimateSkill_ = other.ultimateSkill_;
    comboSkill_ = other.comboSkill_;
    dispNormalAttackSkill_ = other.dispNormalAttackSkill_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SkillInfo Clone() {
    return new SkillInfo(this);
  }

  /// <summary>Field number for the "level_info" field.</summary>
  public const int LevelInfoFieldNumber = 1;
  private static readonly pb::FieldCodec<global::SkillLevelInfo> _repeated_levelInfo_codec
      = pb::FieldCodec.ForMessage(10, global::SkillLevelInfo.Parser);
  private readonly pbc::RepeatedField<global::SkillLevelInfo> levelInfo_ = new pbc::RepeatedField<global::SkillLevelInfo>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::SkillLevelInfo> LevelInfo {
    get { return levelInfo_; }
  }

  /// <summary>Field number for the "normal_skill" field.</summary>
  public const int NormalSkillFieldNumber = 2;
  private string normalSkill_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string NormalSkill {
    get { return normalSkill_; }
    set {
      normalSkill_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "ultimate_skill" field.</summary>
  public const int UltimateSkillFieldNumber = 3;
  private string ultimateSkill_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string UltimateSkill {
    get { return ultimateSkill_; }
    set {
      ultimateSkill_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "combo_skill" field.</summary>
  public const int ComboSkillFieldNumber = 4;
  private string comboSkill_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ComboSkill {
    get { return comboSkill_; }
    set {
      comboSkill_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "disp_normal_attack_skill" field.</summary>
  public const int DispNormalAttackSkillFieldNumber = 5;
  private string dispNormalAttackSkill_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string DispNormalAttackSkill {
    get { return dispNormalAttackSkill_; }
    set {
      dispNormalAttackSkill_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as SkillInfo);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(SkillInfo other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!levelInfo_.Equals(other.levelInfo_)) return false;
    if (NormalSkill != other.NormalSkill) return false;
    if (UltimateSkill != other.UltimateSkill) return false;
    if (ComboSkill != other.ComboSkill) return false;
    if (DispNormalAttackSkill != other.DispNormalAttackSkill) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= levelInfo_.GetHashCode();
    if (NormalSkill.Length != 0) hash ^= NormalSkill.GetHashCode();
    if (UltimateSkill.Length != 0) hash ^= UltimateSkill.GetHashCode();
    if (ComboSkill.Length != 0) hash ^= ComboSkill.GetHashCode();
    if (DispNormalAttackSkill.Length != 0) hash ^= DispNormalAttackSkill.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    levelInfo_.WriteTo(output, _repeated_levelInfo_codec);
    if (NormalSkill.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(NormalSkill);
    }
    if (UltimateSkill.Length != 0) {
      output.WriteRawTag(26);
      output.WriteString(UltimateSkill);
    }
    if (ComboSkill.Length != 0) {
      output.WriteRawTag(34);
      output.WriteString(ComboSkill);
    }
    if (DispNormalAttackSkill.Length != 0) {
      output.WriteRawTag(42);
      output.WriteString(DispNormalAttackSkill);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += levelInfo_.CalculateSize(_repeated_levelInfo_codec);
    if (NormalSkill.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(NormalSkill);
    }
    if (UltimateSkill.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(UltimateSkill);
    }
    if (ComboSkill.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ComboSkill);
    }
    if (DispNormalAttackSkill.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(DispNormalAttackSkill);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(SkillInfo other) {
    if (other == null) {
      return;
    }
    levelInfo_.Add(other.levelInfo_);
    if (other.NormalSkill.Length != 0) {
      NormalSkill = other.NormalSkill;
    }
    if (other.UltimateSkill.Length != 0) {
      UltimateSkill = other.UltimateSkill;
    }
    if (other.ComboSkill.Length != 0) {
      ComboSkill = other.ComboSkill;
    }
    if (other.DispNormalAttackSkill.Length != 0) {
      DispNormalAttackSkill = other.DispNormalAttackSkill;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          levelInfo_.AddEntriesFrom(input, _repeated_levelInfo_codec);
          break;
        }
        case 18: {
          NormalSkill = input.ReadString();
          break;
        }
        case 26: {
          UltimateSkill = input.ReadString();
          break;
        }
        case 34: {
          ComboSkill = input.ReadString();
          break;
        }
        case 42: {
          DispNormalAttackSkill = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class CsCharBagSetTeam : pb::IMessage<CsCharBagSetTeam> {
  private static readonly pb::MessageParser<CsCharBagSetTeam> _parser = new pb::MessageParser<CsCharBagSetTeam>(() => new CsCharBagSetTeam());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsCharBagSetTeam> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[303]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsCharBagSetTeam() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsCharBagSetTeam(CsCharBagSetTeam other) : this() {
    teamIndex_ = other.teamIndex_;
    charTeam_ = other.charTeam_.Clone();
    leaderId_ = other.leaderId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsCharBagSetTeam Clone() {
    return new CsCharBagSetTeam(this);
  }

  /// <summary>Field number for the "team_index" field.</summary>
  public const int TeamIndexFieldNumber = 1;
  private int teamIndex_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int TeamIndex {
    get { return teamIndex_; }
    set {
      teamIndex_ = value;
    }
  }

  /// <summary>Field number for the "char_team" field.</summary>
  public const int CharTeamFieldNumber = 2;
  private static readonly pb::FieldCodec<ulong> _repeated_charTeam_codec
      = pb::FieldCodec.ForUInt64(18);
  private readonly pbc::RepeatedField<ulong> charTeam_ = new pbc::RepeatedField<ulong>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<ulong> CharTeam {
    get { return charTeam_; }
  }

  /// <summary>Field number for the "leader_id" field.</summary>
  public const int LeaderIdFieldNumber = 3;
  private ulong leaderId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong LeaderId {
    get { return leaderId_; }
    set {
      leaderId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsCharBagSetTeam);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsCharBagSetTeam other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (TeamIndex != other.TeamIndex) return false;
    if(!charTeam_.Equals(other.charTeam_)) return false;
    if (LeaderId != other.LeaderId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (TeamIndex != 0) hash ^= TeamIndex.GetHashCode();
    hash ^= charTeam_.GetHashCode();
    if (LeaderId != 0UL) hash ^= LeaderId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (TeamIndex != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(TeamIndex);
    }
    charTeam_.WriteTo(output, _repeated_charTeam_codec);
    if (LeaderId != 0UL) {
      output.WriteRawTag(24);
      output.WriteUInt64(LeaderId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (TeamIndex != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(TeamIndex);
    }
    size += charTeam_.CalculateSize(_repeated_charTeam_codec);
    if (LeaderId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(LeaderId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsCharBagSetTeam other) {
    if (other == null) {
      return;
    }
    if (other.TeamIndex != 0) {
      TeamIndex = other.TeamIndex;
    }
    charTeam_.Add(other.charTeam_);
    if (other.LeaderId != 0UL) {
      LeaderId = other.LeaderId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          TeamIndex = input.ReadInt32();
          break;
        }
        case 18:
        case 16: {
          charTeam_.AddEntriesFrom(input, _repeated_charTeam_codec);
          break;
        }
        case 24: {
          LeaderId = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class CsCharBagSetCurrTeamIndex : pb::IMessage<CsCharBagSetCurrTeamIndex> {
  private static readonly pb::MessageParser<CsCharBagSetCurrTeamIndex> _parser = new pb::MessageParser<CsCharBagSetCurrTeamIndex>(() => new CsCharBagSetCurrTeamIndex());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsCharBagSetCurrTeamIndex> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[304]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsCharBagSetCurrTeamIndex() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsCharBagSetCurrTeamIndex(CsCharBagSetCurrTeamIndex other) : this() {
    teamIndex_ = other.teamIndex_;
    leaderId_ = other.leaderId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsCharBagSetCurrTeamIndex Clone() {
    return new CsCharBagSetCurrTeamIndex(this);
  }

  /// <summary>Field number for the "team_index" field.</summary>
  public const int TeamIndexFieldNumber = 1;
  private int teamIndex_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int TeamIndex {
    get { return teamIndex_; }
    set {
      teamIndex_ = value;
    }
  }

  /// <summary>Field number for the "leader_id" field.</summary>
  public const int LeaderIdFieldNumber = 2;
  private ulong leaderId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong LeaderId {
    get { return leaderId_; }
    set {
      leaderId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsCharBagSetCurrTeamIndex);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsCharBagSetCurrTeamIndex other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (TeamIndex != other.TeamIndex) return false;
    if (LeaderId != other.LeaderId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (TeamIndex != 0) hash ^= TeamIndex.GetHashCode();
    if (LeaderId != 0UL) hash ^= LeaderId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (TeamIndex != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(TeamIndex);
    }
    if (LeaderId != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(LeaderId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (TeamIndex != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(TeamIndex);
    }
    if (LeaderId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(LeaderId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsCharBagSetCurrTeamIndex other) {
    if (other == null) {
      return;
    }
    if (other.TeamIndex != 0) {
      TeamIndex = other.TeamIndex;
    }
    if (other.LeaderId != 0UL) {
      LeaderId = other.LeaderId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          TeamIndex = input.ReadInt32();
          break;
        }
        case 16: {
          LeaderId = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class CsCharBagSetTeamName : pb::IMessage<CsCharBagSetTeamName> {
  private static readonly pb::MessageParser<CsCharBagSetTeamName> _parser = new pb::MessageParser<CsCharBagSetTeamName>(() => new CsCharBagSetTeamName());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsCharBagSetTeamName> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[305]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsCharBagSetTeamName() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsCharBagSetTeamName(CsCharBagSetTeamName other) : this() {
    teamIndex_ = other.teamIndex_;
    teamName_ = other.teamName_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsCharBagSetTeamName Clone() {
    return new CsCharBagSetTeamName(this);
  }

  /// <summary>Field number for the "team_index" field.</summary>
  public const int TeamIndexFieldNumber = 1;
  private int teamIndex_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int TeamIndex {
    get { return teamIndex_; }
    set {
      teamIndex_ = value;
    }
  }

  /// <summary>Field number for the "team_name" field.</summary>
  public const int TeamNameFieldNumber = 2;
  private string teamName_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string TeamName {
    get { return teamName_; }
    set {
      teamName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsCharBagSetTeamName);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsCharBagSetTeamName other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (TeamIndex != other.TeamIndex) return false;
    if (TeamName != other.TeamName) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (TeamIndex != 0) hash ^= TeamIndex.GetHashCode();
    if (TeamName.Length != 0) hash ^= TeamName.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (TeamIndex != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(TeamIndex);
    }
    if (TeamName.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(TeamName);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (TeamIndex != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(TeamIndex);
    }
    if (TeamName.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(TeamName);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsCharBagSetTeamName other) {
    if (other == null) {
      return;
    }
    if (other.TeamIndex != 0) {
      TeamIndex = other.TeamIndex;
    }
    if (other.TeamName.Length != 0) {
      TeamName = other.TeamName;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          TeamIndex = input.ReadInt32();
          break;
        }
        case 18: {
          TeamName = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class CsCharBagTeamChangeFinish : pb::IMessage<CsCharBagTeamChangeFinish> {
  private static readonly pb::MessageParser<CsCharBagTeamChangeFinish> _parser = new pb::MessageParser<CsCharBagTeamChangeFinish>(() => new CsCharBagTeamChangeFinish());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsCharBagTeamChangeFinish> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[306]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsCharBagTeamChangeFinish() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsCharBagTeamChangeFinish(CsCharBagTeamChangeFinish other) : this() {
    teamChangeToken_ = other.teamChangeToken_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsCharBagTeamChangeFinish Clone() {
    return new CsCharBagTeamChangeFinish(this);
  }

  /// <summary>Field number for the "team_change_token" field.</summary>
  public const int TeamChangeTokenFieldNumber = 1;
  private ulong teamChangeToken_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong TeamChangeToken {
    get { return teamChangeToken_; }
    set {
      teamChangeToken_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsCharBagTeamChangeFinish);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsCharBagTeamChangeFinish other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (TeamChangeToken != other.TeamChangeToken) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (TeamChangeToken != 0UL) hash ^= TeamChangeToken.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (TeamChangeToken != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(TeamChangeToken);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (TeamChangeToken != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(TeamChangeToken);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsCharBagTeamChangeFinish other) {
    if (other == null) {
      return;
    }
    if (other.TeamChangeToken != 0UL) {
      TeamChangeToken = other.TeamChangeToken;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          TeamChangeToken = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class CsCharBagSetTeamLeader : pb::IMessage<CsCharBagSetTeamLeader> {
  private static readonly pb::MessageParser<CsCharBagSetTeamLeader> _parser = new pb::MessageParser<CsCharBagSetTeamLeader>(() => new CsCharBagSetTeamLeader());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsCharBagSetTeamLeader> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[307]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsCharBagSetTeamLeader() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsCharBagSetTeamLeader(CsCharBagSetTeamLeader other) : this() {
    teamType_ = other.teamType_;
    teamIndex_ = other.teamIndex_;
    leaderid_ = other.leaderid_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsCharBagSetTeamLeader Clone() {
    return new CsCharBagSetTeamLeader(this);
  }

  /// <summary>Field number for the "team_type" field.</summary>
  public const int TeamTypeFieldNumber = 1;
  private global::CharBagTeamType teamType_ = 0;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::CharBagTeamType TeamType {
    get { return teamType_; }
    set {
      teamType_ = value;
    }
  }

  /// <summary>Field number for the "team_index" field.</summary>
  public const int TeamIndexFieldNumber = 2;
  private int teamIndex_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int TeamIndex {
    get { return teamIndex_; }
    set {
      teamIndex_ = value;
    }
  }

  /// <summary>Field number for the "leaderid" field.</summary>
  public const int LeaderidFieldNumber = 3;
  private ulong leaderid_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong Leaderid {
    get { return leaderid_; }
    set {
      leaderid_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsCharBagSetTeamLeader);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsCharBagSetTeamLeader other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (TeamType != other.TeamType) return false;
    if (TeamIndex != other.TeamIndex) return false;
    if (Leaderid != other.Leaderid) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (TeamType != 0) hash ^= TeamType.GetHashCode();
    if (TeamIndex != 0) hash ^= TeamIndex.GetHashCode();
    if (Leaderid != 0UL) hash ^= Leaderid.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (TeamType != 0) {
      output.WriteRawTag(8);
      output.WriteEnum((int) TeamType);
    }
    if (TeamIndex != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(TeamIndex);
    }
    if (Leaderid != 0UL) {
      output.WriteRawTag(24);
      output.WriteUInt64(Leaderid);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (TeamType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) TeamType);
    }
    if (TeamIndex != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(TeamIndex);
    }
    if (Leaderid != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(Leaderid);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsCharBagSetTeamLeader other) {
    if (other == null) {
      return;
    }
    if (other.TeamType != 0) {
      TeamType = other.TeamType;
    }
    if (other.TeamIndex != 0) {
      TeamIndex = other.TeamIndex;
    }
    if (other.Leaderid != 0UL) {
      Leaderid = other.Leaderid;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          teamType_ = (global::CharBagTeamType) input.ReadEnum();
          break;
        }
        case 16: {
          TeamIndex = input.ReadInt32();
          break;
        }
        case 24: {
          Leaderid = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class ScCharBagRemoveTrialCharacter : pb::IMessage<ScCharBagRemoveTrialCharacter> {
  private static readonly pb::MessageParser<ScCharBagRemoveTrialCharacter> _parser = new pb::MessageParser<ScCharBagRemoveTrialCharacter>(() => new ScCharBagRemoveTrialCharacter());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScCharBagRemoveTrialCharacter> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[308]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScCharBagRemoveTrialCharacter() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScCharBagRemoveTrialCharacter(ScCharBagRemoveTrialCharacter other) : this() {
    scopeName_ = other.scopeName_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScCharBagRemoveTrialCharacter Clone() {
    return new ScCharBagRemoveTrialCharacter(this);
  }

  /// <summary>Field number for the "scope_name" field.</summary>
  public const int ScopeNameFieldNumber = 1;
  private int scopeName_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ScopeName {
    get { return scopeName_; }
    set {
      scopeName_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScCharBagRemoveTrialCharacter);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScCharBagRemoveTrialCharacter other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ScopeName != other.ScopeName) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ScopeName != 0) hash ^= ScopeName.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ScopeName != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(ScopeName);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ScopeName != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ScopeName);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScCharBagRemoveTrialCharacter other) {
    if (other == null) {
      return;
    }
    if (other.ScopeName != 0) {
      ScopeName = other.ScopeName;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ScopeName = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScCharBagSetTeam : pb::IMessage<ScCharBagSetTeam> {
  private static readonly pb::MessageParser<ScCharBagSetTeam> _parser = new pb::MessageParser<ScCharBagSetTeam>(() => new ScCharBagSetTeam());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScCharBagSetTeam> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[309]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScCharBagSetTeam() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScCharBagSetTeam(ScCharBagSetTeam other) : this() {
    teamType_ = other.teamType_;
    teamIndex_ = other.teamIndex_;
    leaderId_ = other.leaderId_;
    charTeam_ = other.charTeam_.Clone();
    scopeName_ = other.scopeName_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScCharBagSetTeam Clone() {
    return new ScCharBagSetTeam(this);
  }

  /// <summary>Field number for the "team_type" field.</summary>
  public const int TeamTypeFieldNumber = 1;
  private global::CharBagTeamType teamType_ = 0;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::CharBagTeamType TeamType {
    get { return teamType_; }
    set {
      teamType_ = value;
    }
  }

  /// <summary>Field number for the "team_index" field.</summary>
  public const int TeamIndexFieldNumber = 2;
  private int teamIndex_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int TeamIndex {
    get { return teamIndex_; }
    set {
      teamIndex_ = value;
    }
  }

  /// <summary>Field number for the "leader_id" field.</summary>
  public const int LeaderIdFieldNumber = 5;
  private ulong leaderId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong LeaderId {
    get { return leaderId_; }
    set {
      leaderId_ = value;
    }
  }

  /// <summary>Field number for the "char_team" field.</summary>
  public const int CharTeamFieldNumber = 3;
  private static readonly pb::FieldCodec<ulong> _repeated_charTeam_codec
      = pb::FieldCodec.ForUInt64(26);
  private readonly pbc::RepeatedField<ulong> charTeam_ = new pbc::RepeatedField<ulong>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<ulong> CharTeam {
    get { return charTeam_; }
  }

  /// <summary>Field number for the "scope_name" field.</summary>
  public const int ScopeNameFieldNumber = 4;
  private int scopeName_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ScopeName {
    get { return scopeName_; }
    set {
      scopeName_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScCharBagSetTeam);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScCharBagSetTeam other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (TeamType != other.TeamType) return false;
    if (TeamIndex != other.TeamIndex) return false;
    if (LeaderId != other.LeaderId) return false;
    if(!charTeam_.Equals(other.charTeam_)) return false;
    if (ScopeName != other.ScopeName) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (TeamType != 0) hash ^= TeamType.GetHashCode();
    if (TeamIndex != 0) hash ^= TeamIndex.GetHashCode();
    if (LeaderId != 0UL) hash ^= LeaderId.GetHashCode();
    hash ^= charTeam_.GetHashCode();
    if (ScopeName != 0) hash ^= ScopeName.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (TeamType != 0) {
      output.WriteRawTag(8);
      output.WriteEnum((int) TeamType);
    }
    if (TeamIndex != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(TeamIndex);
    }
    charTeam_.WriteTo(output, _repeated_charTeam_codec);
    if (ScopeName != 0) {
      output.WriteRawTag(32);
      output.WriteInt32(ScopeName);
    }
    if (LeaderId != 0UL) {
      output.WriteRawTag(40);
      output.WriteUInt64(LeaderId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (TeamType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) TeamType);
    }
    if (TeamIndex != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(TeamIndex);
    }
    if (LeaderId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(LeaderId);
    }
    size += charTeam_.CalculateSize(_repeated_charTeam_codec);
    if (ScopeName != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ScopeName);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScCharBagSetTeam other) {
    if (other == null) {
      return;
    }
    if (other.TeamType != 0) {
      TeamType = other.TeamType;
    }
    if (other.TeamIndex != 0) {
      TeamIndex = other.TeamIndex;
    }
    if (other.LeaderId != 0UL) {
      LeaderId = other.LeaderId;
    }
    charTeam_.Add(other.charTeam_);
    if (other.ScopeName != 0) {
      ScopeName = other.ScopeName;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          teamType_ = (global::CharBagTeamType) input.ReadEnum();
          break;
        }
        case 16: {
          TeamIndex = input.ReadInt32();
          break;
        }
        case 26:
        case 24: {
          charTeam_.AddEntriesFrom(input, _repeated_charTeam_codec);
          break;
        }
        case 32: {
          ScopeName = input.ReadInt32();
          break;
        }
        case 40: {
          LeaderId = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class CharTeamMemberInfo : pb::IMessage<CharTeamMemberInfo> {
  private static readonly pb::MessageParser<CharTeamMemberInfo> _parser = new pb::MessageParser<CharTeamMemberInfo>(() => new CharTeamMemberInfo());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CharTeamMemberInfo> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[310]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CharTeamMemberInfo() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CharTeamMemberInfo(CharTeamMemberInfo other) : this() {
    normalSkillid_ = other.normalSkillid_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CharTeamMemberInfo Clone() {
    return new CharTeamMemberInfo(this);
  }

  /// <summary>Field number for the "normal_skillid" field.</summary>
  public const int NormalSkillidFieldNumber = 1;
  private string normalSkillid_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string NormalSkillid {
    get { return normalSkillid_; }
    set {
      normalSkillid_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CharTeamMemberInfo);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CharTeamMemberInfo other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (NormalSkillid != other.NormalSkillid) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (NormalSkillid.Length != 0) hash ^= NormalSkillid.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (NormalSkillid.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(NormalSkillid);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (NormalSkillid.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(NormalSkillid);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CharTeamMemberInfo other) {
    if (other == null) {
      return;
    }
    if (other.NormalSkillid.Length != 0) {
      NormalSkillid = other.NormalSkillid;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          NormalSkillid = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class CharTeamInfo : pb::IMessage<CharTeamInfo> {
  private static readonly pb::MessageParser<CharTeamInfo> _parser = new pb::MessageParser<CharTeamInfo>(() => new CharTeamInfo());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CharTeamInfo> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[311]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CharTeamInfo() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CharTeamInfo(CharTeamInfo other) : this() {
    teamName_ = other.teamName_;
    charTeam_ = other.charTeam_.Clone();
    leaderid_ = other.leaderid_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CharTeamInfo Clone() {
    return new CharTeamInfo(this);
  }

  /// <summary>Field number for the "team_name" field.</summary>
  public const int TeamNameFieldNumber = 1;
  private string teamName_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string TeamName {
    get { return teamName_; }
    set {
      teamName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "char_team" field.</summary>
  public const int CharTeamFieldNumber = 2;
  private static readonly pb::FieldCodec<ulong> _repeated_charTeam_codec
      = pb::FieldCodec.ForUInt64(18);
  private readonly pbc::RepeatedField<ulong> charTeam_ = new pbc::RepeatedField<ulong>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<ulong> CharTeam {
    get { return charTeam_; }
  }

  /// <summary>Field number for the "leaderid" field.</summary>
  public const int LeaderidFieldNumber = 3;
  private ulong leaderid_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong Leaderid {
    get { return leaderid_; }
    set {
      leaderid_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CharTeamInfo);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CharTeamInfo other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (TeamName != other.TeamName) return false;
    if(!charTeam_.Equals(other.charTeam_)) return false;
    if (Leaderid != other.Leaderid) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (TeamName.Length != 0) hash ^= TeamName.GetHashCode();
    hash ^= charTeam_.GetHashCode();
    if (Leaderid != 0UL) hash ^= Leaderid.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (TeamName.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(TeamName);
    }
    charTeam_.WriteTo(output, _repeated_charTeam_codec);
    if (Leaderid != 0UL) {
      output.WriteRawTag(24);
      output.WriteUInt64(Leaderid);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (TeamName.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(TeamName);
    }
    size += charTeam_.CalculateSize(_repeated_charTeam_codec);
    if (Leaderid != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(Leaderid);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CharTeamInfo other) {
    if (other == null) {
      return;
    }
    if (other.TeamName.Length != 0) {
      TeamName = other.TeamName;
    }
    charTeam_.Add(other.charTeam_);
    if (other.Leaderid != 0UL) {
      Leaderid = other.Leaderid;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          TeamName = input.ReadString();
          break;
        }
        case 18:
        case 16: {
          charTeam_.AddEntriesFrom(input, _repeated_charTeam_codec);
          break;
        }
        case 24: {
          Leaderid = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class ScSyncCharBagInfo : pb::IMessage<ScSyncCharBagInfo> {
  private static readonly pb::MessageParser<ScSyncCharBagInfo> _parser = new pb::MessageParser<ScSyncCharBagInfo>(() => new ScSyncCharBagInfo());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSyncCharBagInfo> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[312]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncCharBagInfo() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncCharBagInfo(ScSyncCharBagInfo other) : this() {
    charInfo_ = other.charInfo_.Clone();
    teamInfo_ = other.teamInfo_.Clone();
    currTeamIndex_ = other.currTeamIndex_;
    maxCharTeamMemberCount_ = other.maxCharTeamMemberCount_;
    tempTeamInfo_ = other.tempTeamInfo_ != null ? other.tempTeamInfo_.Clone() : null;
    scopeName_ = other.scopeName_;
    isScopeDelete_ = other.isScopeDelete_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncCharBagInfo Clone() {
    return new ScSyncCharBagInfo(this);
  }

  /// <summary>Field number for the "char_info" field.</summary>
  public const int CharInfoFieldNumber = 1;
  private static readonly pb::FieldCodec<global::CharInfo> _repeated_charInfo_codec
      = pb::FieldCodec.ForMessage(10, global::CharInfo.Parser);
  private readonly pbc::RepeatedField<global::CharInfo> charInfo_ = new pbc::RepeatedField<global::CharInfo>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::CharInfo> CharInfo {
    get { return charInfo_; }
  }

  /// <summary>Field number for the "team_info" field.</summary>
  public const int TeamInfoFieldNumber = 2;
  private static readonly pb::FieldCodec<global::CharTeamInfo> _repeated_teamInfo_codec
      = pb::FieldCodec.ForMessage(18, global::CharTeamInfo.Parser);
  private readonly pbc::RepeatedField<global::CharTeamInfo> teamInfo_ = new pbc::RepeatedField<global::CharTeamInfo>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::CharTeamInfo> TeamInfo {
    get { return teamInfo_; }
  }

  /// <summary>Field number for the "curr_team_index" field.</summary>
  public const int CurrTeamIndexFieldNumber = 3;
  private int currTeamIndex_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CurrTeamIndex {
    get { return currTeamIndex_; }
    set {
      currTeamIndex_ = value;
    }
  }

  /// <summary>Field number for the "max_char_team_member_count" field.</summary>
  public const int MaxCharTeamMemberCountFieldNumber = 4;
  private uint maxCharTeamMemberCount_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint MaxCharTeamMemberCount {
    get { return maxCharTeamMemberCount_; }
    set {
      maxCharTeamMemberCount_ = value;
    }
  }

  /// <summary>Field number for the "temp_team_info" field.</summary>
  public const int TempTeamInfoFieldNumber = 5;
  private global::CharTeamInfo tempTeamInfo_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::CharTeamInfo TempTeamInfo {
    get { return tempTeamInfo_; }
    set {
      tempTeamInfo_ = value;
    }
  }

  /// <summary>Field number for the "scope_name" field.</summary>
  public const int ScopeNameFieldNumber = 10;
  private int scopeName_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ScopeName {
    get { return scopeName_; }
    set {
      scopeName_ = value;
    }
  }

  /// <summary>Field number for the "is_scope_delete" field.</summary>
  public const int IsScopeDeleteFieldNumber = 11;
  private bool isScopeDelete_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool IsScopeDelete {
    get { return isScopeDelete_; }
    set {
      isScopeDelete_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSyncCharBagInfo);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSyncCharBagInfo other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!charInfo_.Equals(other.charInfo_)) return false;
    if(!teamInfo_.Equals(other.teamInfo_)) return false;
    if (CurrTeamIndex != other.CurrTeamIndex) return false;
    if (MaxCharTeamMemberCount != other.MaxCharTeamMemberCount) return false;
    if (!object.Equals(TempTeamInfo, other.TempTeamInfo)) return false;
    if (ScopeName != other.ScopeName) return false;
    if (IsScopeDelete != other.IsScopeDelete) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= charInfo_.GetHashCode();
    hash ^= teamInfo_.GetHashCode();
    if (CurrTeamIndex != 0) hash ^= CurrTeamIndex.GetHashCode();
    if (MaxCharTeamMemberCount != 0) hash ^= MaxCharTeamMemberCount.GetHashCode();
    if (tempTeamInfo_ != null) hash ^= TempTeamInfo.GetHashCode();
    if (ScopeName != 0) hash ^= ScopeName.GetHashCode();
    if (IsScopeDelete != false) hash ^= IsScopeDelete.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    charInfo_.WriteTo(output, _repeated_charInfo_codec);
    teamInfo_.WriteTo(output, _repeated_teamInfo_codec);
    if (CurrTeamIndex != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(CurrTeamIndex);
    }
    if (MaxCharTeamMemberCount != 0) {
      output.WriteRawTag(32);
      output.WriteUInt32(MaxCharTeamMemberCount);
    }
    if (tempTeamInfo_ != null) {
      output.WriteRawTag(42);
      output.WriteMessage(TempTeamInfo);
    }
    if (ScopeName != 0) {
      output.WriteRawTag(80);
      output.WriteInt32(ScopeName);
    }
    if (IsScopeDelete != false) {
      output.WriteRawTag(88);
      output.WriteBool(IsScopeDelete);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += charInfo_.CalculateSize(_repeated_charInfo_codec);
    size += teamInfo_.CalculateSize(_repeated_teamInfo_codec);
    if (CurrTeamIndex != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(CurrTeamIndex);
    }
    if (MaxCharTeamMemberCount != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(MaxCharTeamMemberCount);
    }
    if (tempTeamInfo_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(TempTeamInfo);
    }
    if (ScopeName != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ScopeName);
    }
    if (IsScopeDelete != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSyncCharBagInfo other) {
    if (other == null) {
      return;
    }
    charInfo_.Add(other.charInfo_);
    teamInfo_.Add(other.teamInfo_);
    if (other.CurrTeamIndex != 0) {
      CurrTeamIndex = other.CurrTeamIndex;
    }
    if (other.MaxCharTeamMemberCount != 0) {
      MaxCharTeamMemberCount = other.MaxCharTeamMemberCount;
    }
    if (other.tempTeamInfo_ != null) {
      if (tempTeamInfo_ == null) {
        tempTeamInfo_ = new global::CharTeamInfo();
      }
      TempTeamInfo.MergeFrom(other.TempTeamInfo);
    }
    if (other.ScopeName != 0) {
      ScopeName = other.ScopeName;
    }
    if (other.IsScopeDelete != false) {
      IsScopeDelete = other.IsScopeDelete;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          charInfo_.AddEntriesFrom(input, _repeated_charInfo_codec);
          break;
        }
        case 18: {
          teamInfo_.AddEntriesFrom(input, _repeated_teamInfo_codec);
          break;
        }
        case 24: {
          CurrTeamIndex = input.ReadInt32();
          break;
        }
        case 32: {
          MaxCharTeamMemberCount = input.ReadUInt32();
          break;
        }
        case 42: {
          if (tempTeamInfo_ == null) {
            tempTeamInfo_ = new global::CharTeamInfo();
          }
          input.ReadMessage(tempTeamInfo_);
          break;
        }
        case 80: {
          ScopeName = input.ReadInt32();
          break;
        }
        case 88: {
          IsScopeDelete = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class ScCharBagAddChar : pb::IMessage<ScCharBagAddChar> {
  private static readonly pb::MessageParser<ScCharBagAddChar> _parser = new pb::MessageParser<ScCharBagAddChar>(() => new ScCharBagAddChar());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScCharBagAddChar> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[313]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScCharBagAddChar() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScCharBagAddChar(ScCharBagAddChar other) : this() {
    char_ = other.char_ != null ? other.char_.Clone() : null;
    scopeName_ = other.scopeName_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScCharBagAddChar Clone() {
    return new ScCharBagAddChar(this);
  }

  /// <summary>Field number for the "char" field.</summary>
  public const int CharFieldNumber = 1;
  private global::CharInfo char_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::CharInfo Char {
    get { return char_; }
    set {
      char_ = value;
    }
  }

  /// <summary>Field number for the "scope_name" field.</summary>
  public const int ScopeNameFieldNumber = 2;
  private int scopeName_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ScopeName {
    get { return scopeName_; }
    set {
      scopeName_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScCharBagAddChar);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScCharBagAddChar other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!object.Equals(Char, other.Char)) return false;
    if (ScopeName != other.ScopeName) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (char_ != null) hash ^= Char.GetHashCode();
    if (ScopeName != 0) hash ^= ScopeName.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (char_ != null) {
      output.WriteRawTag(10);
      output.WriteMessage(Char);
    }
    if (ScopeName != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(ScopeName);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (char_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Char);
    }
    if (ScopeName != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ScopeName);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScCharBagAddChar other) {
    if (other == null) {
      return;
    }
    if (other.char_ != null) {
      if (char_ == null) {
        char_ = new global::CharInfo();
      }
      Char.MergeFrom(other.Char);
    }
    if (other.ScopeName != 0) {
      ScopeName = other.ScopeName;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          if (char_ == null) {
            char_ = new global::CharInfo();
          }
          input.ReadMessage(char_);
          break;
        }
        case 16: {
          ScopeName = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScCharBagSetTeamName : pb::IMessage<ScCharBagSetTeamName> {
  private static readonly pb::MessageParser<ScCharBagSetTeamName> _parser = new pb::MessageParser<ScCharBagSetTeamName>(() => new ScCharBagSetTeamName());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScCharBagSetTeamName> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[314]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScCharBagSetTeamName() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScCharBagSetTeamName(ScCharBagSetTeamName other) : this() {
    teamIndex_ = other.teamIndex_;
    teamName_ = other.teamName_;
    scopeName_ = other.scopeName_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScCharBagSetTeamName Clone() {
    return new ScCharBagSetTeamName(this);
  }

  /// <summary>Field number for the "team_index" field.</summary>
  public const int TeamIndexFieldNumber = 1;
  private int teamIndex_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int TeamIndex {
    get { return teamIndex_; }
    set {
      teamIndex_ = value;
    }
  }

  /// <summary>Field number for the "team_name" field.</summary>
  public const int TeamNameFieldNumber = 2;
  private string teamName_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string TeamName {
    get { return teamName_; }
    set {
      teamName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "scope_name" field.</summary>
  public const int ScopeNameFieldNumber = 3;
  private int scopeName_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ScopeName {
    get { return scopeName_; }
    set {
      scopeName_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScCharBagSetTeamName);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScCharBagSetTeamName other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (TeamIndex != other.TeamIndex) return false;
    if (TeamName != other.TeamName) return false;
    if (ScopeName != other.ScopeName) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (TeamIndex != 0) hash ^= TeamIndex.GetHashCode();
    if (TeamName.Length != 0) hash ^= TeamName.GetHashCode();
    if (ScopeName != 0) hash ^= ScopeName.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (TeamIndex != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(TeamIndex);
    }
    if (TeamName.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(TeamName);
    }
    if (ScopeName != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(ScopeName);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (TeamIndex != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(TeamIndex);
    }
    if (TeamName.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(TeamName);
    }
    if (ScopeName != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ScopeName);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScCharBagSetTeamName other) {
    if (other == null) {
      return;
    }
    if (other.TeamIndex != 0) {
      TeamIndex = other.TeamIndex;
    }
    if (other.TeamName.Length != 0) {
      TeamName = other.TeamName;
    }
    if (other.ScopeName != 0) {
      ScopeName = other.ScopeName;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          TeamIndex = input.ReadInt32();
          break;
        }
        case 18: {
          TeamName = input.ReadString();
          break;
        }
        case 24: {
          ScopeName = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScCharBagSetTeamLeader : pb::IMessage<ScCharBagSetTeamLeader> {
  private static readonly pb::MessageParser<ScCharBagSetTeamLeader> _parser = new pb::MessageParser<ScCharBagSetTeamLeader>(() => new ScCharBagSetTeamLeader());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScCharBagSetTeamLeader> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[315]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScCharBagSetTeamLeader() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScCharBagSetTeamLeader(ScCharBagSetTeamLeader other) : this() {
    teamType_ = other.teamType_;
    teamIndex_ = other.teamIndex_;
    leaderid_ = other.leaderid_;
    scopeName_ = other.scopeName_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScCharBagSetTeamLeader Clone() {
    return new ScCharBagSetTeamLeader(this);
  }

  /// <summary>Field number for the "team_type" field.</summary>
  public const int TeamTypeFieldNumber = 1;
  private global::CharBagTeamType teamType_ = 0;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::CharBagTeamType TeamType {
    get { return teamType_; }
    set {
      teamType_ = value;
    }
  }

  /// <summary>Field number for the "team_index" field.</summary>
  public const int TeamIndexFieldNumber = 2;
  private int teamIndex_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int TeamIndex {
    get { return teamIndex_; }
    set {
      teamIndex_ = value;
    }
  }

  /// <summary>Field number for the "leaderid" field.</summary>
  public const int LeaderidFieldNumber = 3;
  private ulong leaderid_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong Leaderid {
    get { return leaderid_; }
    set {
      leaderid_ = value;
    }
  }

  /// <summary>Field number for the "scope_name" field.</summary>
  public const int ScopeNameFieldNumber = 4;
  private int scopeName_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ScopeName {
    get { return scopeName_; }
    set {
      scopeName_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScCharBagSetTeamLeader);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScCharBagSetTeamLeader other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (TeamType != other.TeamType) return false;
    if (TeamIndex != other.TeamIndex) return false;
    if (Leaderid != other.Leaderid) return false;
    if (ScopeName != other.ScopeName) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (TeamType != 0) hash ^= TeamType.GetHashCode();
    if (TeamIndex != 0) hash ^= TeamIndex.GetHashCode();
    if (Leaderid != 0UL) hash ^= Leaderid.GetHashCode();
    if (ScopeName != 0) hash ^= ScopeName.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (TeamType != 0) {
      output.WriteRawTag(8);
      output.WriteEnum((int) TeamType);
    }
    if (TeamIndex != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(TeamIndex);
    }
    if (Leaderid != 0UL) {
      output.WriteRawTag(24);
      output.WriteUInt64(Leaderid);
    }
    if (ScopeName != 0) {
      output.WriteRawTag(32);
      output.WriteInt32(ScopeName);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (TeamType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) TeamType);
    }
    if (TeamIndex != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(TeamIndex);
    }
    if (Leaderid != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(Leaderid);
    }
    if (ScopeName != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ScopeName);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScCharBagSetTeamLeader other) {
    if (other == null) {
      return;
    }
    if (other.TeamType != 0) {
      TeamType = other.TeamType;
    }
    if (other.TeamIndex != 0) {
      TeamIndex = other.TeamIndex;
    }
    if (other.Leaderid != 0UL) {
      Leaderid = other.Leaderid;
    }
    if (other.ScopeName != 0) {
      ScopeName = other.ScopeName;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          teamType_ = (global::CharBagTeamType) input.ReadEnum();
          break;
        }
        case 16: {
          TeamIndex = input.ReadInt32();
          break;
        }
        case 24: {
          Leaderid = input.ReadUInt64();
          break;
        }
        case 32: {
          ScopeName = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScCharBagSetMaxTeamMemberCount : pb::IMessage<ScCharBagSetMaxTeamMemberCount> {
  private static readonly pb::MessageParser<ScCharBagSetMaxTeamMemberCount> _parser = new pb::MessageParser<ScCharBagSetMaxTeamMemberCount>(() => new ScCharBagSetMaxTeamMemberCount());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScCharBagSetMaxTeamMemberCount> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[316]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScCharBagSetMaxTeamMemberCount() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScCharBagSetMaxTeamMemberCount(ScCharBagSetMaxTeamMemberCount other) : this() {
    maxCharTeamMemberCount_ = other.maxCharTeamMemberCount_;
    scopeName_ = other.scopeName_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScCharBagSetMaxTeamMemberCount Clone() {
    return new ScCharBagSetMaxTeamMemberCount(this);
  }

  /// <summary>Field number for the "max_char_team_member_count" field.</summary>
  public const int MaxCharTeamMemberCountFieldNumber = 1;
  private uint maxCharTeamMemberCount_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint MaxCharTeamMemberCount {
    get { return maxCharTeamMemberCount_; }
    set {
      maxCharTeamMemberCount_ = value;
    }
  }

  /// <summary>Field number for the "scope_name" field.</summary>
  public const int ScopeNameFieldNumber = 2;
  private int scopeName_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ScopeName {
    get { return scopeName_; }
    set {
      scopeName_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScCharBagSetMaxTeamMemberCount);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScCharBagSetMaxTeamMemberCount other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (MaxCharTeamMemberCount != other.MaxCharTeamMemberCount) return false;
    if (ScopeName != other.ScopeName) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (MaxCharTeamMemberCount != 0) hash ^= MaxCharTeamMemberCount.GetHashCode();
    if (ScopeName != 0) hash ^= ScopeName.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (MaxCharTeamMemberCount != 0) {
      output.WriteRawTag(8);
      output.WriteUInt32(MaxCharTeamMemberCount);
    }
    if (ScopeName != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(ScopeName);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (MaxCharTeamMemberCount != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(MaxCharTeamMemberCount);
    }
    if (ScopeName != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ScopeName);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScCharBagSetMaxTeamMemberCount other) {
    if (other == null) {
      return;
    }
    if (other.MaxCharTeamMemberCount != 0) {
      MaxCharTeamMemberCount = other.MaxCharTeamMemberCount;
    }
    if (other.ScopeName != 0) {
      ScopeName = other.ScopeName;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          MaxCharTeamMemberCount = input.ReadUInt32();
          break;
        }
        case 16: {
          ScopeName = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScCharBagTeamLeaderNotMatchNtf : pb::IMessage<ScCharBagTeamLeaderNotMatchNtf> {
  private static readonly pb::MessageParser<ScCharBagTeamLeaderNotMatchNtf> _parser = new pb::MessageParser<ScCharBagTeamLeaderNotMatchNtf>(() => new ScCharBagTeamLeaderNotMatchNtf());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScCharBagTeamLeaderNotMatchNtf> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[317]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScCharBagTeamLeaderNotMatchNtf() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScCharBagTeamLeaderNotMatchNtf(ScCharBagTeamLeaderNotMatchNtf other) : this() {
    teamType_ = other.teamType_;
    teamIndex_ = other.teamIndex_;
    leaderid_ = other.leaderid_;
    scopeName_ = other.scopeName_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScCharBagTeamLeaderNotMatchNtf Clone() {
    return new ScCharBagTeamLeaderNotMatchNtf(this);
  }

  /// <summary>Field number for the "team_type" field.</summary>
  public const int TeamTypeFieldNumber = 1;
  private global::CharBagTeamType teamType_ = 0;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::CharBagTeamType TeamType {
    get { return teamType_; }
    set {
      teamType_ = value;
    }
  }

  /// <summary>Field number for the "team_index" field.</summary>
  public const int TeamIndexFieldNumber = 2;
  private int teamIndex_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int TeamIndex {
    get { return teamIndex_; }
    set {
      teamIndex_ = value;
    }
  }

  /// <summary>Field number for the "leaderid" field.</summary>
  public const int LeaderidFieldNumber = 3;
  private ulong leaderid_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong Leaderid {
    get { return leaderid_; }
    set {
      leaderid_ = value;
    }
  }

  /// <summary>Field number for the "scope_name" field.</summary>
  public const int ScopeNameFieldNumber = 4;
  private int scopeName_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ScopeName {
    get { return scopeName_; }
    set {
      scopeName_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScCharBagTeamLeaderNotMatchNtf);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScCharBagTeamLeaderNotMatchNtf other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (TeamType != other.TeamType) return false;
    if (TeamIndex != other.TeamIndex) return false;
    if (Leaderid != other.Leaderid) return false;
    if (ScopeName != other.ScopeName) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (TeamType != 0) hash ^= TeamType.GetHashCode();
    if (TeamIndex != 0) hash ^= TeamIndex.GetHashCode();
    if (Leaderid != 0UL) hash ^= Leaderid.GetHashCode();
    if (ScopeName != 0) hash ^= ScopeName.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (TeamType != 0) {
      output.WriteRawTag(8);
      output.WriteEnum((int) TeamType);
    }
    if (TeamIndex != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(TeamIndex);
    }
    if (Leaderid != 0UL) {
      output.WriteRawTag(24);
      output.WriteUInt64(Leaderid);
    }
    if (ScopeName != 0) {
      output.WriteRawTag(32);
      output.WriteInt32(ScopeName);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (TeamType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) TeamType);
    }
    if (TeamIndex != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(TeamIndex);
    }
    if (Leaderid != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(Leaderid);
    }
    if (ScopeName != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ScopeName);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScCharBagTeamLeaderNotMatchNtf other) {
    if (other == null) {
      return;
    }
    if (other.TeamType != 0) {
      TeamType = other.TeamType;
    }
    if (other.TeamIndex != 0) {
      TeamIndex = other.TeamIndex;
    }
    if (other.Leaderid != 0UL) {
      Leaderid = other.Leaderid;
    }
    if (other.ScopeName != 0) {
      ScopeName = other.ScopeName;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          teamType_ = (global::CharBagTeamType) input.ReadEnum();
          break;
        }
        case 16: {
          TeamIndex = input.ReadInt32();
          break;
        }
        case 24: {
          Leaderid = input.ReadUInt64();
          break;
        }
        case 32: {
          ScopeName = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScCharBagDelChar : pb::IMessage<ScCharBagDelChar> {
  private static readonly pb::MessageParser<ScCharBagDelChar> _parser = new pb::MessageParser<ScCharBagDelChar>(() => new ScCharBagDelChar());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScCharBagDelChar> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[318]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScCharBagDelChar() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScCharBagDelChar(ScCharBagDelChar other) : this() {
    charInstId_ = other.charInstId_;
    scopeName_ = other.scopeName_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScCharBagDelChar Clone() {
    return new ScCharBagDelChar(this);
  }

  /// <summary>Field number for the "char_inst_id" field.</summary>
  public const int CharInstIdFieldNumber = 1;
  private ulong charInstId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong CharInstId {
    get { return charInstId_; }
    set {
      charInstId_ = value;
    }
  }

  /// <summary>Field number for the "scope_name" field.</summary>
  public const int ScopeNameFieldNumber = 2;
  private int scopeName_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ScopeName {
    get { return scopeName_; }
    set {
      scopeName_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScCharBagDelChar);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScCharBagDelChar other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (CharInstId != other.CharInstId) return false;
    if (ScopeName != other.ScopeName) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (CharInstId != 0UL) hash ^= CharInstId.GetHashCode();
    if (ScopeName != 0) hash ^= ScopeName.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (CharInstId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(CharInstId);
    }
    if (ScopeName != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(ScopeName);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (CharInstId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(CharInstId);
    }
    if (ScopeName != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ScopeName);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScCharBagDelChar other) {
    if (other == null) {
      return;
    }
    if (other.CharInstId != 0UL) {
      CharInstId = other.CharInstId;
    }
    if (other.ScopeName != 0) {
      ScopeName = other.ScopeName;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          CharInstId = input.ReadUInt64();
          break;
        }
        case 16: {
          ScopeName = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScCharBagAddCharWithConversionNotify : pb::IMessage<ScCharBagAddCharWithConversionNotify> {
  private static readonly pb::MessageParser<ScCharBagAddCharWithConversionNotify> _parser = new pb::MessageParser<ScCharBagAddCharWithConversionNotify>(() => new ScCharBagAddCharWithConversionNotify());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScCharBagAddCharWithConversionNotify> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[319]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScCharBagAddCharWithConversionNotify() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScCharBagAddCharWithConversionNotify(ScCharBagAddCharWithConversionNotify other) : this() {
    charTemplateId_ = other.charTemplateId_;
    scopeName_ = other.scopeName_;
    isConverted_ = other.isConverted_;
    convertedItemId_ = other.convertedItemId_;
    convertedRewardId_ = other.convertedRewardId_;
    sourceReason_ = other.sourceReason_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScCharBagAddCharWithConversionNotify Clone() {
    return new ScCharBagAddCharWithConversionNotify(this);
  }

  /// <summary>Field number for the "char_template_id" field.</summary>
  public const int CharTemplateIdFieldNumber = 1;
  private string charTemplateId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string CharTemplateId {
    get { return charTemplateId_; }
    set {
      charTemplateId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "scope_name" field.</summary>
  public const int ScopeNameFieldNumber = 2;
  private int scopeName_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ScopeName {
    get { return scopeName_; }
    set {
      scopeName_ = value;
    }
  }

  /// <summary>Field number for the "is_converted" field.</summary>
  public const int IsConvertedFieldNumber = 3;
  private bool isConverted_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool IsConverted {
    get { return isConverted_; }
    set {
      isConverted_ = value;
    }
  }

  /// <summary>Field number for the "converted_item_id" field.</summary>
  public const int ConvertedItemIdFieldNumber = 4;
  private string convertedItemId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ConvertedItemId {
    get { return convertedItemId_; }
    set {
      convertedItemId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "converted_reward_id" field.</summary>
  public const int ConvertedRewardIdFieldNumber = 5;
  private string convertedRewardId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ConvertedRewardId {
    get { return convertedRewardId_; }
    set {
      convertedRewardId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "source_reason" field.</summary>
  public const int SourceReasonFieldNumber = 6;
  private int sourceReason_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int SourceReason {
    get { return sourceReason_; }
    set {
      sourceReason_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScCharBagAddCharWithConversionNotify);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScCharBagAddCharWithConversionNotify other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (CharTemplateId != other.CharTemplateId) return false;
    if (ScopeName != other.ScopeName) return false;
    if (IsConverted != other.IsConverted) return false;
    if (ConvertedItemId != other.ConvertedItemId) return false;
    if (ConvertedRewardId != other.ConvertedRewardId) return false;
    if (SourceReason != other.SourceReason) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (CharTemplateId.Length != 0) hash ^= CharTemplateId.GetHashCode();
    if (ScopeName != 0) hash ^= ScopeName.GetHashCode();
    if (IsConverted != false) hash ^= IsConverted.GetHashCode();
    if (ConvertedItemId.Length != 0) hash ^= ConvertedItemId.GetHashCode();
    if (ConvertedRewardId.Length != 0) hash ^= ConvertedRewardId.GetHashCode();
    if (SourceReason != 0) hash ^= SourceReason.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (CharTemplateId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(CharTemplateId);
    }
    if (ScopeName != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(ScopeName);
    }
    if (IsConverted != false) {
      output.WriteRawTag(24);
      output.WriteBool(IsConverted);
    }
    if (ConvertedItemId.Length != 0) {
      output.WriteRawTag(34);
      output.WriteString(ConvertedItemId);
    }
    if (ConvertedRewardId.Length != 0) {
      output.WriteRawTag(42);
      output.WriteString(ConvertedRewardId);
    }
    if (SourceReason != 0) {
      output.WriteRawTag(48);
      output.WriteInt32(SourceReason);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (CharTemplateId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(CharTemplateId);
    }
    if (ScopeName != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ScopeName);
    }
    if (IsConverted != false) {
      size += 1 + 1;
    }
    if (ConvertedItemId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ConvertedItemId);
    }
    if (ConvertedRewardId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ConvertedRewardId);
    }
    if (SourceReason != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(SourceReason);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScCharBagAddCharWithConversionNotify other) {
    if (other == null) {
      return;
    }
    if (other.CharTemplateId.Length != 0) {
      CharTemplateId = other.CharTemplateId;
    }
    if (other.ScopeName != 0) {
      ScopeName = other.ScopeName;
    }
    if (other.IsConverted != false) {
      IsConverted = other.IsConverted;
    }
    if (other.ConvertedItemId.Length != 0) {
      ConvertedItemId = other.ConvertedItemId;
    }
    if (other.ConvertedRewardId.Length != 0) {
      ConvertedRewardId = other.ConvertedRewardId;
    }
    if (other.SourceReason != 0) {
      SourceReason = other.SourceReason;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          CharTemplateId = input.ReadString();
          break;
        }
        case 16: {
          ScopeName = input.ReadInt32();
          break;
        }
        case 24: {
          IsConverted = input.ReadBool();
          break;
        }
        case 34: {
          ConvertedItemId = input.ReadString();
          break;
        }
        case 42: {
          ConvertedRewardId = input.ReadString();
          break;
        }
        case 48: {
          SourceReason = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class SceneCollection : pb::IMessage<SceneCollection> {
  private static readonly pb::MessageParser<SceneCollection> _parser = new pb::MessageParser<SceneCollection>(() => new SceneCollection());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<SceneCollection> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[320]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SceneCollection() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SceneCollection(SceneCollection other) : this() {
    sceneName_ = other.sceneName_;
    prefabId_ = other.prefabId_;
    count_ = other.count_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SceneCollection Clone() {
    return new SceneCollection(this);
  }

  /// <summary>Field number for the "scene_name" field.</summary>
  public const int SceneNameFieldNumber = 1;
  private string sceneName_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string SceneName {
    get { return sceneName_; }
    set {
      sceneName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "prefab_id" field.</summary>
  public const int PrefabIdFieldNumber = 2;
  private string prefabId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string PrefabId {
    get { return prefabId_; }
    set {
      prefabId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "count" field.</summary>
  public const int CountFieldNumber = 3;
  private int count_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Count {
    get { return count_; }
    set {
      count_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as SceneCollection);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(SceneCollection other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SceneName != other.SceneName) return false;
    if (PrefabId != other.PrefabId) return false;
    if (Count != other.Count) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SceneName.Length != 0) hash ^= SceneName.GetHashCode();
    if (PrefabId.Length != 0) hash ^= PrefabId.GetHashCode();
    if (Count != 0) hash ^= Count.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SceneName.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(SceneName);
    }
    if (PrefabId.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(PrefabId);
    }
    if (Count != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(Count);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SceneName.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(SceneName);
    }
    if (PrefabId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(PrefabId);
    }
    if (Count != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Count);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(SceneCollection other) {
    if (other == null) {
      return;
    }
    if (other.SceneName.Length != 0) {
      SceneName = other.SceneName;
    }
    if (other.PrefabId.Length != 0) {
      PrefabId = other.PrefabId;
    }
    if (other.Count != 0) {
      Count = other.Count;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          SceneName = input.ReadString();
          break;
        }
        case 18: {
          PrefabId = input.ReadString();
          break;
        }
        case 24: {
          Count = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScSceneCollectionSync : pb::IMessage<ScSceneCollectionSync> {
  private static readonly pb::MessageParser<ScSceneCollectionSync> _parser = new pb::MessageParser<ScSceneCollectionSync>(() => new ScSceneCollectionSync());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSceneCollectionSync> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[321]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneCollectionSync() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneCollectionSync(ScSceneCollectionSync other) : this() {
    collectionList_ = other.collectionList_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneCollectionSync Clone() {
    return new ScSceneCollectionSync(this);
  }

  /// <summary>Field number for the "collection_list" field.</summary>
  public const int CollectionListFieldNumber = 1;
  private static readonly pb::FieldCodec<global::SceneCollection> _repeated_collectionList_codec
      = pb::FieldCodec.ForMessage(10, global::SceneCollection.Parser);
  private readonly pbc::RepeatedField<global::SceneCollection> collectionList_ = new pbc::RepeatedField<global::SceneCollection>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::SceneCollection> CollectionList {
    get { return collectionList_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSceneCollectionSync);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSceneCollectionSync other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!collectionList_.Equals(other.collectionList_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= collectionList_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    collectionList_.WriteTo(output, _repeated_collectionList_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += collectionList_.CalculateSize(_repeated_collectionList_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSceneCollectionSync other) {
    if (other == null) {
      return;
    }
    collectionList_.Add(other.collectionList_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          collectionList_.AddEntriesFrom(input, _repeated_collectionList_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScSceneCollectionModify : pb::IMessage<ScSceneCollectionModify> {
  private static readonly pb::MessageParser<ScSceneCollectionModify> _parser = new pb::MessageParser<ScSceneCollectionModify>(() => new ScSceneCollectionModify());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSceneCollectionModify> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[322]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneCollectionModify() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneCollectionModify(ScSceneCollectionModify other) : this() {
    sceneName_ = other.sceneName_;
    prefabId_ = other.prefabId_;
    count_ = other.count_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneCollectionModify Clone() {
    return new ScSceneCollectionModify(this);
  }

  /// <summary>Field number for the "scene_name" field.</summary>
  public const int SceneNameFieldNumber = 1;
  private string sceneName_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string SceneName {
    get { return sceneName_; }
    set {
      sceneName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "prefab_id" field.</summary>
  public const int PrefabIdFieldNumber = 2;
  private string prefabId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string PrefabId {
    get { return prefabId_; }
    set {
      prefabId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "count" field.</summary>
  public const int CountFieldNumber = 3;
  private int count_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Count {
    get { return count_; }
    set {
      count_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSceneCollectionModify);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSceneCollectionModify other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SceneName != other.SceneName) return false;
    if (PrefabId != other.PrefabId) return false;
    if (Count != other.Count) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SceneName.Length != 0) hash ^= SceneName.GetHashCode();
    if (PrefabId.Length != 0) hash ^= PrefabId.GetHashCode();
    if (Count != 0) hash ^= Count.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SceneName.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(SceneName);
    }
    if (PrefabId.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(PrefabId);
    }
    if (Count != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(Count);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SceneName.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(SceneName);
    }
    if (PrefabId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(PrefabId);
    }
    if (Count != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Count);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSceneCollectionModify other) {
    if (other == null) {
      return;
    }
    if (other.SceneName.Length != 0) {
      SceneName = other.SceneName;
    }
    if (other.PrefabId.Length != 0) {
      PrefabId = other.PrefabId;
    }
    if (other.Count != 0) {
      Count = other.Count;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          SceneName = input.ReadString();
          break;
        }
        case 18: {
          PrefabId = input.ReadString();
          break;
        }
        case 24: {
          Count = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class Dialog : pb::IMessage<Dialog> {
  private static readonly pb::MessageParser<Dialog> _parser = new pb::MessageParser<Dialog>(() => new Dialog());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<Dialog> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[323]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public Dialog() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public Dialog(Dialog other) : this() {
    dialogId_ = other.dialogId_;
    optionIds_ = other.optionIds_.Clone();
    finishNums_ = other.finishNums_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public Dialog Clone() {
    return new Dialog(this);
  }

  /// <summary>Field number for the "dialog_id" field.</summary>
  public const int DialogIdFieldNumber = 1;
  private int dialogId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int DialogId {
    get { return dialogId_; }
    set {
      dialogId_ = value;
    }
  }

  /// <summary>Field number for the "option_ids" field.</summary>
  public const int OptionIdsFieldNumber = 2;
  private static readonly pb::FieldCodec<int> _repeated_optionIds_codec
      = pb::FieldCodec.ForInt32(18);
  private readonly pbc::RepeatedField<int> optionIds_ = new pbc::RepeatedField<int>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<int> OptionIds {
    get { return optionIds_; }
  }

  /// <summary>Field number for the "finish_nums" field.</summary>
  public const int FinishNumsFieldNumber = 3;
  private static readonly pb::FieldCodec<int> _repeated_finishNums_codec
      = pb::FieldCodec.ForInt32(26);
  private readonly pbc::RepeatedField<int> finishNums_ = new pbc::RepeatedField<int>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<int> FinishNums {
    get { return finishNums_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as Dialog);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(Dialog other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (DialogId != other.DialogId) return false;
    if(!optionIds_.Equals(other.optionIds_)) return false;
    if(!finishNums_.Equals(other.finishNums_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (DialogId != 0) hash ^= DialogId.GetHashCode();
    hash ^= optionIds_.GetHashCode();
    hash ^= finishNums_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (DialogId != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(DialogId);
    }
    optionIds_.WriteTo(output, _repeated_optionIds_codec);
    finishNums_.WriteTo(output, _repeated_finishNums_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (DialogId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(DialogId);
    }
    size += optionIds_.CalculateSize(_repeated_optionIds_codec);
    size += finishNums_.CalculateSize(_repeated_finishNums_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(Dialog other) {
    if (other == null) {
      return;
    }
    if (other.DialogId != 0) {
      DialogId = other.DialogId;
    }
    optionIds_.Add(other.optionIds_);
    finishNums_.Add(other.finishNums_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          DialogId = input.ReadInt32();
          break;
        }
        case 18:
        case 16: {
          optionIds_.AddEntriesFrom(input, _repeated_optionIds_codec);
          break;
        }
        case 26:
        case 24: {
          finishNums_.AddEntriesFrom(input, _repeated_finishNums_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class CsFinishDialog : pb::IMessage<CsFinishDialog> {
  private static readonly pb::MessageParser<CsFinishDialog> _parser = new pb::MessageParser<CsFinishDialog>(() => new CsFinishDialog());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsFinishDialog> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[324]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFinishDialog() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFinishDialog(CsFinishDialog other) : this() {
    dialogId_ = other.dialogId_;
    optionIds_ = other.optionIds_.Clone();
    finishNums_ = other.finishNums_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFinishDialog Clone() {
    return new CsFinishDialog(this);
  }

  /// <summary>Field number for the "dialog_id" field.</summary>
  public const int DialogIdFieldNumber = 1;
  private int dialogId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int DialogId {
    get { return dialogId_; }
    set {
      dialogId_ = value;
    }
  }

  /// <summary>Field number for the "option_ids" field.</summary>
  public const int OptionIdsFieldNumber = 2;
  private static readonly pb::FieldCodec<int> _repeated_optionIds_codec
      = pb::FieldCodec.ForInt32(18);
  private readonly pbc::RepeatedField<int> optionIds_ = new pbc::RepeatedField<int>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<int> OptionIds {
    get { return optionIds_; }
  }

  /// <summary>Field number for the "finish_nums" field.</summary>
  public const int FinishNumsFieldNumber = 3;
  private static readonly pb::FieldCodec<int> _repeated_finishNums_codec
      = pb::FieldCodec.ForInt32(26);
  private readonly pbc::RepeatedField<int> finishNums_ = new pbc::RepeatedField<int>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<int> FinishNums {
    get { return finishNums_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsFinishDialog);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsFinishDialog other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (DialogId != other.DialogId) return false;
    if(!optionIds_.Equals(other.optionIds_)) return false;
    if(!finishNums_.Equals(other.finishNums_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (DialogId != 0) hash ^= DialogId.GetHashCode();
    hash ^= optionIds_.GetHashCode();
    hash ^= finishNums_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (DialogId != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(DialogId);
    }
    optionIds_.WriteTo(output, _repeated_optionIds_codec);
    finishNums_.WriteTo(output, _repeated_finishNums_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (DialogId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(DialogId);
    }
    size += optionIds_.CalculateSize(_repeated_optionIds_codec);
    size += finishNums_.CalculateSize(_repeated_finishNums_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsFinishDialog other) {
    if (other == null) {
      return;
    }
    if (other.DialogId != 0) {
      DialogId = other.DialogId;
    }
    optionIds_.Add(other.optionIds_);
    finishNums_.Add(other.finishNums_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          DialogId = input.ReadInt32();
          break;
        }
        case 18:
        case 16: {
          optionIds_.AddEntriesFrom(input, _repeated_optionIds_codec);
          break;
        }
        case 26:
        case 24: {
          finishNums_.AddEntriesFrom(input, _repeated_finishNums_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScFinishDialog : pb::IMessage<ScFinishDialog> {
  private static readonly pb::MessageParser<ScFinishDialog> _parser = new pb::MessageParser<ScFinishDialog>(() => new ScFinishDialog());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScFinishDialog> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[325]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFinishDialog() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFinishDialog(ScFinishDialog other) : this() {
    dialogId_ = other.dialogId_;
    optionIds_ = other.optionIds_.Clone();
    finishNums_ = other.finishNums_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFinishDialog Clone() {
    return new ScFinishDialog(this);
  }

  /// <summary>Field number for the "dialog_id" field.</summary>
  public const int DialogIdFieldNumber = 1;
  private int dialogId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int DialogId {
    get { return dialogId_; }
    set {
      dialogId_ = value;
    }
  }

  /// <summary>Field number for the "option_ids" field.</summary>
  public const int OptionIdsFieldNumber = 2;
  private static readonly pb::FieldCodec<int> _repeated_optionIds_codec
      = pb::FieldCodec.ForInt32(18);
  private readonly pbc::RepeatedField<int> optionIds_ = new pbc::RepeatedField<int>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<int> OptionIds {
    get { return optionIds_; }
  }

  /// <summary>Field number for the "finish_nums" field.</summary>
  public const int FinishNumsFieldNumber = 3;
  private static readonly pb::FieldCodec<int> _repeated_finishNums_codec
      = pb::FieldCodec.ForInt32(26);
  private readonly pbc::RepeatedField<int> finishNums_ = new pbc::RepeatedField<int>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<int> FinishNums {
    get { return finishNums_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScFinishDialog);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScFinishDialog other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (DialogId != other.DialogId) return false;
    if(!optionIds_.Equals(other.optionIds_)) return false;
    if(!finishNums_.Equals(other.finishNums_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (DialogId != 0) hash ^= DialogId.GetHashCode();
    hash ^= optionIds_.GetHashCode();
    hash ^= finishNums_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (DialogId != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(DialogId);
    }
    optionIds_.WriteTo(output, _repeated_optionIds_codec);
    finishNums_.WriteTo(output, _repeated_finishNums_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (DialogId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(DialogId);
    }
    size += optionIds_.CalculateSize(_repeated_optionIds_codec);
    size += finishNums_.CalculateSize(_repeated_finishNums_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScFinishDialog other) {
    if (other == null) {
      return;
    }
    if (other.DialogId != 0) {
      DialogId = other.DialogId;
    }
    optionIds_.Add(other.optionIds_);
    finishNums_.Add(other.finishNums_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          DialogId = input.ReadInt32();
          break;
        }
        case 18:
        case 16: {
          optionIds_.AddEntriesFrom(input, _repeated_optionIds_codec);
          break;
        }
        case 26:
        case 24: {
          finishNums_.AddEntriesFrom(input, _repeated_finishNums_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScSyncAllDialog : pb::IMessage<ScSyncAllDialog> {
  private static readonly pb::MessageParser<ScSyncAllDialog> _parser = new pb::MessageParser<ScSyncAllDialog>(() => new ScSyncAllDialog());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSyncAllDialog> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[326]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncAllDialog() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncAllDialog(ScSyncAllDialog other) : this() {
    dialogList_ = other.dialogList_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncAllDialog Clone() {
    return new ScSyncAllDialog(this);
  }

  /// <summary>Field number for the "dialog_list" field.</summary>
  public const int DialogListFieldNumber = 1;
  private static readonly pb::FieldCodec<global::Dialog> _repeated_dialogList_codec
      = pb::FieldCodec.ForMessage(10, global::Dialog.Parser);
  private readonly pbc::RepeatedField<global::Dialog> dialogList_ = new pbc::RepeatedField<global::Dialog>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::Dialog> DialogList {
    get { return dialogList_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSyncAllDialog);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSyncAllDialog other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!dialogList_.Equals(other.dialogList_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= dialogList_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    dialogList_.WriteTo(output, _repeated_dialogList_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += dialogList_.CalculateSize(_repeated_dialogList_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSyncAllDialog other) {
    if (other == null) {
      return;
    }
    dialogList_.Add(other.dialogList_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          dialogList_.AddEntriesFrom(input, _repeated_dialogList_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class CsEnterDungeon : pb::IMessage<CsEnterDungeon> {
  private static readonly pb::MessageParser<CsEnterDungeon> _parser = new pb::MessageParser<CsEnterDungeon>(() => new CsEnterDungeon());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsEnterDungeon> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[327]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsEnterDungeon() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsEnterDungeon(CsEnterDungeon other) : this() {
    charTeam_ = other.charTeam_.Clone();
    dungeonId_ = other.dungeonId_;
    racingParam_ = other.racingParam_ != null ? other.racingParam_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsEnterDungeon Clone() {
    return new CsEnterDungeon(this);
  }

  /// <summary>Field number for the "char_team" field.</summary>
  public const int CharTeamFieldNumber = 1;
  private static readonly pb::FieldCodec<global::TeamCharId> _repeated_charTeam_codec
      = pb::FieldCodec.ForMessage(10, global::TeamCharId.Parser);
  private readonly pbc::RepeatedField<global::TeamCharId> charTeam_ = new pbc::RepeatedField<global::TeamCharId>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::TeamCharId> CharTeam {
    get { return charTeam_; }
  }

  /// <summary>Field number for the "dungeon_id" field.</summary>
  public const int DungeonIdFieldNumber = 2;
  private string dungeonId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string DungeonId {
    get { return dungeonId_; }
    set {
      dungeonId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "racing_param" field.</summary>
  public const int RacingParamFieldNumber = 10;
  private global::EnterRacingDungeonParam racingParam_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::EnterRacingDungeonParam RacingParam {
    get { return racingParam_; }
    set {
      racingParam_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsEnterDungeon);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsEnterDungeon other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!charTeam_.Equals(other.charTeam_)) return false;
    if (DungeonId != other.DungeonId) return false;
    if (!object.Equals(RacingParam, other.RacingParam)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= charTeam_.GetHashCode();
    if (DungeonId.Length != 0) hash ^= DungeonId.GetHashCode();
    if (racingParam_ != null) hash ^= RacingParam.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    charTeam_.WriteTo(output, _repeated_charTeam_codec);
    if (DungeonId.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(DungeonId);
    }
    if (racingParam_ != null) {
      output.WriteRawTag(82);
      output.WriteMessage(RacingParam);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += charTeam_.CalculateSize(_repeated_charTeam_codec);
    if (DungeonId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(DungeonId);
    }
    if (racingParam_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(RacingParam);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsEnterDungeon other) {
    if (other == null) {
      return;
    }
    charTeam_.Add(other.charTeam_);
    if (other.DungeonId.Length != 0) {
      DungeonId = other.DungeonId;
    }
    if (other.racingParam_ != null) {
      if (racingParam_ == null) {
        racingParam_ = new global::EnterRacingDungeonParam();
      }
      RacingParam.MergeFrom(other.RacingParam);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          charTeam_.AddEntriesFrom(input, _repeated_charTeam_codec);
          break;
        }
        case 18: {
          DungeonId = input.ReadString();
          break;
        }
        case 82: {
          if (racingParam_ == null) {
            racingParam_ = new global::EnterRacingDungeonParam();
          }
          input.ReadMessage(racingParam_);
          break;
        }
      }
    }
  }

}

public sealed partial class EnterRacingDungeonParam : pb::IMessage<EnterRacingDungeonParam> {
  private static readonly pb::MessageParser<EnterRacingDungeonParam> _parser = new pb::MessageParser<EnterRacingDungeonParam>(() => new EnterRacingDungeonParam());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<EnterRacingDungeonParam> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[328]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public EnterRacingDungeonParam() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public EnterRacingDungeonParam(EnterRacingDungeonParam other) : this() {
    level_ = other.level_;
    tacticsId_ = other.tacticsId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public EnterRacingDungeonParam Clone() {
    return new EnterRacingDungeonParam(this);
  }

  /// <summary>Field number for the "level" field.</summary>
  public const int LevelFieldNumber = 1;
  private int level_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Level {
    get { return level_; }
    set {
      level_ = value;
    }
  }

  /// <summary>Field number for the "tactics_id" field.</summary>
  public const int TacticsIdFieldNumber = 2;
  private string tacticsId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string TacticsId {
    get { return tacticsId_; }
    set {
      tacticsId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as EnterRacingDungeonParam);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(EnterRacingDungeonParam other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Level != other.Level) return false;
    if (TacticsId != other.TacticsId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Level != 0) hash ^= Level.GetHashCode();
    if (TacticsId.Length != 0) hash ^= TacticsId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Level != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(Level);
    }
    if (TacticsId.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(TacticsId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Level != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Level);
    }
    if (TacticsId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(TacticsId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(EnterRacingDungeonParam other) {
    if (other == null) {
      return;
    }
    if (other.Level != 0) {
      Level = other.Level;
    }
    if (other.TacticsId.Length != 0) {
      TacticsId = other.TacticsId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Level = input.ReadInt32();
          break;
        }
        case 18: {
          TacticsId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class CsEnterTrainDungeon : pb::IMessage<CsEnterTrainDungeon> {
  private static readonly pb::MessageParser<CsEnterTrainDungeon> _parser = new pb::MessageParser<CsEnterTrainDungeon>(() => new CsEnterTrainDungeon());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsEnterTrainDungeon> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[329]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsEnterTrainDungeon() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsEnterTrainDungeon(CsEnterTrainDungeon other) : this() {
    charTeam_ = other.charTeam_.Clone();
    dungeonId_ = other.dungeonId_;
    racingParam_ = other.racingParam_ != null ? other.racingParam_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsEnterTrainDungeon Clone() {
    return new CsEnterTrainDungeon(this);
  }

  /// <summary>Field number for the "char_team" field.</summary>
  public const int CharTeamFieldNumber = 1;
  private static readonly pb::FieldCodec<global::TeamCharId> _repeated_charTeam_codec
      = pb::FieldCodec.ForMessage(10, global::TeamCharId.Parser);
  private readonly pbc::RepeatedField<global::TeamCharId> charTeam_ = new pbc::RepeatedField<global::TeamCharId>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::TeamCharId> CharTeam {
    get { return charTeam_; }
  }

  /// <summary>Field number for the "dungeon_id" field.</summary>
  public const int DungeonIdFieldNumber = 2;
  private string dungeonId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string DungeonId {
    get { return dungeonId_; }
    set {
      dungeonId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "racing_param" field.</summary>
  public const int RacingParamFieldNumber = 10;
  private global::EnterRacingDungeonParam racingParam_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::EnterRacingDungeonParam RacingParam {
    get { return racingParam_; }
    set {
      racingParam_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsEnterTrainDungeon);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsEnterTrainDungeon other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!charTeam_.Equals(other.charTeam_)) return false;
    if (DungeonId != other.DungeonId) return false;
    if (!object.Equals(RacingParam, other.RacingParam)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= charTeam_.GetHashCode();
    if (DungeonId.Length != 0) hash ^= DungeonId.GetHashCode();
    if (racingParam_ != null) hash ^= RacingParam.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    charTeam_.WriteTo(output, _repeated_charTeam_codec);
    if (DungeonId.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(DungeonId);
    }
    if (racingParam_ != null) {
      output.WriteRawTag(82);
      output.WriteMessage(RacingParam);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += charTeam_.CalculateSize(_repeated_charTeam_codec);
    if (DungeonId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(DungeonId);
    }
    if (racingParam_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(RacingParam);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsEnterTrainDungeon other) {
    if (other == null) {
      return;
    }
    charTeam_.Add(other.charTeam_);
    if (other.DungeonId.Length != 0) {
      DungeonId = other.DungeonId;
    }
    if (other.racingParam_ != null) {
      if (racingParam_ == null) {
        racingParam_ = new global::EnterRacingDungeonParam();
      }
      RacingParam.MergeFrom(other.RacingParam);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          charTeam_.AddEntriesFrom(input, _repeated_charTeam_codec);
          break;
        }
        case 18: {
          DungeonId = input.ReadString();
          break;
        }
        case 82: {
          if (racingParam_ == null) {
            racingParam_ = new global::EnterRacingDungeonParam();
          }
          input.ReadMessage(racingParam_);
          break;
        }
      }
    }
  }

}

public sealed partial class CsRestartDungeon : pb::IMessage<CsRestartDungeon> {
  private static readonly pb::MessageParser<CsRestartDungeon> _parser = new pb::MessageParser<CsRestartDungeon>(() => new CsRestartDungeon());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsRestartDungeon> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[330]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsRestartDungeon() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsRestartDungeon(CsRestartDungeon other) : this() {
    dungeonId_ = other.dungeonId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsRestartDungeon Clone() {
    return new CsRestartDungeon(this);
  }

  /// <summary>Field number for the "dungeon_id" field.</summary>
  public const int DungeonIdFieldNumber = 1;
  private string dungeonId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string DungeonId {
    get { return dungeonId_; }
    set {
      dungeonId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsRestartDungeon);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsRestartDungeon other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (DungeonId != other.DungeonId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (DungeonId.Length != 0) hash ^= DungeonId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (DungeonId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(DungeonId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (DungeonId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(DungeonId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsRestartDungeon other) {
    if (other == null) {
      return;
    }
    if (other.DungeonId.Length != 0) {
      DungeonId = other.DungeonId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          DungeonId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class CsLeaveDungeon : pb::IMessage<CsLeaveDungeon> {
  private static readonly pb::MessageParser<CsLeaveDungeon> _parser = new pb::MessageParser<CsLeaveDungeon>(() => new CsLeaveDungeon());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsLeaveDungeon> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[331]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsLeaveDungeon() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsLeaveDungeon(CsLeaveDungeon other) : this() {
    dungeonId_ = other.dungeonId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsLeaveDungeon Clone() {
    return new CsLeaveDungeon(this);
  }

  /// <summary>Field number for the "dungeon_id" field.</summary>
  public const int DungeonIdFieldNumber = 1;
  private string dungeonId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string DungeonId {
    get { return dungeonId_; }
    set {
      dungeonId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsLeaveDungeon);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsLeaveDungeon other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (DungeonId != other.DungeonId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (DungeonId.Length != 0) hash ^= DungeonId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (DungeonId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(DungeonId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (DungeonId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(DungeonId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsLeaveDungeon other) {
    if (other == null) {
      return;
    }
    if (other.DungeonId.Length != 0) {
      DungeonId = other.DungeonId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          DungeonId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class CsDungeonRecoverAp : pb::IMessage<CsDungeonRecoverAp> {
  private static readonly pb::MessageParser<CsDungeonRecoverAp> _parser = new pb::MessageParser<CsDungeonRecoverAp>(() => new CsDungeonRecoverAp());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsDungeonRecoverAp> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[332]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsDungeonRecoverAp() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsDungeonRecoverAp(CsDungeonRecoverAp other) : this() {
    items_ = other.items_.Clone();
    useMoney_ = other.useMoney_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsDungeonRecoverAp Clone() {
    return new CsDungeonRecoverAp(this);
  }

  /// <summary>Field number for the "items" field.</summary>
  public const int ItemsFieldNumber = 1;
  private static readonly pb::FieldCodec<global::ItemBundle> _repeated_items_codec
      = pb::FieldCodec.ForMessage(10, global::ItemBundle.Parser);
  private readonly pbc::RepeatedField<global::ItemBundle> items_ = new pbc::RepeatedField<global::ItemBundle>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ItemBundle> Items {
    get { return items_; }
  }

  /// <summary>Field number for the "use_money" field.</summary>
  public const int UseMoneyFieldNumber = 2;
  private bool useMoney_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool UseMoney {
    get { return useMoney_; }
    set {
      useMoney_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsDungeonRecoverAp);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsDungeonRecoverAp other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!items_.Equals(other.items_)) return false;
    if (UseMoney != other.UseMoney) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= items_.GetHashCode();
    if (UseMoney != false) hash ^= UseMoney.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    items_.WriteTo(output, _repeated_items_codec);
    if (UseMoney != false) {
      output.WriteRawTag(16);
      output.WriteBool(UseMoney);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += items_.CalculateSize(_repeated_items_codec);
    if (UseMoney != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsDungeonRecoverAp other) {
    if (other == null) {
      return;
    }
    items_.Add(other.items_);
    if (other.UseMoney != false) {
      UseMoney = other.UseMoney;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          items_.AddEntriesFrom(input, _repeated_items_codec);
          break;
        }
        case 16: {
          UseMoney = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class CsDungeonTouchEntrance : pb::IMessage<CsDungeonTouchEntrance> {
  private static readonly pb::MessageParser<CsDungeonTouchEntrance> _parser = new pb::MessageParser<CsDungeonTouchEntrance>(() => new CsDungeonTouchEntrance());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsDungeonTouchEntrance> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[333]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsDungeonTouchEntrance() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsDungeonTouchEntrance(CsDungeonTouchEntrance other) : this() {
    dungeonSeriesId_ = other.dungeonSeriesId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsDungeonTouchEntrance Clone() {
    return new CsDungeonTouchEntrance(this);
  }

  /// <summary>Field number for the "dungeon_series_id" field.</summary>
  public const int DungeonSeriesIdFieldNumber = 1;
  private string dungeonSeriesId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string DungeonSeriesId {
    get { return dungeonSeriesId_; }
    set {
      dungeonSeriesId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsDungeonTouchEntrance);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsDungeonTouchEntrance other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (DungeonSeriesId != other.DungeonSeriesId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (DungeonSeriesId.Length != 0) hash ^= DungeonSeriesId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (DungeonSeriesId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(DungeonSeriesId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (DungeonSeriesId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(DungeonSeriesId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsDungeonTouchEntrance other) {
    if (other == null) {
      return;
    }
    if (other.DungeonSeriesId.Length != 0) {
      DungeonSeriesId = other.DungeonSeriesId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          DungeonSeriesId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class ScEnterDungeon : pb::IMessage<ScEnterDungeon> {
  private static readonly pb::MessageParser<ScEnterDungeon> _parser = new pb::MessageParser<ScEnterDungeon>(() => new ScEnterDungeon());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScEnterDungeon> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[334]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScEnterDungeon() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScEnterDungeon(ScEnterDungeon other) : this() {
    dungeonId_ = other.dungeonId_;
    sceneId_ = other.sceneId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScEnterDungeon Clone() {
    return new ScEnterDungeon(this);
  }

  /// <summary>Field number for the "dungeon_id" field.</summary>
  public const int DungeonIdFieldNumber = 3;
  private string dungeonId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string DungeonId {
    get { return dungeonId_; }
    set {
      dungeonId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "scene_id" field.</summary>
  public const int SceneIdFieldNumber = 4;
  private string sceneId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string SceneId {
    get { return sceneId_; }
    set {
      sceneId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScEnterDungeon);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScEnterDungeon other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (DungeonId != other.DungeonId) return false;
    if (SceneId != other.SceneId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (DungeonId.Length != 0) hash ^= DungeonId.GetHashCode();
    if (SceneId.Length != 0) hash ^= SceneId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (DungeonId.Length != 0) {
      output.WriteRawTag(26);
      output.WriteString(DungeonId);
    }
    if (SceneId.Length != 0) {
      output.WriteRawTag(34);
      output.WriteString(SceneId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (DungeonId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(DungeonId);
    }
    if (SceneId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(SceneId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScEnterDungeon other) {
    if (other == null) {
      return;
    }
    if (other.DungeonId.Length != 0) {
      DungeonId = other.DungeonId;
    }
    if (other.SceneId.Length != 0) {
      SceneId = other.SceneId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 26: {
          DungeonId = input.ReadString();
          break;
        }
        case 34: {
          SceneId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class ScRestartDungeon : pb::IMessage<ScRestartDungeon> {
  private static readonly pb::MessageParser<ScRestartDungeon> _parser = new pb::MessageParser<ScRestartDungeon>(() => new ScRestartDungeon());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScRestartDungeon> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[335]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScRestartDungeon() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScRestartDungeon(ScRestartDungeon other) : this() {
    dungeonId_ = other.dungeonId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScRestartDungeon Clone() {
    return new ScRestartDungeon(this);
  }

  /// <summary>Field number for the "dungeon_id" field.</summary>
  public const int DungeonIdFieldNumber = 1;
  private string dungeonId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string DungeonId {
    get { return dungeonId_; }
    set {
      dungeonId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScRestartDungeon);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScRestartDungeon other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (DungeonId != other.DungeonId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (DungeonId.Length != 0) hash ^= DungeonId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (DungeonId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(DungeonId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (DungeonId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(DungeonId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScRestartDungeon other) {
    if (other == null) {
      return;
    }
    if (other.DungeonId.Length != 0) {
      DungeonId = other.DungeonId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          DungeonId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class ScLeaveDungeon : pb::IMessage<ScLeaveDungeon> {
  private static readonly pb::MessageParser<ScLeaveDungeon> _parser = new pb::MessageParser<ScLeaveDungeon>(() => new ScLeaveDungeon());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScLeaveDungeon> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[336]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScLeaveDungeon() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScLeaveDungeon(ScLeaveDungeon other) : this() {
    dungeonId_ = other.dungeonId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScLeaveDungeon Clone() {
    return new ScLeaveDungeon(this);
  }

  /// <summary>Field number for the "dungeon_id" field.</summary>
  public const int DungeonIdFieldNumber = 1;
  private string dungeonId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string DungeonId {
    get { return dungeonId_; }
    set {
      dungeonId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScLeaveDungeon);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScLeaveDungeon other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (DungeonId != other.DungeonId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (DungeonId.Length != 0) hash ^= DungeonId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (DungeonId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(DungeonId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (DungeonId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(DungeonId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScLeaveDungeon other) {
    if (other == null) {
      return;
    }
    if (other.DungeonId.Length != 0) {
      DungeonId = other.DungeonId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          DungeonId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class ScSyncStamina : pb::IMessage<ScSyncStamina> {
  private static readonly pb::MessageParser<ScSyncStamina> _parser = new pb::MessageParser<ScSyncStamina>(() => new ScSyncStamina());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSyncStamina> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[337]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncStamina() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncStamina(ScSyncStamina other) : this() {
    curStamina_ = other.curStamina_;
    maxStamina_ = other.maxStamina_;
    nextRecoverTime_ = other.nextRecoverTime_;
    delta_ = other.delta_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncStamina Clone() {
    return new ScSyncStamina(this);
  }

  /// <summary>Field number for the "cur_stamina" field.</summary>
  public const int CurStaminaFieldNumber = 1;
  private uint curStamina_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint CurStamina {
    get { return curStamina_; }
    set {
      curStamina_ = value;
    }
  }

  /// <summary>Field number for the "max_stamina" field.</summary>
  public const int MaxStaminaFieldNumber = 2;
  private uint maxStamina_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint MaxStamina {
    get { return maxStamina_; }
    set {
      maxStamina_ = value;
    }
  }

  /// <summary>Field number for the "next_recover_time" field.</summary>
  public const int NextRecoverTimeFieldNumber = 3;
  private long nextRecoverTime_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long NextRecoverTime {
    get { return nextRecoverTime_; }
    set {
      nextRecoverTime_ = value;
    }
  }

  /// <summary>Field number for the "delta" field.</summary>
  public const int DeltaFieldNumber = 4;
  private int delta_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Delta {
    get { return delta_; }
    set {
      delta_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSyncStamina);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSyncStamina other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (CurStamina != other.CurStamina) return false;
    if (MaxStamina != other.MaxStamina) return false;
    if (NextRecoverTime != other.NextRecoverTime) return false;
    if (Delta != other.Delta) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (CurStamina != 0) hash ^= CurStamina.GetHashCode();
    if (MaxStamina != 0) hash ^= MaxStamina.GetHashCode();
    if (NextRecoverTime != 0L) hash ^= NextRecoverTime.GetHashCode();
    if (Delta != 0) hash ^= Delta.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (CurStamina != 0) {
      output.WriteRawTag(8);
      output.WriteUInt32(CurStamina);
    }
    if (MaxStamina != 0) {
      output.WriteRawTag(16);
      output.WriteUInt32(MaxStamina);
    }
    if (NextRecoverTime != 0L) {
      output.WriteRawTag(24);
      output.WriteInt64(NextRecoverTime);
    }
    if (Delta != 0) {
      output.WriteRawTag(32);
      output.WriteInt32(Delta);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (CurStamina != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(CurStamina);
    }
    if (MaxStamina != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(MaxStamina);
    }
    if (NextRecoverTime != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(NextRecoverTime);
    }
    if (Delta != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Delta);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSyncStamina other) {
    if (other == null) {
      return;
    }
    if (other.CurStamina != 0) {
      CurStamina = other.CurStamina;
    }
    if (other.MaxStamina != 0) {
      MaxStamina = other.MaxStamina;
    }
    if (other.NextRecoverTime != 0L) {
      NextRecoverTime = other.NextRecoverTime;
    }
    if (other.Delta != 0) {
      Delta = other.Delta;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          CurStamina = input.ReadUInt32();
          break;
        }
        case 16: {
          MaxStamina = input.ReadUInt32();
          break;
        }
        case 24: {
          NextRecoverTime = input.ReadInt64();
          break;
        }
        case 32: {
          Delta = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScSyncFullDungeonStatus : pb::IMessage<ScSyncFullDungeonStatus> {
  private static readonly pb::MessageParser<ScSyncFullDungeonStatus> _parser = new pb::MessageParser<ScSyncFullDungeonStatus>(() => new ScSyncFullDungeonStatus());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSyncFullDungeonStatus> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[338]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncFullDungeonStatus() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncFullDungeonStatus(ScSyncFullDungeonStatus other) : this() {
    curStamina_ = other.curStamina_;
    maxStamina_ = other.maxStamina_;
    nextRecoverTime_ = other.nextRecoverTime_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncFullDungeonStatus Clone() {
    return new ScSyncFullDungeonStatus(this);
  }

  /// <summary>Field number for the "cur_stamina" field.</summary>
  public const int CurStaminaFieldNumber = 1;
  private uint curStamina_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint CurStamina {
    get { return curStamina_; }
    set {
      curStamina_ = value;
    }
  }

  /// <summary>Field number for the "max_stamina" field.</summary>
  public const int MaxStaminaFieldNumber = 2;
  private uint maxStamina_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint MaxStamina {
    get { return maxStamina_; }
    set {
      maxStamina_ = value;
    }
  }

  /// <summary>Field number for the "next_recover_time" field.</summary>
  public const int NextRecoverTimeFieldNumber = 3;
  private long nextRecoverTime_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long NextRecoverTime {
    get { return nextRecoverTime_; }
    set {
      nextRecoverTime_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSyncFullDungeonStatus);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSyncFullDungeonStatus other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (CurStamina != other.CurStamina) return false;
    if (MaxStamina != other.MaxStamina) return false;
    if (NextRecoverTime != other.NextRecoverTime) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (CurStamina != 0) hash ^= CurStamina.GetHashCode();
    if (MaxStamina != 0) hash ^= MaxStamina.GetHashCode();
    if (NextRecoverTime != 0L) hash ^= NextRecoverTime.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (CurStamina != 0) {
      output.WriteRawTag(8);
      output.WriteUInt32(CurStamina);
    }
    if (MaxStamina != 0) {
      output.WriteRawTag(16);
      output.WriteUInt32(MaxStamina);
    }
    if (NextRecoverTime != 0L) {
      output.WriteRawTag(24);
      output.WriteInt64(NextRecoverTime);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (CurStamina != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(CurStamina);
    }
    if (MaxStamina != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(MaxStamina);
    }
    if (NextRecoverTime != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(NextRecoverTime);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSyncFullDungeonStatus other) {
    if (other == null) {
      return;
    }
    if (other.CurStamina != 0) {
      CurStamina = other.CurStamina;
    }
    if (other.MaxStamina != 0) {
      MaxStamina = other.MaxStamina;
    }
    if (other.NextRecoverTime != 0L) {
      NextRecoverTime = other.NextRecoverTime;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          CurStamina = input.ReadUInt32();
          break;
        }
        case 16: {
          MaxStamina = input.ReadUInt32();
          break;
        }
        case 24: {
          NextRecoverTime = input.ReadInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class CsEquipPuton : pb::IMessage<CsEquipPuton> {
  private static readonly pb::MessageParser<CsEquipPuton> _parser = new pb::MessageParser<CsEquipPuton>(() => new CsEquipPuton());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsEquipPuton> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[339]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsEquipPuton() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsEquipPuton(CsEquipPuton other) : this() {
    charid_ = other.charid_;
    slotid_ = other.slotid_;
    equipid_ = other.equipid_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsEquipPuton Clone() {
    return new CsEquipPuton(this);
  }

  /// <summary>Field number for the "charid" field.</summary>
  public const int CharidFieldNumber = 1;
  private ulong charid_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong Charid {
    get { return charid_; }
    set {
      charid_ = value;
    }
  }

  /// <summary>Field number for the "slotid" field.</summary>
  public const int SlotidFieldNumber = 2;
  private int slotid_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Slotid {
    get { return slotid_; }
    set {
      slotid_ = value;
    }
  }

  /// <summary>Field number for the "equipid" field.</summary>
  public const int EquipidFieldNumber = 3;
  private ulong equipid_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong Equipid {
    get { return equipid_; }
    set {
      equipid_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsEquipPuton);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsEquipPuton other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Charid != other.Charid) return false;
    if (Slotid != other.Slotid) return false;
    if (Equipid != other.Equipid) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Charid != 0UL) hash ^= Charid.GetHashCode();
    if (Slotid != 0) hash ^= Slotid.GetHashCode();
    if (Equipid != 0UL) hash ^= Equipid.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Charid != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(Charid);
    }
    if (Slotid != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(Slotid);
    }
    if (Equipid != 0UL) {
      output.WriteRawTag(24);
      output.WriteUInt64(Equipid);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Charid != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(Charid);
    }
    if (Slotid != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Slotid);
    }
    if (Equipid != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(Equipid);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsEquipPuton other) {
    if (other == null) {
      return;
    }
    if (other.Charid != 0UL) {
      Charid = other.Charid;
    }
    if (other.Slotid != 0) {
      Slotid = other.Slotid;
    }
    if (other.Equipid != 0UL) {
      Equipid = other.Equipid;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Charid = input.ReadUInt64();
          break;
        }
        case 16: {
          Slotid = input.ReadInt32();
          break;
        }
        case 24: {
          Equipid = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class ScEquipPuton : pb::IMessage<ScEquipPuton> {
  private static readonly pb::MessageParser<ScEquipPuton> _parser = new pb::MessageParser<ScEquipPuton>(() => new ScEquipPuton());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScEquipPuton> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[340]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScEquipPuton() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScEquipPuton(ScEquipPuton other) : this() {
    charid_ = other.charid_;
    slotid_ = other.slotid_;
    equipid_ = other.equipid_;
    suitinfo_ = other.suitinfo_.Clone();
    putOffCharid_ = other.putOffCharid_;
    oldOwnerSuitinfo_ = other.oldOwnerSuitinfo_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScEquipPuton Clone() {
    return new ScEquipPuton(this);
  }

  /// <summary>Field number for the "charid" field.</summary>
  public const int CharidFieldNumber = 1;
  private ulong charid_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong Charid {
    get { return charid_; }
    set {
      charid_ = value;
    }
  }

  /// <summary>Field number for the "slotid" field.</summary>
  public const int SlotidFieldNumber = 2;
  private int slotid_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Slotid {
    get { return slotid_; }
    set {
      slotid_ = value;
    }
  }

  /// <summary>Field number for the "equipid" field.</summary>
  public const int EquipidFieldNumber = 3;
  private ulong equipid_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong Equipid {
    get { return equipid_; }
    set {
      equipid_ = value;
    }
  }

  /// <summary>Field number for the "suitinfo" field.</summary>
  public const int SuitinfoFieldNumber = 4;
  private static readonly pbc::MapField<string, int>.Codec _map_suitinfo_codec
      = new pbc::MapField<string, int>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForInt32(16), 34);
  private readonly pbc::MapField<string, int> suitinfo_ = new pbc::MapField<string, int>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<string, int> Suitinfo {
    get { return suitinfo_; }
  }

  /// <summary>Field number for the "put_off_charid" field.</summary>
  public const int PutOffCharidFieldNumber = 5;
  private ulong putOffCharid_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong PutOffCharid {
    get { return putOffCharid_; }
    set {
      putOffCharid_ = value;
    }
  }

  /// <summary>Field number for the "old_owner_suitinfo" field.</summary>
  public const int OldOwnerSuitinfoFieldNumber = 6;
  private static readonly pbc::MapField<string, int>.Codec _map_oldOwnerSuitinfo_codec
      = new pbc::MapField<string, int>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForInt32(16), 50);
  private readonly pbc::MapField<string, int> oldOwnerSuitinfo_ = new pbc::MapField<string, int>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<string, int> OldOwnerSuitinfo {
    get { return oldOwnerSuitinfo_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScEquipPuton);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScEquipPuton other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Charid != other.Charid) return false;
    if (Slotid != other.Slotid) return false;
    if (Equipid != other.Equipid) return false;
    if (!Suitinfo.Equals(other.Suitinfo)) return false;
    if (PutOffCharid != other.PutOffCharid) return false;
    if (!OldOwnerSuitinfo.Equals(other.OldOwnerSuitinfo)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Charid != 0UL) hash ^= Charid.GetHashCode();
    if (Slotid != 0) hash ^= Slotid.GetHashCode();
    if (Equipid != 0UL) hash ^= Equipid.GetHashCode();
    hash ^= Suitinfo.GetHashCode();
    if (PutOffCharid != 0UL) hash ^= PutOffCharid.GetHashCode();
    hash ^= OldOwnerSuitinfo.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Charid != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(Charid);
    }
    if (Slotid != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(Slotid);
    }
    if (Equipid != 0UL) {
      output.WriteRawTag(24);
      output.WriteUInt64(Equipid);
    }
    suitinfo_.WriteTo(output, _map_suitinfo_codec);
    if (PutOffCharid != 0UL) {
      output.WriteRawTag(40);
      output.WriteUInt64(PutOffCharid);
    }
    oldOwnerSuitinfo_.WriteTo(output, _map_oldOwnerSuitinfo_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Charid != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(Charid);
    }
    if (Slotid != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Slotid);
    }
    if (Equipid != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(Equipid);
    }
    size += suitinfo_.CalculateSize(_map_suitinfo_codec);
    if (PutOffCharid != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(PutOffCharid);
    }
    size += oldOwnerSuitinfo_.CalculateSize(_map_oldOwnerSuitinfo_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScEquipPuton other) {
    if (other == null) {
      return;
    }
    if (other.Charid != 0UL) {
      Charid = other.Charid;
    }
    if (other.Slotid != 0) {
      Slotid = other.Slotid;
    }
    if (other.Equipid != 0UL) {
      Equipid = other.Equipid;
    }
    suitinfo_.Add(other.suitinfo_);
    if (other.PutOffCharid != 0UL) {
      PutOffCharid = other.PutOffCharid;
    }
    oldOwnerSuitinfo_.Add(other.oldOwnerSuitinfo_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Charid = input.ReadUInt64();
          break;
        }
        case 16: {
          Slotid = input.ReadInt32();
          break;
        }
        case 24: {
          Equipid = input.ReadUInt64();
          break;
        }
        case 34: {
          suitinfo_.AddEntriesFrom(input, _map_suitinfo_codec);
          break;
        }
        case 40: {
          PutOffCharid = input.ReadUInt64();
          break;
        }
        case 50: {
          oldOwnerSuitinfo_.AddEntriesFrom(input, _map_oldOwnerSuitinfo_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class CsEquipPutoff : pb::IMessage<CsEquipPutoff> {
  private static readonly pb::MessageParser<CsEquipPutoff> _parser = new pb::MessageParser<CsEquipPutoff>(() => new CsEquipPutoff());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsEquipPutoff> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[341]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsEquipPutoff() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsEquipPutoff(CsEquipPutoff other) : this() {
    charid_ = other.charid_;
    slotid_ = other.slotid_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsEquipPutoff Clone() {
    return new CsEquipPutoff(this);
  }

  /// <summary>Field number for the "charid" field.</summary>
  public const int CharidFieldNumber = 1;
  private ulong charid_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong Charid {
    get { return charid_; }
    set {
      charid_ = value;
    }
  }

  /// <summary>Field number for the "slotid" field.</summary>
  public const int SlotidFieldNumber = 2;
  private int slotid_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Slotid {
    get { return slotid_; }
    set {
      slotid_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsEquipPutoff);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsEquipPutoff other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Charid != other.Charid) return false;
    if (Slotid != other.Slotid) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Charid != 0UL) hash ^= Charid.GetHashCode();
    if (Slotid != 0) hash ^= Slotid.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Charid != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(Charid);
    }
    if (Slotid != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(Slotid);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Charid != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(Charid);
    }
    if (Slotid != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Slotid);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsEquipPutoff other) {
    if (other == null) {
      return;
    }
    if (other.Charid != 0UL) {
      Charid = other.Charid;
    }
    if (other.Slotid != 0) {
      Slotid = other.Slotid;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Charid = input.ReadUInt64();
          break;
        }
        case 16: {
          Slotid = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScEquipPutoff : pb::IMessage<ScEquipPutoff> {
  private static readonly pb::MessageParser<ScEquipPutoff> _parser = new pb::MessageParser<ScEquipPutoff>(() => new ScEquipPutoff());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScEquipPutoff> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[342]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScEquipPutoff() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScEquipPutoff(ScEquipPutoff other) : this() {
    charid_ = other.charid_;
    slotid_ = other.slotid_;
    suitinfo_ = other.suitinfo_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScEquipPutoff Clone() {
    return new ScEquipPutoff(this);
  }

  /// <summary>Field number for the "charid" field.</summary>
  public const int CharidFieldNumber = 1;
  private ulong charid_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong Charid {
    get { return charid_; }
    set {
      charid_ = value;
    }
  }

  /// <summary>Field number for the "slotid" field.</summary>
  public const int SlotidFieldNumber = 2;
  private int slotid_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Slotid {
    get { return slotid_; }
    set {
      slotid_ = value;
    }
  }

  /// <summary>Field number for the "suitinfo" field.</summary>
  public const int SuitinfoFieldNumber = 3;
  private static readonly pbc::MapField<string, int>.Codec _map_suitinfo_codec
      = new pbc::MapField<string, int>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForInt32(16), 26);
  private readonly pbc::MapField<string, int> suitinfo_ = new pbc::MapField<string, int>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<string, int> Suitinfo {
    get { return suitinfo_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScEquipPutoff);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScEquipPutoff other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Charid != other.Charid) return false;
    if (Slotid != other.Slotid) return false;
    if (!Suitinfo.Equals(other.Suitinfo)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Charid != 0UL) hash ^= Charid.GetHashCode();
    if (Slotid != 0) hash ^= Slotid.GetHashCode();
    hash ^= Suitinfo.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Charid != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(Charid);
    }
    if (Slotid != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(Slotid);
    }
    suitinfo_.WriteTo(output, _map_suitinfo_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Charid != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(Charid);
    }
    if (Slotid != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Slotid);
    }
    size += suitinfo_.CalculateSize(_map_suitinfo_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScEquipPutoff other) {
    if (other == null) {
      return;
    }
    if (other.Charid != 0UL) {
      Charid = other.Charid;
    }
    if (other.Slotid != 0) {
      Slotid = other.Slotid;
    }
    suitinfo_.Add(other.suitinfo_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Charid = input.ReadUInt64();
          break;
        }
        case 16: {
          Slotid = input.ReadInt32();
          break;
        }
        case 26: {
          suitinfo_.AddEntriesFrom(input, _map_suitinfo_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class CsEquipMedicineModify : pb::IMessage<CsEquipMedicineModify> {
  private static readonly pb::MessageParser<CsEquipMedicineModify> _parser = new pb::MessageParser<CsEquipMedicineModify>(() => new CsEquipMedicineModify());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsEquipMedicineModify> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[343]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsEquipMedicineModify() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsEquipMedicineModify(CsEquipMedicineModify other) : this() {
    charId_ = other.charId_;
    equipMedicineId_ = other.equipMedicineId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsEquipMedicineModify Clone() {
    return new CsEquipMedicineModify(this);
  }

  /// <summary>Field number for the "char_id" field.</summary>
  public const int CharIdFieldNumber = 1;
  private ulong charId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong CharId {
    get { return charId_; }
    set {
      charId_ = value;
    }
  }

  /// <summary>Field number for the "equip_medicine_id" field.</summary>
  public const int EquipMedicineIdFieldNumber = 2;
  private int equipMedicineId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int EquipMedicineId {
    get { return equipMedicineId_; }
    set {
      equipMedicineId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsEquipMedicineModify);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsEquipMedicineModify other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (CharId != other.CharId) return false;
    if (EquipMedicineId != other.EquipMedicineId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (CharId != 0UL) hash ^= CharId.GetHashCode();
    if (EquipMedicineId != 0) hash ^= EquipMedicineId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (CharId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(CharId);
    }
    if (EquipMedicineId != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(EquipMedicineId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (CharId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(CharId);
    }
    if (EquipMedicineId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(EquipMedicineId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsEquipMedicineModify other) {
    if (other == null) {
      return;
    }
    if (other.CharId != 0UL) {
      CharId = other.CharId;
    }
    if (other.EquipMedicineId != 0) {
      EquipMedicineId = other.EquipMedicineId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          CharId = input.ReadUInt64();
          break;
        }
        case 16: {
          EquipMedicineId = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScEquipMedicineModify : pb::IMessage<ScEquipMedicineModify> {
  private static readonly pb::MessageParser<ScEquipMedicineModify> _parser = new pb::MessageParser<ScEquipMedicineModify>(() => new ScEquipMedicineModify());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScEquipMedicineModify> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[344]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScEquipMedicineModify() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScEquipMedicineModify(ScEquipMedicineModify other) : this() {
    charId_ = other.charId_;
    equipMedicineId_ = other.equipMedicineId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScEquipMedicineModify Clone() {
    return new ScEquipMedicineModify(this);
  }

  /// <summary>Field number for the "char_id" field.</summary>
  public const int CharIdFieldNumber = 1;
  private ulong charId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong CharId {
    get { return charId_; }
    set {
      charId_ = value;
    }
  }

  /// <summary>Field number for the "equip_medicine_id" field.</summary>
  public const int EquipMedicineIdFieldNumber = 2;
  private int equipMedicineId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int EquipMedicineId {
    get { return equipMedicineId_; }
    set {
      equipMedicineId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScEquipMedicineModify);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScEquipMedicineModify other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (CharId != other.CharId) return false;
    if (EquipMedicineId != other.EquipMedicineId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (CharId != 0UL) hash ^= CharId.GetHashCode();
    if (EquipMedicineId != 0) hash ^= EquipMedicineId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (CharId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(CharId);
    }
    if (EquipMedicineId != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(EquipMedicineId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (CharId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(CharId);
    }
    if (EquipMedicineId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(EquipMedicineId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScEquipMedicineModify other) {
    if (other == null) {
      return;
    }
    if (other.CharId != 0UL) {
      CharId = other.CharId;
    }
    if (other.EquipMedicineId != 0) {
      EquipMedicineId = other.EquipMedicineId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          CharId = input.ReadUInt64();
          break;
        }
        case 16: {
          EquipMedicineId = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class CsEquipRecycle : pb::IMessage<CsEquipRecycle> {
  private static readonly pb::MessageParser<CsEquipRecycle> _parser = new pb::MessageParser<CsEquipRecycle>(() => new CsEquipRecycle());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsEquipRecycle> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[345]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsEquipRecycle() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsEquipRecycle(CsEquipRecycle other) : this() {
    equipInstidList_ = other.equipInstidList_.Clone();
    scopeName_ = other.scopeName_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsEquipRecycle Clone() {
    return new CsEquipRecycle(this);
  }

  /// <summary>Field number for the "equip_instid_list" field.</summary>
  public const int EquipInstidListFieldNumber = 1;
  private static readonly pb::FieldCodec<ulong> _repeated_equipInstidList_codec
      = pb::FieldCodec.ForUInt64(10);
  private readonly pbc::RepeatedField<ulong> equipInstidList_ = new pbc::RepeatedField<ulong>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<ulong> EquipInstidList {
    get { return equipInstidList_; }
  }

  /// <summary>Field number for the "scope_name" field.</summary>
  public const int ScopeNameFieldNumber = 2;
  private int scopeName_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ScopeName {
    get { return scopeName_; }
    set {
      scopeName_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsEquipRecycle);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsEquipRecycle other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!equipInstidList_.Equals(other.equipInstidList_)) return false;
    if (ScopeName != other.ScopeName) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= equipInstidList_.GetHashCode();
    if (ScopeName != 0) hash ^= ScopeName.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    equipInstidList_.WriteTo(output, _repeated_equipInstidList_codec);
    if (ScopeName != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(ScopeName);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += equipInstidList_.CalculateSize(_repeated_equipInstidList_codec);
    if (ScopeName != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ScopeName);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsEquipRecycle other) {
    if (other == null) {
      return;
    }
    equipInstidList_.Add(other.equipInstidList_);
    if (other.ScopeName != 0) {
      ScopeName = other.ScopeName;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10:
        case 8: {
          equipInstidList_.AddEntriesFrom(input, _repeated_equipInstidList_codec);
          break;
        }
        case 16: {
          ScopeName = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScEquipRecycle : pb::IMessage<ScEquipRecycle> {
  private static readonly pb::MessageParser<ScEquipRecycle> _parser = new pb::MessageParser<ScEquipRecycle>(() => new ScEquipRecycle());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScEquipRecycle> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[346]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScEquipRecycle() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScEquipRecycle(ScEquipRecycle other) : this() {
    equipInstidList_ = other.equipInstidList_.Clone();
    itemId_ = other.itemId_.Clone();
    itemCount_ = other.itemCount_.Clone();
    scopeName_ = other.scopeName_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScEquipRecycle Clone() {
    return new ScEquipRecycle(this);
  }

  /// <summary>Field number for the "equip_instid_list" field.</summary>
  public const int EquipInstidListFieldNumber = 1;
  private static readonly pb::FieldCodec<ulong> _repeated_equipInstidList_codec
      = pb::FieldCodec.ForUInt64(10);
  private readonly pbc::RepeatedField<ulong> equipInstidList_ = new pbc::RepeatedField<ulong>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<ulong> EquipInstidList {
    get { return equipInstidList_; }
  }

  /// <summary>Field number for the "item_id" field.</summary>
  public const int ItemIdFieldNumber = 2;
  private static readonly pb::FieldCodec<string> _repeated_itemId_codec
      = pb::FieldCodec.ForString(18);
  private readonly pbc::RepeatedField<string> itemId_ = new pbc::RepeatedField<string>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<string> ItemId {
    get { return itemId_; }
  }

  /// <summary>Field number for the "item_count" field.</summary>
  public const int ItemCountFieldNumber = 3;
  private static readonly pb::FieldCodec<int> _repeated_itemCount_codec
      = pb::FieldCodec.ForInt32(26);
  private readonly pbc::RepeatedField<int> itemCount_ = new pbc::RepeatedField<int>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<int> ItemCount {
    get { return itemCount_; }
  }

  /// <summary>Field number for the "scope_name" field.</summary>
  public const int ScopeNameFieldNumber = 4;
  private int scopeName_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ScopeName {
    get { return scopeName_; }
    set {
      scopeName_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScEquipRecycle);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScEquipRecycle other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!equipInstidList_.Equals(other.equipInstidList_)) return false;
    if(!itemId_.Equals(other.itemId_)) return false;
    if(!itemCount_.Equals(other.itemCount_)) return false;
    if (ScopeName != other.ScopeName) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= equipInstidList_.GetHashCode();
    hash ^= itemId_.GetHashCode();
    hash ^= itemCount_.GetHashCode();
    if (ScopeName != 0) hash ^= ScopeName.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    equipInstidList_.WriteTo(output, _repeated_equipInstidList_codec);
    itemId_.WriteTo(output, _repeated_itemId_codec);
    itemCount_.WriteTo(output, _repeated_itemCount_codec);
    if (ScopeName != 0) {
      output.WriteRawTag(32);
      output.WriteInt32(ScopeName);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += equipInstidList_.CalculateSize(_repeated_equipInstidList_codec);
    size += itemId_.CalculateSize(_repeated_itemId_codec);
    size += itemCount_.CalculateSize(_repeated_itemCount_codec);
    if (ScopeName != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ScopeName);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScEquipRecycle other) {
    if (other == null) {
      return;
    }
    equipInstidList_.Add(other.equipInstidList_);
    itemId_.Add(other.itemId_);
    itemCount_.Add(other.itemCount_);
    if (other.ScopeName != 0) {
      ScopeName = other.ScopeName;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10:
        case 8: {
          equipInstidList_.AddEntriesFrom(input, _repeated_equipInstidList_codec);
          break;
        }
        case 18: {
          itemId_.AddEntriesFrom(input, _repeated_itemId_codec);
          break;
        }
        case 26:
        case 24: {
          itemCount_.AddEntriesFrom(input, _repeated_itemCount_codec);
          break;
        }
        case 32: {
          ScopeName = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class CsEquipEnhance : pb::IMessage<CsEquipEnhance> {
  private static readonly pb::MessageParser<CsEquipEnhance> _parser = new pb::MessageParser<CsEquipEnhance>(() => new CsEquipEnhance());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsEquipEnhance> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[347]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsEquipEnhance() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsEquipEnhance(CsEquipEnhance other) : this() {
    equipInstId_ = other.equipInstId_;
    ingredientInstId_ = other.ingredientInstId_;
    attrIndex_ = other.attrIndex_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsEquipEnhance Clone() {
    return new CsEquipEnhance(this);
  }

  /// <summary>Field number for the "equip_inst_id" field.</summary>
  public const int EquipInstIdFieldNumber = 1;
  private ulong equipInstId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong EquipInstId {
    get { return equipInstId_; }
    set {
      equipInstId_ = value;
    }
  }

  /// <summary>Field number for the "ingredient_inst_id" field.</summary>
  public const int IngredientInstIdFieldNumber = 2;
  private ulong ingredientInstId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong IngredientInstId {
    get { return ingredientInstId_; }
    set {
      ingredientInstId_ = value;
    }
  }

  /// <summary>Field number for the "attr_index" field.</summary>
  public const int AttrIndexFieldNumber = 3;
  private uint attrIndex_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint AttrIndex {
    get { return attrIndex_; }
    set {
      attrIndex_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsEquipEnhance);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsEquipEnhance other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (EquipInstId != other.EquipInstId) return false;
    if (IngredientInstId != other.IngredientInstId) return false;
    if (AttrIndex != other.AttrIndex) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (EquipInstId != 0UL) hash ^= EquipInstId.GetHashCode();
    if (IngredientInstId != 0UL) hash ^= IngredientInstId.GetHashCode();
    if (AttrIndex != 0) hash ^= AttrIndex.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (EquipInstId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(EquipInstId);
    }
    if (IngredientInstId != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(IngredientInstId);
    }
    if (AttrIndex != 0) {
      output.WriteRawTag(24);
      output.WriteUInt32(AttrIndex);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (EquipInstId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(EquipInstId);
    }
    if (IngredientInstId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(IngredientInstId);
    }
    if (AttrIndex != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(AttrIndex);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsEquipEnhance other) {
    if (other == null) {
      return;
    }
    if (other.EquipInstId != 0UL) {
      EquipInstId = other.EquipInstId;
    }
    if (other.IngredientInstId != 0UL) {
      IngredientInstId = other.IngredientInstId;
    }
    if (other.AttrIndex != 0) {
      AttrIndex = other.AttrIndex;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          EquipInstId = input.ReadUInt64();
          break;
        }
        case 16: {
          IngredientInstId = input.ReadUInt64();
          break;
        }
        case 24: {
          AttrIndex = input.ReadUInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScEquipEnhance : pb::IMessage<ScEquipEnhance> {
  private static readonly pb::MessageParser<ScEquipEnhance> _parser = new pb::MessageParser<ScEquipEnhance>(() => new ScEquipEnhance());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScEquipEnhance> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[348]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScEquipEnhance() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScEquipEnhance(ScEquipEnhance other) : this() {
    equipInstId_ = other.equipInstId_;
    enhance_ = other.enhance_.Clone();
    enhanceAttrs_ = other.enhanceAttrs_.Clone();
    baseAttr_ = other.baseAttr_ != null ? other.baseAttr_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScEquipEnhance Clone() {
    return new ScEquipEnhance(this);
  }

  /// <summary>Field number for the "equip_inst_id" field.</summary>
  public const int EquipInstIdFieldNumber = 1;
  private ulong equipInstId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong EquipInstId {
    get { return equipInstId_; }
    set {
      equipInstId_ = value;
    }
  }

  /// <summary>Field number for the "enhance" field.</summary>
  public const int EnhanceFieldNumber = 2;
  private static readonly pb::FieldCodec<uint> _repeated_enhance_codec
      = pb::FieldCodec.ForUInt32(18);
  private readonly pbc::RepeatedField<uint> enhance_ = new pbc::RepeatedField<uint>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<uint> Enhance {
    get { return enhance_; }
  }

  /// <summary>Field number for the "enhance_attrs" field.</summary>
  public const int EnhanceAttrsFieldNumber = 3;
  private static readonly pb::FieldCodec<global::EquipAttr> _repeated_enhanceAttrs_codec
      = pb::FieldCodec.ForMessage(26, global::EquipAttr.Parser);
  private readonly pbc::RepeatedField<global::EquipAttr> enhanceAttrs_ = new pbc::RepeatedField<global::EquipAttr>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::EquipAttr> EnhanceAttrs {
    get { return enhanceAttrs_; }
  }

  /// <summary>Field number for the "base_attr" field.</summary>
  public const int BaseAttrFieldNumber = 4;
  private global::EquipAttr baseAttr_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::EquipAttr BaseAttr {
    get { return baseAttr_; }
    set {
      baseAttr_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScEquipEnhance);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScEquipEnhance other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (EquipInstId != other.EquipInstId) return false;
    if(!enhance_.Equals(other.enhance_)) return false;
    if(!enhanceAttrs_.Equals(other.enhanceAttrs_)) return false;
    if (!object.Equals(BaseAttr, other.BaseAttr)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (EquipInstId != 0UL) hash ^= EquipInstId.GetHashCode();
    hash ^= enhance_.GetHashCode();
    hash ^= enhanceAttrs_.GetHashCode();
    if (baseAttr_ != null) hash ^= BaseAttr.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (EquipInstId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(EquipInstId);
    }
    enhance_.WriteTo(output, _repeated_enhance_codec);
    enhanceAttrs_.WriteTo(output, _repeated_enhanceAttrs_codec);
    if (baseAttr_ != null) {
      output.WriteRawTag(34);
      output.WriteMessage(BaseAttr);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (EquipInstId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(EquipInstId);
    }
    size += enhance_.CalculateSize(_repeated_enhance_codec);
    size += enhanceAttrs_.CalculateSize(_repeated_enhanceAttrs_codec);
    if (baseAttr_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(BaseAttr);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScEquipEnhance other) {
    if (other == null) {
      return;
    }
    if (other.EquipInstId != 0UL) {
      EquipInstId = other.EquipInstId;
    }
    enhance_.Add(other.enhance_);
    enhanceAttrs_.Add(other.enhanceAttrs_);
    if (other.baseAttr_ != null) {
      if (baseAttr_ == null) {
        baseAttr_ = new global::EquipAttr();
      }
      BaseAttr.MergeFrom(other.BaseAttr);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          EquipInstId = input.ReadUInt64();
          break;
        }
        case 18:
        case 16: {
          enhance_.AddEntriesFrom(input, _repeated_enhance_codec);
          break;
        }
        case 26: {
          enhanceAttrs_.AddEntriesFrom(input, _repeated_enhanceAttrs_codec);
          break;
        }
        case 34: {
          if (baseAttr_ == null) {
            baseAttr_ = new global::EquipAttr();
          }
          input.ReadMessage(baseAttr_);
          break;
        }
      }
    }
  }

}

public sealed partial class CsEquipProduce : pb::IMessage<CsEquipProduce> {
  private static readonly pb::MessageParser<CsEquipProduce> _parser = new pb::MessageParser<CsEquipProduce>(() => new CsEquipProduce());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsEquipProduce> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[349]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsEquipProduce() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsEquipProduce(CsEquipProduce other) : this() {
    formulaId_ = other.formulaId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsEquipProduce Clone() {
    return new CsEquipProduce(this);
  }

  /// <summary>Field number for the "formula_id" field.</summary>
  public const int FormulaIdFieldNumber = 1;
  private string formulaId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string FormulaId {
    get { return formulaId_; }
    set {
      formulaId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsEquipProduce);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsEquipProduce other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (FormulaId != other.FormulaId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (FormulaId.Length != 0) hash ^= FormulaId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (FormulaId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(FormulaId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (FormulaId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(FormulaId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsEquipProduce other) {
    if (other == null) {
      return;
    }
    if (other.FormulaId.Length != 0) {
      FormulaId = other.FormulaId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          FormulaId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class ScEquipProduce : pb::IMessage<ScEquipProduce> {
  private static readonly pb::MessageParser<ScEquipProduce> _parser = new pb::MessageParser<ScEquipProduce>(() => new ScEquipProduce());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScEquipProduce> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[350]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScEquipProduce() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScEquipProduce(ScEquipProduce other) : this() {
    formulaId_ = other.formulaId_;
    equipInstid_ = other.equipInstid_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScEquipProduce Clone() {
    return new ScEquipProduce(this);
  }

  /// <summary>Field number for the "formula_id" field.</summary>
  public const int FormulaIdFieldNumber = 1;
  private string formulaId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string FormulaId {
    get { return formulaId_; }
    set {
      formulaId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "equip_instid" field.</summary>
  public const int EquipInstidFieldNumber = 2;
  private ulong equipInstid_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong EquipInstid {
    get { return equipInstid_; }
    set {
      equipInstid_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScEquipProduce);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScEquipProduce other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (FormulaId != other.FormulaId) return false;
    if (EquipInstid != other.EquipInstid) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (FormulaId.Length != 0) hash ^= FormulaId.GetHashCode();
    if (EquipInstid != 0UL) hash ^= EquipInstid.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (FormulaId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(FormulaId);
    }
    if (EquipInstid != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(EquipInstid);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (FormulaId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(FormulaId);
    }
    if (EquipInstid != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(EquipInstid);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScEquipProduce other) {
    if (other == null) {
      return;
    }
    if (other.FormulaId.Length != 0) {
      FormulaId = other.FormulaId;
    }
    if (other.EquipInstid != 0UL) {
      EquipInstid = other.EquipInstid;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          FormulaId = input.ReadString();
          break;
        }
        case 16: {
          EquipInstid = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFactorySttNode : pb::IMessage<ScdFactorySttNode> {
  private static readonly pb::MessageParser<ScdFactorySttNode> _parser = new pb::MessageParser<ScdFactorySttNode>(() => new ScdFactorySttNode());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactorySttNode> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[351]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactorySttNode() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactorySttNode(ScdFactorySttNode other) : this() {
    id_ = other.id_;
    state_ = other.state_;
    values_ = other.values_.Clone();
    flags_ = other.flags_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactorySttNode Clone() {
    return new ScdFactorySttNode(this);
  }

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

  /// <summary>Field number for the "state" field.</summary>
  public const int StateFieldNumber = 2;
  private int state_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int State {
    get { return state_; }
    set {
      state_ = value;
    }
  }

  /// <summary>Field number for the "values" field.</summary>
  public const int ValuesFieldNumber = 3;
  private static readonly pbc::MapField<string, int>.Codec _map_values_codec
      = new pbc::MapField<string, int>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForInt32(16), 26);
  private readonly pbc::MapField<string, int> values_ = new pbc::MapField<string, int>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<string, int> Values {
    get { return values_; }
  }

  /// <summary>Field number for the "flags" field.</summary>
  public const int FlagsFieldNumber = 4;
  private static readonly pbc::MapField<string, bool>.Codec _map_flags_codec
      = new pbc::MapField<string, bool>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForBool(16), 34);
  private readonly pbc::MapField<string, bool> flags_ = new pbc::MapField<string, bool>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<string, bool> Flags {
    get { return flags_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactorySttNode);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactorySttNode other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Id != other.Id) return false;
    if (State != other.State) return false;
    if (!Values.Equals(other.Values)) return false;
    if (!Flags.Equals(other.Flags)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Id.Length != 0) hash ^= Id.GetHashCode();
    if (State != 0) hash ^= State.GetHashCode();
    hash ^= Values.GetHashCode();
    hash ^= Flags.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Id.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(Id);
    }
    if (State != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(State);
    }
    values_.WriteTo(output, _map_values_codec);
    flags_.WriteTo(output, _map_flags_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Id.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(Id);
    }
    if (State != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(State);
    }
    size += values_.CalculateSize(_map_values_codec);
    size += flags_.CalculateSize(_map_flags_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactorySttNode other) {
    if (other == null) {
      return;
    }
    if (other.Id.Length != 0) {
      Id = other.Id;
    }
    if (other.State != 0) {
      State = other.State;
    }
    values_.Add(other.values_);
    flags_.Add(other.flags_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          Id = input.ReadString();
          break;
        }
        case 16: {
          State = input.ReadInt32();
          break;
        }
        case 26: {
          values_.AddEntriesFrom(input, _map_values_codec);
          break;
        }
        case 34: {
          flags_.AddEntriesFrom(input, _map_flags_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFactorySttPackage : pb::IMessage<ScdFactorySttPackage> {
  private static readonly pb::MessageParser<ScdFactorySttPackage> _parser = new pb::MessageParser<ScdFactorySttPackage>(() => new ScdFactorySttPackage());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactorySttPackage> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[352]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactorySttPackage() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactorySttPackage(ScdFactorySttPackage other) : this() {
    id_ = other.id_;
    state_ = other.state_;
    values_ = other.values_.Clone();
    flags_ = other.flags_.Clone();
    hidden_ = other.hidden_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactorySttPackage Clone() {
    return new ScdFactorySttPackage(this);
  }

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

  /// <summary>Field number for the "state" field.</summary>
  public const int StateFieldNumber = 2;
  private int state_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int State {
    get { return state_; }
    set {
      state_ = value;
    }
  }

  /// <summary>Field number for the "values" field.</summary>
  public const int ValuesFieldNumber = 3;
  private static readonly pbc::MapField<string, int>.Codec _map_values_codec
      = new pbc::MapField<string, int>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForInt32(16), 26);
  private readonly pbc::MapField<string, int> values_ = new pbc::MapField<string, int>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<string, int> Values {
    get { return values_; }
  }

  /// <summary>Field number for the "flags" field.</summary>
  public const int FlagsFieldNumber = 4;
  private static readonly pbc::MapField<string, bool>.Codec _map_flags_codec
      = new pbc::MapField<string, bool>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForBool(16), 34);
  private readonly pbc::MapField<string, bool> flags_ = new pbc::MapField<string, bool>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<string, bool> Flags {
    get { return flags_; }
  }

  /// <summary>Field number for the "hidden" field.</summary>
  public const int HiddenFieldNumber = 5;
  private bool hidden_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Hidden {
    get { return hidden_; }
    set {
      hidden_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactorySttPackage);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactorySttPackage other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Id != other.Id) return false;
    if (State != other.State) return false;
    if (!Values.Equals(other.Values)) return false;
    if (!Flags.Equals(other.Flags)) return false;
    if (Hidden != other.Hidden) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Id.Length != 0) hash ^= Id.GetHashCode();
    if (State != 0) hash ^= State.GetHashCode();
    hash ^= Values.GetHashCode();
    hash ^= Flags.GetHashCode();
    if (Hidden != false) hash ^= Hidden.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Id.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(Id);
    }
    if (State != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(State);
    }
    values_.WriteTo(output, _map_values_codec);
    flags_.WriteTo(output, _map_flags_codec);
    if (Hidden != false) {
      output.WriteRawTag(40);
      output.WriteBool(Hidden);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Id.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(Id);
    }
    if (State != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(State);
    }
    size += values_.CalculateSize(_map_values_codec);
    size += flags_.CalculateSize(_map_flags_codec);
    if (Hidden != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactorySttPackage other) {
    if (other == null) {
      return;
    }
    if (other.Id.Length != 0) {
      Id = other.Id;
    }
    if (other.State != 0) {
      State = other.State;
    }
    values_.Add(other.values_);
    flags_.Add(other.flags_);
    if (other.Hidden != false) {
      Hidden = other.Hidden;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          Id = input.ReadString();
          break;
        }
        case 16: {
          State = input.ReadInt32();
          break;
        }
        case 26: {
          values_.AddEntriesFrom(input, _map_values_codec);
          break;
        }
        case 34: {
          flags_.AddEntriesFrom(input, _map_flags_codec);
          break;
        }
        case 40: {
          Hidden = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFactorySttLayer : pb::IMessage<ScdFactorySttLayer> {
  private static readonly pb::MessageParser<ScdFactorySttLayer> _parser = new pb::MessageParser<ScdFactorySttLayer>(() => new ScdFactorySttLayer());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactorySttLayer> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[353]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactorySttLayer() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactorySttLayer(ScdFactorySttLayer other) : this() {
    id_ = other.id_;
    state_ = other.state_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactorySttLayer Clone() {
    return new ScdFactorySttLayer(this);
  }

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

  /// <summary>Field number for the "state" field.</summary>
  public const int StateFieldNumber = 2;
  private int state_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int State {
    get { return state_; }
    set {
      state_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactorySttLayer);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactorySttLayer other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Id != other.Id) return false;
    if (State != other.State) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Id.Length != 0) hash ^= Id.GetHashCode();
    if (State != 0) hash ^= State.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Id.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(Id);
    }
    if (State != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(State);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Id.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(Id);
    }
    if (State != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(State);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactorySttLayer other) {
    if (other == null) {
      return;
    }
    if (other.Id.Length != 0) {
      Id = other.Id;
    }
    if (other.State != 0) {
      State = other.State;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          Id = input.ReadString();
          break;
        }
        case 16: {
          State = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFactorySyncStt : pb::IMessage<ScdFactorySyncStt> {
  private static readonly pb::MessageParser<ScdFactorySyncStt> _parser = new pb::MessageParser<ScdFactorySyncStt>(() => new ScdFactorySyncStt());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactorySyncStt> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[354]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactorySyncStt() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactorySyncStt(ScdFactorySyncStt other) : this() {
    nodes_ = other.nodes_.Clone();
    packages_ = other.packages_.Clone();
    layers_ = other.layers_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactorySyncStt Clone() {
    return new ScdFactorySyncStt(this);
  }

  /// <summary>Field number for the "nodes" field.</summary>
  public const int NodesFieldNumber = 1;
  private static readonly pb::FieldCodec<global::ScdFactorySttNode> _repeated_nodes_codec
      = pb::FieldCodec.ForMessage(10, global::ScdFactorySttNode.Parser);
  private readonly pbc::RepeatedField<global::ScdFactorySttNode> nodes_ = new pbc::RepeatedField<global::ScdFactorySttNode>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdFactorySttNode> Nodes {
    get { return nodes_; }
  }

  /// <summary>Field number for the "packages" field.</summary>
  public const int PackagesFieldNumber = 2;
  private static readonly pb::FieldCodec<global::ScdFactorySttPackage> _repeated_packages_codec
      = pb::FieldCodec.ForMessage(18, global::ScdFactorySttPackage.Parser);
  private readonly pbc::RepeatedField<global::ScdFactorySttPackage> packages_ = new pbc::RepeatedField<global::ScdFactorySttPackage>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdFactorySttPackage> Packages {
    get { return packages_; }
  }

  /// <summary>Field number for the "layers" field.</summary>
  public const int LayersFieldNumber = 3;
  private static readonly pb::FieldCodec<global::ScdFactorySttLayer> _repeated_layers_codec
      = pb::FieldCodec.ForMessage(26, global::ScdFactorySttLayer.Parser);
  private readonly pbc::RepeatedField<global::ScdFactorySttLayer> layers_ = new pbc::RepeatedField<global::ScdFactorySttLayer>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdFactorySttLayer> Layers {
    get { return layers_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactorySyncStt);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactorySyncStt other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!nodes_.Equals(other.nodes_)) return false;
    if(!packages_.Equals(other.packages_)) return false;
    if(!layers_.Equals(other.layers_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= nodes_.GetHashCode();
    hash ^= packages_.GetHashCode();
    hash ^= layers_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    nodes_.WriteTo(output, _repeated_nodes_codec);
    packages_.WriteTo(output, _repeated_packages_codec);
    layers_.WriteTo(output, _repeated_layers_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += nodes_.CalculateSize(_repeated_nodes_codec);
    size += packages_.CalculateSize(_repeated_packages_codec);
    size += layers_.CalculateSize(_repeated_layers_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactorySyncStt other) {
    if (other == null) {
      return;
    }
    nodes_.Add(other.nodes_);
    packages_.Add(other.packages_);
    layers_.Add(other.layers_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          nodes_.AddEntriesFrom(input, _repeated_nodes_codec);
          break;
        }
        case 18: {
          packages_.AddEntriesFrom(input, _repeated_packages_codec);
          break;
        }
        case 26: {
          layers_.AddEntriesFrom(input, _repeated_layers_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFactorySyncFormulaMan : pb::IMessage<ScdFactorySyncFormulaMan> {
  private static readonly pb::MessageParser<ScdFactorySyncFormulaMan> _parser = new pb::MessageParser<ScdFactorySyncFormulaMan>(() => new ScdFactorySyncFormulaMan());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactorySyncFormulaMan> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[355]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactorySyncFormulaMan() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactorySyncFormulaMan(ScdFactorySyncFormulaMan other) : this() {
    unlocked_ = other.unlocked_.Clone();
    visible_ = other.visible_.Clone();
    modes_ = other.modes_.Clone();
    levelUp_ = other.levelUp_.Clone();
    productManual_ = other.productManual_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactorySyncFormulaMan Clone() {
    return new ScdFactorySyncFormulaMan(this);
  }

  /// <summary>Field number for the "unlocked" field.</summary>
  public const int UnlockedFieldNumber = 1;
  private static readonly pb::FieldCodec<string> _repeated_unlocked_codec
      = pb::FieldCodec.ForString(10);
  private readonly pbc::RepeatedField<string> unlocked_ = new pbc::RepeatedField<string>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<string> Unlocked {
    get { return unlocked_; }
  }

  /// <summary>Field number for the "visible" field.</summary>
  public const int VisibleFieldNumber = 2;
  private static readonly pb::FieldCodec<string> _repeated_visible_codec
      = pb::FieldCodec.ForString(18);
  private readonly pbc::RepeatedField<string> visible_ = new pbc::RepeatedField<string>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<string> Visible {
    get { return visible_; }
  }

  /// <summary>Field number for the "modes" field.</summary>
  public const int ModesFieldNumber = 3;
  private static readonly pbc::MapField<string, global::ScdFactorySyncFormulaMode>.Codec _map_modes_codec
      = new pbc::MapField<string, global::ScdFactorySyncFormulaMode>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForMessage(18, global::ScdFactorySyncFormulaMode.Parser), 26);
  private readonly pbc::MapField<string, global::ScdFactorySyncFormulaMode> modes_ = new pbc::MapField<string, global::ScdFactorySyncFormulaMode>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<string, global::ScdFactorySyncFormulaMode> Modes {
    get { return modes_; }
  }

  /// <summary>Field number for the "level_up" field.</summary>
  public const int LevelUpFieldNumber = 4;
  private static readonly pb::FieldCodec<string> _repeated_levelUp_codec
      = pb::FieldCodec.ForString(34);
  private readonly pbc::RepeatedField<string> levelUp_ = new pbc::RepeatedField<string>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<string> LevelUp {
    get { return levelUp_; }
  }

  /// <summary>Field number for the "product_manual" field.</summary>
  public const int ProductManualFieldNumber = 5;
  private static readonly pb::FieldCodec<string> _repeated_productManual_codec
      = pb::FieldCodec.ForString(42);
  private readonly pbc::RepeatedField<string> productManual_ = new pbc::RepeatedField<string>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<string> ProductManual {
    get { return productManual_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactorySyncFormulaMan);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactorySyncFormulaMan other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!unlocked_.Equals(other.unlocked_)) return false;
    if(!visible_.Equals(other.visible_)) return false;
    if (!Modes.Equals(other.Modes)) return false;
    if(!levelUp_.Equals(other.levelUp_)) return false;
    if(!productManual_.Equals(other.productManual_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= unlocked_.GetHashCode();
    hash ^= visible_.GetHashCode();
    hash ^= Modes.GetHashCode();
    hash ^= levelUp_.GetHashCode();
    hash ^= productManual_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    unlocked_.WriteTo(output, _repeated_unlocked_codec);
    visible_.WriteTo(output, _repeated_visible_codec);
    modes_.WriteTo(output, _map_modes_codec);
    levelUp_.WriteTo(output, _repeated_levelUp_codec);
    productManual_.WriteTo(output, _repeated_productManual_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += unlocked_.CalculateSize(_repeated_unlocked_codec);
    size += visible_.CalculateSize(_repeated_visible_codec);
    size += modes_.CalculateSize(_map_modes_codec);
    size += levelUp_.CalculateSize(_repeated_levelUp_codec);
    size += productManual_.CalculateSize(_repeated_productManual_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactorySyncFormulaMan other) {
    if (other == null) {
      return;
    }
    unlocked_.Add(other.unlocked_);
    visible_.Add(other.visible_);
    modes_.Add(other.modes_);
    levelUp_.Add(other.levelUp_);
    productManual_.Add(other.productManual_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          unlocked_.AddEntriesFrom(input, _repeated_unlocked_codec);
          break;
        }
        case 18: {
          visible_.AddEntriesFrom(input, _repeated_visible_codec);
          break;
        }
        case 26: {
          modes_.AddEntriesFrom(input, _map_modes_codec);
          break;
        }
        case 34: {
          levelUp_.AddEntriesFrom(input, _repeated_levelUp_codec);
          break;
        }
        case 42: {
          productManual_.AddEntriesFrom(input, _repeated_productManual_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFactorySyncFormulaMode : pb::IMessage<ScdFactorySyncFormulaMode> {
  private static readonly pb::MessageParser<ScdFactorySyncFormulaMode> _parser = new pb::MessageParser<ScdFactorySyncFormulaMode>(() => new ScdFactorySyncFormulaMode());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactorySyncFormulaMode> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[356]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactorySyncFormulaMode() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactorySyncFormulaMode(ScdFactorySyncFormulaMode other) : this() {
    buildingIds_ = other.buildingIds_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactorySyncFormulaMode Clone() {
    return new ScdFactorySyncFormulaMode(this);
  }

  /// <summary>Field number for the "building_ids" field.</summary>
  public const int BuildingIdsFieldNumber = 1;
  private static readonly pb::FieldCodec<string> _repeated_buildingIds_codec
      = pb::FieldCodec.ForString(10);
  private readonly pbc::RepeatedField<string> buildingIds_ = new pbc::RepeatedField<string>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<string> BuildingIds {
    get { return buildingIds_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactorySyncFormulaMode);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactorySyncFormulaMode other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!buildingIds_.Equals(other.buildingIds_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= buildingIds_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    buildingIds_.WriteTo(output, _repeated_buildingIds_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += buildingIds_.CalculateSize(_repeated_buildingIds_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactorySyncFormulaMode other) {
    if (other == null) {
      return;
    }
    buildingIds_.Add(other.buildingIds_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          buildingIds_.AddEntriesFrom(input, _repeated_buildingIds_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFactorySyncQuickbar : pb::IMessage<ScdFactorySyncQuickbar> {
  private static readonly pb::MessageParser<ScdFactorySyncQuickbar> _parser = new pb::MessageParser<ScdFactorySyncQuickbar>(() => new ScdFactorySyncQuickbar());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactorySyncQuickbar> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[357]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactorySyncQuickbar() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactorySyncQuickbar(ScdFactorySyncQuickbar other) : this() {
    type_ = other.type_;
    list_ = other.list_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactorySyncQuickbar Clone() {
    return new ScdFactorySyncQuickbar(this);
  }

  /// <summary>Field number for the "type" field.</summary>
  public const int TypeFieldNumber = 1;
  private int type_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Type {
    get { return type_; }
    set {
      type_ = value;
    }
  }

  /// <summary>Field number for the "list" field.</summary>
  public const int ListFieldNumber = 2;
  private static readonly pb::FieldCodec<string> _repeated_list_codec
      = pb::FieldCodec.ForString(18);
  private readonly pbc::RepeatedField<string> list_ = new pbc::RepeatedField<string>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<string> List {
    get { return list_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactorySyncQuickbar);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactorySyncQuickbar other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Type != other.Type) return false;
    if(!list_.Equals(other.list_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Type != 0) hash ^= Type.GetHashCode();
    hash ^= list_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Type != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(Type);
    }
    list_.WriteTo(output, _repeated_list_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Type != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Type);
    }
    size += list_.CalculateSize(_repeated_list_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactorySyncQuickbar other) {
    if (other == null) {
      return;
    }
    if (other.Type != 0) {
      Type = other.Type;
    }
    list_.Add(other.list_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Type = input.ReadInt32();
          break;
        }
        case 18: {
          list_.AddEntriesFrom(input, _repeated_list_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScFactorySync : pb::IMessage<ScFactorySync> {
  private static readonly pb::MessageParser<ScFactorySync> _parser = new pb::MessageParser<ScFactorySync>(() => new ScFactorySync());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScFactorySync> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[358]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactorySync() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactorySync(ScFactorySync other) : this() {
    formulaMan_ = other.formulaMan_ != null ? other.formulaMan_.Clone() : null;
    stt_ = other.stt_ != null ? other.stt_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactorySync Clone() {
    return new ScFactorySync(this);
  }

  /// <summary>Field number for the "formula_man" field.</summary>
  public const int FormulaManFieldNumber = 1;
  private global::ScdFactorySyncFormulaMan formulaMan_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactorySyncFormulaMan FormulaMan {
    get { return formulaMan_; }
    set {
      formulaMan_ = value;
    }
  }

  /// <summary>Field number for the "stt" field.</summary>
  public const int SttFieldNumber = 2;
  private global::ScdFactorySyncStt stt_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactorySyncStt Stt {
    get { return stt_; }
    set {
      stt_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScFactorySync);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScFactorySync other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!object.Equals(FormulaMan, other.FormulaMan)) return false;
    if (!object.Equals(Stt, other.Stt)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (formulaMan_ != null) hash ^= FormulaMan.GetHashCode();
    if (stt_ != null) hash ^= Stt.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (formulaMan_ != null) {
      output.WriteRawTag(10);
      output.WriteMessage(FormulaMan);
    }
    if (stt_ != null) {
      output.WriteRawTag(18);
      output.WriteMessage(Stt);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (formulaMan_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(FormulaMan);
    }
    if (stt_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Stt);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScFactorySync other) {
    if (other == null) {
      return;
    }
    if (other.formulaMan_ != null) {
      if (formulaMan_ == null) {
        formulaMan_ = new global::ScdFactorySyncFormulaMan();
      }
      FormulaMan.MergeFrom(other.FormulaMan);
    }
    if (other.stt_ != null) {
      if (stt_ == null) {
        stt_ = new global::ScdFactorySyncStt();
      }
      Stt.MergeFrom(other.Stt);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          if (formulaMan_ == null) {
            formulaMan_ = new global::ScdFactorySyncFormulaMan();
          }
          input.ReadMessage(formulaMan_);
          break;
        }
        case 18: {
          if (stt_ == null) {
            stt_ = new global::ScdFactorySyncStt();
          }
          input.ReadMessage(stt_);
          break;
        }
      }
    }
  }

}

public sealed partial class ScFactoryModifyFormulaMan : pb::IMessage<ScFactoryModifyFormulaMan> {
  private static readonly pb::MessageParser<ScFactoryModifyFormulaMan> _parser = new pb::MessageParser<ScFactoryModifyFormulaMan>(() => new ScFactoryModifyFormulaMan());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScFactoryModifyFormulaMan> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[359]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactoryModifyFormulaMan() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactoryModifyFormulaMan(ScFactoryModifyFormulaMan other) : this() {
    newUnlocked_ = other.newUnlocked_.Clone();
    newProductManual_ = other.newProductManual_.Clone();
    newLevelUp_ = other.newLevelUp_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactoryModifyFormulaMan Clone() {
    return new ScFactoryModifyFormulaMan(this);
  }

  /// <summary>Field number for the "new_unlocked" field.</summary>
  public const int NewUnlockedFieldNumber = 1;
  private static readonly pb::FieldCodec<string> _repeated_newUnlocked_codec
      = pb::FieldCodec.ForString(10);
  private readonly pbc::RepeatedField<string> newUnlocked_ = new pbc::RepeatedField<string>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<string> NewUnlocked {
    get { return newUnlocked_; }
  }

  /// <summary>Field number for the "new_product_manual" field.</summary>
  public const int NewProductManualFieldNumber = 2;
  private static readonly pb::FieldCodec<string> _repeated_newProductManual_codec
      = pb::FieldCodec.ForString(18);
  private readonly pbc::RepeatedField<string> newProductManual_ = new pbc::RepeatedField<string>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<string> NewProductManual {
    get { return newProductManual_; }
  }

  /// <summary>Field number for the "new_level_up" field.</summary>
  public const int NewLevelUpFieldNumber = 3;
  private static readonly pb::FieldCodec<string> _repeated_newLevelUp_codec
      = pb::FieldCodec.ForString(26);
  private readonly pbc::RepeatedField<string> newLevelUp_ = new pbc::RepeatedField<string>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<string> NewLevelUp {
    get { return newLevelUp_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScFactoryModifyFormulaMan);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScFactoryModifyFormulaMan other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!newUnlocked_.Equals(other.newUnlocked_)) return false;
    if(!newProductManual_.Equals(other.newProductManual_)) return false;
    if(!newLevelUp_.Equals(other.newLevelUp_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= newUnlocked_.GetHashCode();
    hash ^= newProductManual_.GetHashCode();
    hash ^= newLevelUp_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    newUnlocked_.WriteTo(output, _repeated_newUnlocked_codec);
    newProductManual_.WriteTo(output, _repeated_newProductManual_codec);
    newLevelUp_.WriteTo(output, _repeated_newLevelUp_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += newUnlocked_.CalculateSize(_repeated_newUnlocked_codec);
    size += newProductManual_.CalculateSize(_repeated_newProductManual_codec);
    size += newLevelUp_.CalculateSize(_repeated_newLevelUp_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScFactoryModifyFormulaMan other) {
    if (other == null) {
      return;
    }
    newUnlocked_.Add(other.newUnlocked_);
    newProductManual_.Add(other.newProductManual_);
    newLevelUp_.Add(other.newLevelUp_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          newUnlocked_.AddEntriesFrom(input, _repeated_newUnlocked_codec);
          break;
        }
        case 18: {
          newProductManual_.AddEntriesFrom(input, _repeated_newProductManual_codec);
          break;
        }
        case 26: {
          newLevelUp_.AddEntriesFrom(input, _repeated_newLevelUp_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScFactoryModifyStt : pb::IMessage<ScFactoryModifyStt> {
  private static readonly pb::MessageParser<ScFactoryModifyStt> _parser = new pb::MessageParser<ScFactoryModifyStt>(() => new ScFactoryModifyStt());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScFactoryModifyStt> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[360]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactoryModifyStt() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactoryModifyStt(ScFactoryModifyStt other) : this() {
    nodes_ = other.nodes_.Clone();
    packages_ = other.packages_.Clone();
    layers_ = other.layers_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactoryModifyStt Clone() {
    return new ScFactoryModifyStt(this);
  }

  /// <summary>Field number for the "nodes" field.</summary>
  public const int NodesFieldNumber = 1;
  private static readonly pb::FieldCodec<global::ScdFactorySttNode> _repeated_nodes_codec
      = pb::FieldCodec.ForMessage(10, global::ScdFactorySttNode.Parser);
  private readonly pbc::RepeatedField<global::ScdFactorySttNode> nodes_ = new pbc::RepeatedField<global::ScdFactorySttNode>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdFactorySttNode> Nodes {
    get { return nodes_; }
  }

  /// <summary>Field number for the "packages" field.</summary>
  public const int PackagesFieldNumber = 2;
  private static readonly pb::FieldCodec<global::ScdFactorySttPackage> _repeated_packages_codec
      = pb::FieldCodec.ForMessage(18, global::ScdFactorySttPackage.Parser);
  private readonly pbc::RepeatedField<global::ScdFactorySttPackage> packages_ = new pbc::RepeatedField<global::ScdFactorySttPackage>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdFactorySttPackage> Packages {
    get { return packages_; }
  }

  /// <summary>Field number for the "layers" field.</summary>
  public const int LayersFieldNumber = 3;
  private static readonly pb::FieldCodec<global::ScdFactorySttLayer> _repeated_layers_codec
      = pb::FieldCodec.ForMessage(26, global::ScdFactorySttLayer.Parser);
  private readonly pbc::RepeatedField<global::ScdFactorySttLayer> layers_ = new pbc::RepeatedField<global::ScdFactorySttLayer>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdFactorySttLayer> Layers {
    get { return layers_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScFactoryModifyStt);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScFactoryModifyStt other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!nodes_.Equals(other.nodes_)) return false;
    if(!packages_.Equals(other.packages_)) return false;
    if(!layers_.Equals(other.layers_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= nodes_.GetHashCode();
    hash ^= packages_.GetHashCode();
    hash ^= layers_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    nodes_.WriteTo(output, _repeated_nodes_codec);
    packages_.WriteTo(output, _repeated_packages_codec);
    layers_.WriteTo(output, _repeated_layers_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += nodes_.CalculateSize(_repeated_nodes_codec);
    size += packages_.CalculateSize(_repeated_packages_codec);
    size += layers_.CalculateSize(_repeated_layers_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScFactoryModifyStt other) {
    if (other == null) {
      return;
    }
    nodes_.Add(other.nodes_);
    packages_.Add(other.packages_);
    layers_.Add(other.layers_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          nodes_.AddEntriesFrom(input, _repeated_nodes_codec);
          break;
        }
        case 18: {
          packages_.AddEntriesFrom(input, _repeated_packages_codec);
          break;
        }
        case 26: {
          layers_.AddEntriesFrom(input, _repeated_layers_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class FactoryFormulaVisiable : pb::IMessage<FactoryFormulaVisiable> {
  private static readonly pb::MessageParser<FactoryFormulaVisiable> _parser = new pb::MessageParser<FactoryFormulaVisiable>(() => new FactoryFormulaVisiable());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<FactoryFormulaVisiable> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[361]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public FactoryFormulaVisiable() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public FactoryFormulaVisiable(FactoryFormulaVisiable other) : this() {
    formulaList_ = other.formulaList_.Clone();
    outputList_ = other.outputList_.Clone();
    source_ = other.source_.Clone();
    reason_ = other.reason_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public FactoryFormulaVisiable Clone() {
    return new FactoryFormulaVisiable(this);
  }

  /// <summary>Field number for the "formula_list" field.</summary>
  public const int FormulaListFieldNumber = 1;
  private static readonly pb::FieldCodec<string> _repeated_formulaList_codec
      = pb::FieldCodec.ForString(10);
  private readonly pbc::RepeatedField<string> formulaList_ = new pbc::RepeatedField<string>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<string> FormulaList {
    get { return formulaList_; }
  }

  /// <summary>Field number for the "output_list" field.</summary>
  public const int OutputListFieldNumber = 2;
  private static readonly pb::FieldCodec<string> _repeated_outputList_codec
      = pb::FieldCodec.ForString(18);
  private readonly pbc::RepeatedField<string> outputList_ = new pbc::RepeatedField<string>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<string> OutputList {
    get { return outputList_; }
  }

  /// <summary>Field number for the "source" field.</summary>
  public const int SourceFieldNumber = 3;
  private static readonly pb::FieldCodec<string> _repeated_source_codec
      = pb::FieldCodec.ForString(26);
  private readonly pbc::RepeatedField<string> source_ = new pbc::RepeatedField<string>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<string> Source {
    get { return source_; }
  }

  /// <summary>Field number for the "reason" field.</summary>
  public const int ReasonFieldNumber = 4;
  private global::FactoryFormulaVisibleReason reason_ = 0;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::FactoryFormulaVisibleReason Reason {
    get { return reason_; }
    set {
      reason_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as FactoryFormulaVisiable);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(FactoryFormulaVisiable other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!formulaList_.Equals(other.formulaList_)) return false;
    if(!outputList_.Equals(other.outputList_)) return false;
    if(!source_.Equals(other.source_)) return false;
    if (Reason != other.Reason) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= formulaList_.GetHashCode();
    hash ^= outputList_.GetHashCode();
    hash ^= source_.GetHashCode();
    if (Reason != 0) hash ^= Reason.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    formulaList_.WriteTo(output, _repeated_formulaList_codec);
    outputList_.WriteTo(output, _repeated_outputList_codec);
    source_.WriteTo(output, _repeated_source_codec);
    if (Reason != 0) {
      output.WriteRawTag(32);
      output.WriteEnum((int) Reason);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += formulaList_.CalculateSize(_repeated_formulaList_codec);
    size += outputList_.CalculateSize(_repeated_outputList_codec);
    size += source_.CalculateSize(_repeated_source_codec);
    if (Reason != 0) {
      size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Reason);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(FactoryFormulaVisiable other) {
    if (other == null) {
      return;
    }
    formulaList_.Add(other.formulaList_);
    outputList_.Add(other.outputList_);
    source_.Add(other.source_);
    if (other.Reason != 0) {
      Reason = other.Reason;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          formulaList_.AddEntriesFrom(input, _repeated_formulaList_codec);
          break;
        }
        case 18: {
          outputList_.AddEntriesFrom(input, _repeated_outputList_codec);
          break;
        }
        case 26: {
          source_.AddEntriesFrom(input, _repeated_source_codec);
          break;
        }
        case 32: {
          reason_ = (global::FactoryFormulaVisibleReason) input.ReadEnum();
          break;
        }
      }
    }
  }

}

public sealed partial class ScFactoryModifyVisibleFormula : pb::IMessage<ScFactoryModifyVisibleFormula> {
  private static readonly pb::MessageParser<ScFactoryModifyVisibleFormula> _parser = new pb::MessageParser<ScFactoryModifyVisibleFormula>(() => new ScFactoryModifyVisibleFormula());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScFactoryModifyVisibleFormula> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[362]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactoryModifyVisibleFormula() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactoryModifyVisibleFormula(ScFactoryModifyVisibleFormula other) : this() {
    newVisible_ = other.newVisible_ != null ? other.newVisible_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactoryModifyVisibleFormula Clone() {
    return new ScFactoryModifyVisibleFormula(this);
  }

  /// <summary>Field number for the "new_visible" field.</summary>
  public const int NewVisibleFieldNumber = 1;
  private global::FactoryFormulaVisiable newVisible_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::FactoryFormulaVisiable NewVisible {
    get { return newVisible_; }
    set {
      newVisible_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScFactoryModifyVisibleFormula);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScFactoryModifyVisibleFormula other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!object.Equals(NewVisible, other.NewVisible)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (newVisible_ != null) hash ^= NewVisible.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (newVisible_ != null) {
      output.WriteRawTag(10);
      output.WriteMessage(NewVisible);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (newVisible_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(NewVisible);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScFactoryModifyVisibleFormula other) {
    if (other == null) {
      return;
    }
    if (other.newVisible_ != null) {
      if (newVisible_ == null) {
        newVisible_ = new global::FactoryFormulaVisiable();
      }
      NewVisible.MergeFrom(other.NewVisible);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          if (newVisible_ == null) {
            newVisible_ = new global::FactoryFormulaVisiable();
          }
          input.ReadMessage(newVisible_);
          break;
        }
      }
    }
  }

}

public sealed partial class ScFactoryModifyFormulaMode : pb::IMessage<ScFactoryModifyFormulaMode> {
  private static readonly pb::MessageParser<ScFactoryModifyFormulaMode> _parser = new pb::MessageParser<ScFactoryModifyFormulaMode>(() => new ScFactoryModifyFormulaMode());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScFactoryModifyFormulaMode> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[363]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactoryModifyFormulaMode() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactoryModifyFormulaMode(ScFactoryModifyFormulaMode other) : this() {
    mode_ = other.mode_;
    newBuildingIds_ = other.newBuildingIds_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactoryModifyFormulaMode Clone() {
    return new ScFactoryModifyFormulaMode(this);
  }

  /// <summary>Field number for the "mode" field.</summary>
  public const int ModeFieldNumber = 1;
  private string mode_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string Mode {
    get { return mode_; }
    set {
      mode_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "new_building_ids" field.</summary>
  public const int NewBuildingIdsFieldNumber = 2;
  private static readonly pb::FieldCodec<string> _repeated_newBuildingIds_codec
      = pb::FieldCodec.ForString(18);
  private readonly pbc::RepeatedField<string> newBuildingIds_ = new pbc::RepeatedField<string>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<string> NewBuildingIds {
    get { return newBuildingIds_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScFactoryModifyFormulaMode);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScFactoryModifyFormulaMode other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Mode != other.Mode) return false;
    if(!newBuildingIds_.Equals(other.newBuildingIds_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Mode.Length != 0) hash ^= Mode.GetHashCode();
    hash ^= newBuildingIds_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Mode.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(Mode);
    }
    newBuildingIds_.WriteTo(output, _repeated_newBuildingIds_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Mode.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(Mode);
    }
    size += newBuildingIds_.CalculateSize(_repeated_newBuildingIds_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScFactoryModifyFormulaMode other) {
    if (other == null) {
      return;
    }
    if (other.Mode.Length != 0) {
      Mode = other.Mode;
    }
    newBuildingIds_.Add(other.newBuildingIds_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          Mode = input.ReadString();
          break;
        }
        case 18: {
          newBuildingIds_.AddEntriesFrom(input, _repeated_newBuildingIds_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScFactorySyncScope : pb::IMessage<ScFactorySyncScope> {
  private static readonly pb::MessageParser<ScFactorySyncScope> _parser = new pb::MessageParser<ScFactorySyncScope>(() => new ScFactorySyncScope());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScFactorySyncScope> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[364]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactorySyncScope() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactorySyncScope(ScFactorySyncScope other) : this() {
    scopeName_ = other.scopeName_;
    currentChapterId_ = other.currentChapterId_;
    quickbars_ = other.quickbars_.Clone();
    transportRoute_ = other.transportRoute_ != null ? other.transportRoute_.Clone() : null;
    bookMark_ = other.bookMark_ != null ? other.bookMark_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactorySyncScope Clone() {
    return new ScFactorySyncScope(this);
  }

  /// <summary>Field number for the "scope_name" field.</summary>
  public const int ScopeNameFieldNumber = 1;
  private int scopeName_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ScopeName {
    get { return scopeName_; }
    set {
      scopeName_ = value;
    }
  }

  /// <summary>Field number for the "current_chapter_id" field.</summary>
  public const int CurrentChapterIdFieldNumber = 2;
  private string currentChapterId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string CurrentChapterId {
    get { return currentChapterId_; }
    set {
      currentChapterId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "quickbars" field.</summary>
  public const int QuickbarsFieldNumber = 4;
  private static readonly pb::FieldCodec<global::ScdFactorySyncQuickbar> _repeated_quickbars_codec
      = pb::FieldCodec.ForMessage(34, global::ScdFactorySyncQuickbar.Parser);
  private readonly pbc::RepeatedField<global::ScdFactorySyncQuickbar> quickbars_ = new pbc::RepeatedField<global::ScdFactorySyncQuickbar>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdFactorySyncQuickbar> Quickbars {
    get { return quickbars_; }
  }

  /// <summary>Field number for the "transport_route" field.</summary>
  public const int TransportRouteFieldNumber = 5;
  private global::ScdFactorySyncHubTransportRouteManager transportRoute_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactorySyncHubTransportRouteManager TransportRoute {
    get { return transportRoute_; }
    set {
      transportRoute_ = value;
    }
  }

  /// <summary>Field number for the "book_mark" field.</summary>
  public const int BookMarkFieldNumber = 6;
  private global::ScdFactoryStatisticBookmark bookMark_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactoryStatisticBookmark BookMark {
    get { return bookMark_; }
    set {
      bookMark_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScFactorySyncScope);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScFactorySyncScope other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ScopeName != other.ScopeName) return false;
    if (CurrentChapterId != other.CurrentChapterId) return false;
    if(!quickbars_.Equals(other.quickbars_)) return false;
    if (!object.Equals(TransportRoute, other.TransportRoute)) return false;
    if (!object.Equals(BookMark, other.BookMark)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ScopeName != 0) hash ^= ScopeName.GetHashCode();
    if (CurrentChapterId.Length != 0) hash ^= CurrentChapterId.GetHashCode();
    hash ^= quickbars_.GetHashCode();
    if (transportRoute_ != null) hash ^= TransportRoute.GetHashCode();
    if (bookMark_ != null) hash ^= BookMark.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ScopeName != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(ScopeName);
    }
    if (CurrentChapterId.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(CurrentChapterId);
    }
    quickbars_.WriteTo(output, _repeated_quickbars_codec);
    if (transportRoute_ != null) {
      output.WriteRawTag(42);
      output.WriteMessage(TransportRoute);
    }
    if (bookMark_ != null) {
      output.WriteRawTag(50);
      output.WriteMessage(BookMark);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ScopeName != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ScopeName);
    }
    if (CurrentChapterId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(CurrentChapterId);
    }
    size += quickbars_.CalculateSize(_repeated_quickbars_codec);
    if (transportRoute_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(TransportRoute);
    }
    if (bookMark_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(BookMark);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScFactorySyncScope other) {
    if (other == null) {
      return;
    }
    if (other.ScopeName != 0) {
      ScopeName = other.ScopeName;
    }
    if (other.CurrentChapterId.Length != 0) {
      CurrentChapterId = other.CurrentChapterId;
    }
    quickbars_.Add(other.quickbars_);
    if (other.transportRoute_ != null) {
      if (transportRoute_ == null) {
        transportRoute_ = new global::ScdFactorySyncHubTransportRouteManager();
      }
      TransportRoute.MergeFrom(other.TransportRoute);
    }
    if (other.bookMark_ != null) {
      if (bookMark_ == null) {
        bookMark_ = new global::ScdFactoryStatisticBookmark();
      }
      BookMark.MergeFrom(other.BookMark);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ScopeName = input.ReadInt32();
          break;
        }
        case 18: {
          CurrentChapterId = input.ReadString();
          break;
        }
        case 34: {
          quickbars_.AddEntriesFrom(input, _repeated_quickbars_codec);
          break;
        }
        case 42: {
          if (transportRoute_ == null) {
            transportRoute_ = new global::ScdFactorySyncHubTransportRouteManager();
          }
          input.ReadMessage(transportRoute_);
          break;
        }
        case 50: {
          if (bookMark_ == null) {
            bookMark_ = new global::ScdFactoryStatisticBookmark();
          }
          input.ReadMessage(bookMark_);
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFactorySyncHubTransportRouteManager : pb::IMessage<ScdFactorySyncHubTransportRouteManager> {
  private static readonly pb::MessageParser<ScdFactorySyncHubTransportRouteManager> _parser = new pb::MessageParser<ScdFactorySyncHubTransportRouteManager>(() => new ScdFactorySyncHubTransportRouteManager());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactorySyncHubTransportRouteManager> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[365]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactorySyncHubTransportRouteManager() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactorySyncHubTransportRouteManager(ScdFactorySyncHubTransportRouteManager other) : this() {
    updateTs_ = other.updateTs_;
    routes_ = other.routes_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactorySyncHubTransportRouteManager Clone() {
    return new ScdFactorySyncHubTransportRouteManager(this);
  }

  /// <summary>Field number for the "update_ts" field.</summary>
  public const int UpdateTsFieldNumber = 1;
  private long updateTs_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long UpdateTs {
    get { return updateTs_; }
    set {
      updateTs_ = value;
    }
  }

  /// <summary>Field number for the "routes" field.</summary>
  public const int RoutesFieldNumber = 2;
  private static readonly pb::FieldCodec<global::ScdFactoryHubTransportRoute> _repeated_routes_codec
      = pb::FieldCodec.ForMessage(18, global::ScdFactoryHubTransportRoute.Parser);
  private readonly pbc::RepeatedField<global::ScdFactoryHubTransportRoute> routes_ = new pbc::RepeatedField<global::ScdFactoryHubTransportRoute>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdFactoryHubTransportRoute> Routes {
    get { return routes_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactorySyncHubTransportRouteManager);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactorySyncHubTransportRouteManager other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (UpdateTs != other.UpdateTs) return false;
    if(!routes_.Equals(other.routes_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (UpdateTs != 0L) hash ^= UpdateTs.GetHashCode();
    hash ^= routes_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (UpdateTs != 0L) {
      output.WriteRawTag(8);
      output.WriteInt64(UpdateTs);
    }
    routes_.WriteTo(output, _repeated_routes_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (UpdateTs != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(UpdateTs);
    }
    size += routes_.CalculateSize(_repeated_routes_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactorySyncHubTransportRouteManager other) {
    if (other == null) {
      return;
    }
    if (other.UpdateTs != 0L) {
      UpdateTs = other.UpdateTs;
    }
    routes_.Add(other.routes_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          UpdateTs = input.ReadInt64();
          break;
        }
        case 18: {
          routes_.AddEntriesFrom(input, _repeated_routes_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFactoryHubTransportRoute : pb::IMessage<ScdFactoryHubTransportRoute> {
  private static readonly pb::MessageParser<ScdFactoryHubTransportRoute> _parser = new pb::MessageParser<ScdFactoryHubTransportRoute>(() => new ScdFactoryHubTransportRoute());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactoryHubTransportRoute> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[366]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryHubTransportRoute() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryHubTransportRoute(ScdFactoryHubTransportRoute other) : this() {
    chapterId_ = other.chapterId_;
    index_ = other.index_;
    targetChapterId_ = other.targetChapterId_;
    itemId_ = other.itemId_;
    itemNum_ = other.itemNum_;
    itemNumMax_ = other.itemNumMax_;
    status_ = other.status_;
    progress_ = other.progress_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryHubTransportRoute Clone() {
    return new ScdFactoryHubTransportRoute(this);
  }

  /// <summary>Field number for the "chapter_id" field.</summary>
  public const int ChapterIdFieldNumber = 1;
  private string chapterId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ChapterId {
    get { return chapterId_; }
    set {
      chapterId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "index" field.</summary>
  public const int IndexFieldNumber = 2;
  private int index_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Index {
    get { return index_; }
    set {
      index_ = value;
    }
  }

  /// <summary>Field number for the "target_chapter_id" field.</summary>
  public const int TargetChapterIdFieldNumber = 3;
  private string targetChapterId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string TargetChapterId {
    get { return targetChapterId_; }
    set {
      targetChapterId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "item_id" field.</summary>
  public const int ItemIdFieldNumber = 4;
  private string itemId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ItemId {
    get { return itemId_; }
    set {
      itemId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "item_num" field.</summary>
  public const int ItemNumFieldNumber = 5;
  private int itemNum_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ItemNum {
    get { return itemNum_; }
    set {
      itemNum_ = value;
    }
  }

  /// <summary>Field number for the "item_num_max" field.</summary>
  public const int ItemNumMaxFieldNumber = 6;
  private int itemNumMax_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ItemNumMax {
    get { return itemNumMax_; }
    set {
      itemNumMax_ = value;
    }
  }

  /// <summary>Field number for the "status" field.</summary>
  public const int StatusFieldNumber = 7;
  private int status_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Status {
    get { return status_; }
    set {
      status_ = value;
    }
  }

  /// <summary>Field number for the "progress" field.</summary>
  public const int ProgressFieldNumber = 8;
  private long progress_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long Progress {
    get { return progress_; }
    set {
      progress_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactoryHubTransportRoute);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactoryHubTransportRoute other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ChapterId != other.ChapterId) return false;
    if (Index != other.Index) return false;
    if (TargetChapterId != other.TargetChapterId) return false;
    if (ItemId != other.ItemId) return false;
    if (ItemNum != other.ItemNum) return false;
    if (ItemNumMax != other.ItemNumMax) return false;
    if (Status != other.Status) return false;
    if (Progress != other.Progress) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ChapterId.Length != 0) hash ^= ChapterId.GetHashCode();
    if (Index != 0) hash ^= Index.GetHashCode();
    if (TargetChapterId.Length != 0) hash ^= TargetChapterId.GetHashCode();
    if (ItemId.Length != 0) hash ^= ItemId.GetHashCode();
    if (ItemNum != 0) hash ^= ItemNum.GetHashCode();
    if (ItemNumMax != 0) hash ^= ItemNumMax.GetHashCode();
    if (Status != 0) hash ^= Status.GetHashCode();
    if (Progress != 0L) hash ^= Progress.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ChapterId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(ChapterId);
    }
    if (Index != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(Index);
    }
    if (TargetChapterId.Length != 0) {
      output.WriteRawTag(26);
      output.WriteString(TargetChapterId);
    }
    if (ItemId.Length != 0) {
      output.WriteRawTag(34);
      output.WriteString(ItemId);
    }
    if (ItemNum != 0) {
      output.WriteRawTag(40);
      output.WriteInt32(ItemNum);
    }
    if (ItemNumMax != 0) {
      output.WriteRawTag(48);
      output.WriteInt32(ItemNumMax);
    }
    if (Status != 0) {
      output.WriteRawTag(56);
      output.WriteInt32(Status);
    }
    if (Progress != 0L) {
      output.WriteRawTag(64);
      output.WriteInt64(Progress);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ChapterId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ChapterId);
    }
    if (Index != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Index);
    }
    if (TargetChapterId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(TargetChapterId);
    }
    if (ItemId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ItemId);
    }
    if (ItemNum != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ItemNum);
    }
    if (ItemNumMax != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ItemNumMax);
    }
    if (Status != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Status);
    }
    if (Progress != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(Progress);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactoryHubTransportRoute other) {
    if (other == null) {
      return;
    }
    if (other.ChapterId.Length != 0) {
      ChapterId = other.ChapterId;
    }
    if (other.Index != 0) {
      Index = other.Index;
    }
    if (other.TargetChapterId.Length != 0) {
      TargetChapterId = other.TargetChapterId;
    }
    if (other.ItemId.Length != 0) {
      ItemId = other.ItemId;
    }
    if (other.ItemNum != 0) {
      ItemNum = other.ItemNum;
    }
    if (other.ItemNumMax != 0) {
      ItemNumMax = other.ItemNumMax;
    }
    if (other.Status != 0) {
      Status = other.Status;
    }
    if (other.Progress != 0L) {
      Progress = other.Progress;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          ChapterId = input.ReadString();
          break;
        }
        case 16: {
          Index = input.ReadInt32();
          break;
        }
        case 26: {
          TargetChapterId = input.ReadString();
          break;
        }
        case 34: {
          ItemId = input.ReadString();
          break;
        }
        case 40: {
          ItemNum = input.ReadInt32();
          break;
        }
        case 48: {
          ItemNumMax = input.ReadInt32();
          break;
        }
        case 56: {
          Status = input.ReadInt32();
          break;
        }
        case 64: {
          Progress = input.ReadInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFactoryStatisticBookmark : pb::IMessage<ScdFactoryStatisticBookmark> {
  private static readonly pb::MessageParser<ScdFactoryStatisticBookmark> _parser = new pb::MessageParser<ScdFactoryStatisticBookmark>(() => new ScdFactoryStatisticBookmark());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactoryStatisticBookmark> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[367]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryStatisticBookmark() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryStatisticBookmark(ScdFactoryStatisticBookmark other) : this() {
    bookmarkItemIds_ = other.bookmarkItemIds_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryStatisticBookmark Clone() {
    return new ScdFactoryStatisticBookmark(this);
  }

  /// <summary>Field number for the "bookmark_item_ids" field.</summary>
  public const int BookmarkItemIdsFieldNumber = 1;
  private static readonly pb::FieldCodec<string> _repeated_bookmarkItemIds_codec
      = pb::FieldCodec.ForString(10);
  private readonly pbc::RepeatedField<string> bookmarkItemIds_ = new pbc::RepeatedField<string>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<string> BookmarkItemIds {
    get { return bookmarkItemIds_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactoryStatisticBookmark);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactoryStatisticBookmark other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!bookmarkItemIds_.Equals(other.bookmarkItemIds_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= bookmarkItemIds_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    bookmarkItemIds_.WriteTo(output, _repeated_bookmarkItemIds_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += bookmarkItemIds_.CalculateSize(_repeated_bookmarkItemIds_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactoryStatisticBookmark other) {
    if (other == null) {
      return;
    }
    bookmarkItemIds_.Add(other.bookmarkItemIds_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          bookmarkItemIds_.AddEntriesFrom(input, _repeated_bookmarkItemIds_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class CsFactoryStatisticSetBookmarkItemIds : pb::IMessage<CsFactoryStatisticSetBookmarkItemIds> {
  private static readonly pb::MessageParser<CsFactoryStatisticSetBookmarkItemIds> _parser = new pb::MessageParser<CsFactoryStatisticSetBookmarkItemIds>(() => new CsFactoryStatisticSetBookmarkItemIds());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsFactoryStatisticSetBookmarkItemIds> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[368]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFactoryStatisticSetBookmarkItemIds() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFactoryStatisticSetBookmarkItemIds(CsFactoryStatisticSetBookmarkItemIds other) : this() {
    itemIds_ = other.itemIds_.Clone();
    isRemove_ = other.isRemove_;
    scopeName_ = other.scopeName_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFactoryStatisticSetBookmarkItemIds Clone() {
    return new CsFactoryStatisticSetBookmarkItemIds(this);
  }

  /// <summary>Field number for the "item_ids" field.</summary>
  public const int ItemIdsFieldNumber = 1;
  private static readonly pb::FieldCodec<string> _repeated_itemIds_codec
      = pb::FieldCodec.ForString(10);
  private readonly pbc::RepeatedField<string> itemIds_ = new pbc::RepeatedField<string>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<string> ItemIds {
    get { return itemIds_; }
  }

  /// <summary>Field number for the "is_remove" field.</summary>
  public const int IsRemoveFieldNumber = 2;
  private bool isRemove_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool IsRemove {
    get { return isRemove_; }
    set {
      isRemove_ = value;
    }
  }

  /// <summary>Field number for the "scope_name" field.</summary>
  public const int ScopeNameFieldNumber = 11;
  private int scopeName_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ScopeName {
    get { return scopeName_; }
    set {
      scopeName_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsFactoryStatisticSetBookmarkItemIds);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsFactoryStatisticSetBookmarkItemIds other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!itemIds_.Equals(other.itemIds_)) return false;
    if (IsRemove != other.IsRemove) return false;
    if (ScopeName != other.ScopeName) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= itemIds_.GetHashCode();
    if (IsRemove != false) hash ^= IsRemove.GetHashCode();
    if (ScopeName != 0) hash ^= ScopeName.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    itemIds_.WriteTo(output, _repeated_itemIds_codec);
    if (IsRemove != false) {
      output.WriteRawTag(16);
      output.WriteBool(IsRemove);
    }
    if (ScopeName != 0) {
      output.WriteRawTag(88);
      output.WriteInt32(ScopeName);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += itemIds_.CalculateSize(_repeated_itemIds_codec);
    if (IsRemove != false) {
      size += 1 + 1;
    }
    if (ScopeName != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ScopeName);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsFactoryStatisticSetBookmarkItemIds other) {
    if (other == null) {
      return;
    }
    itemIds_.Add(other.itemIds_);
    if (other.IsRemove != false) {
      IsRemove = other.IsRemove;
    }
    if (other.ScopeName != 0) {
      ScopeName = other.ScopeName;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          itemIds_.AddEntriesFrom(input, _repeated_itemIds_codec);
          break;
        }
        case 16: {
          IsRemove = input.ReadBool();
          break;
        }
        case 88: {
          ScopeName = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScFactoryModifyStatisticBookmark : pb::IMessage<ScFactoryModifyStatisticBookmark> {
  private static readonly pb::MessageParser<ScFactoryModifyStatisticBookmark> _parser = new pb::MessageParser<ScFactoryModifyStatisticBookmark>(() => new ScFactoryModifyStatisticBookmark());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScFactoryModifyStatisticBookmark> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[369]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactoryModifyStatisticBookmark() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactoryModifyStatisticBookmark(ScFactoryModifyStatisticBookmark other) : this() {
    bookMark_ = other.bookMark_ != null ? other.bookMark_.Clone() : null;
    scopeName_ = other.scopeName_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactoryModifyStatisticBookmark Clone() {
    return new ScFactoryModifyStatisticBookmark(this);
  }

  /// <summary>Field number for the "book_mark" field.</summary>
  public const int BookMarkFieldNumber = 1;
  private global::ScdFactoryStatisticBookmark bookMark_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactoryStatisticBookmark BookMark {
    get { return bookMark_; }
    set {
      bookMark_ = value;
    }
  }

  /// <summary>Field number for the "scope_name" field.</summary>
  public const int ScopeNameFieldNumber = 11;
  private int scopeName_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ScopeName {
    get { return scopeName_; }
    set {
      scopeName_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScFactoryModifyStatisticBookmark);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScFactoryModifyStatisticBookmark other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!object.Equals(BookMark, other.BookMark)) return false;
    if (ScopeName != other.ScopeName) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (bookMark_ != null) hash ^= BookMark.GetHashCode();
    if (ScopeName != 0) hash ^= ScopeName.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (bookMark_ != null) {
      output.WriteRawTag(10);
      output.WriteMessage(BookMark);
    }
    if (ScopeName != 0) {
      output.WriteRawTag(88);
      output.WriteInt32(ScopeName);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (bookMark_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(BookMark);
    }
    if (ScopeName != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ScopeName);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScFactoryModifyStatisticBookmark other) {
    if (other == null) {
      return;
    }
    if (other.bookMark_ != null) {
      if (bookMark_ == null) {
        bookMark_ = new global::ScdFactoryStatisticBookmark();
      }
      BookMark.MergeFrom(other.BookMark);
    }
    if (other.ScopeName != 0) {
      ScopeName = other.ScopeName;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          if (bookMark_ == null) {
            bookMark_ = new global::ScdFactoryStatisticBookmark();
          }
          input.ReadMessage(bookMark_);
          break;
        }
        case 88: {
          ScopeName = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class CsFactoryHubTransportRouteSet : pb::IMessage<CsFactoryHubTransportRouteSet> {
  private static readonly pb::MessageParser<CsFactoryHubTransportRouteSet> _parser = new pb::MessageParser<CsFactoryHubTransportRouteSet>(() => new CsFactoryHubTransportRouteSet());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsFactoryHubTransportRouteSet> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[370]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFactoryHubTransportRouteSet() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFactoryHubTransportRouteSet(CsFactoryHubTransportRouteSet other) : this() {
    scopeName_ = other.scopeName_;
    chapterId_ = other.chapterId_;
    index_ = other.index_;
    targetChapterId_ = other.targetChapterId_;
    itemId_ = other.itemId_;
    itemNumMax_ = other.itemNumMax_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFactoryHubTransportRouteSet Clone() {
    return new CsFactoryHubTransportRouteSet(this);
  }

  /// <summary>Field number for the "scope_name" field.</summary>
  public const int ScopeNameFieldNumber = 1;
  private int scopeName_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ScopeName {
    get { return scopeName_; }
    set {
      scopeName_ = value;
    }
  }

  /// <summary>Field number for the "chapter_id" field.</summary>
  public const int ChapterIdFieldNumber = 2;
  private string chapterId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ChapterId {
    get { return chapterId_; }
    set {
      chapterId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "index" field.</summary>
  public const int IndexFieldNumber = 3;
  private int index_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Index {
    get { return index_; }
    set {
      index_ = value;
    }
  }

  /// <summary>Field number for the "target_chapter_id" field.</summary>
  public const int TargetChapterIdFieldNumber = 4;
  private string targetChapterId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string TargetChapterId {
    get { return targetChapterId_; }
    set {
      targetChapterId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "item_id" field.</summary>
  public const int ItemIdFieldNumber = 5;
  private string itemId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ItemId {
    get { return itemId_; }
    set {
      itemId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "item_num_max" field.</summary>
  public const int ItemNumMaxFieldNumber = 6;
  private int itemNumMax_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ItemNumMax {
    get { return itemNumMax_; }
    set {
      itemNumMax_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsFactoryHubTransportRouteSet);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsFactoryHubTransportRouteSet other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ScopeName != other.ScopeName) return false;
    if (ChapterId != other.ChapterId) return false;
    if (Index != other.Index) return false;
    if (TargetChapterId != other.TargetChapterId) return false;
    if (ItemId != other.ItemId) return false;
    if (ItemNumMax != other.ItemNumMax) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ScopeName != 0) hash ^= ScopeName.GetHashCode();
    if (ChapterId.Length != 0) hash ^= ChapterId.GetHashCode();
    if (Index != 0) hash ^= Index.GetHashCode();
    if (TargetChapterId.Length != 0) hash ^= TargetChapterId.GetHashCode();
    if (ItemId.Length != 0) hash ^= ItemId.GetHashCode();
    if (ItemNumMax != 0) hash ^= ItemNumMax.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ScopeName != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(ScopeName);
    }
    if (ChapterId.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(ChapterId);
    }
    if (Index != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(Index);
    }
    if (TargetChapterId.Length != 0) {
      output.WriteRawTag(34);
      output.WriteString(TargetChapterId);
    }
    if (ItemId.Length != 0) {
      output.WriteRawTag(42);
      output.WriteString(ItemId);
    }
    if (ItemNumMax != 0) {
      output.WriteRawTag(48);
      output.WriteInt32(ItemNumMax);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ScopeName != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ScopeName);
    }
    if (ChapterId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ChapterId);
    }
    if (Index != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Index);
    }
    if (TargetChapterId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(TargetChapterId);
    }
    if (ItemId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ItemId);
    }
    if (ItemNumMax != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ItemNumMax);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsFactoryHubTransportRouteSet other) {
    if (other == null) {
      return;
    }
    if (other.ScopeName != 0) {
      ScopeName = other.ScopeName;
    }
    if (other.ChapterId.Length != 0) {
      ChapterId = other.ChapterId;
    }
    if (other.Index != 0) {
      Index = other.Index;
    }
    if (other.TargetChapterId.Length != 0) {
      TargetChapterId = other.TargetChapterId;
    }
    if (other.ItemId.Length != 0) {
      ItemId = other.ItemId;
    }
    if (other.ItemNumMax != 0) {
      ItemNumMax = other.ItemNumMax;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ScopeName = input.ReadInt32();
          break;
        }
        case 18: {
          ChapterId = input.ReadString();
          break;
        }
        case 24: {
          Index = input.ReadInt32();
          break;
        }
        case 34: {
          TargetChapterId = input.ReadString();
          break;
        }
        case 42: {
          ItemId = input.ReadString();
          break;
        }
        case 48: {
          ItemNumMax = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class CsFactoryHubTransportRouteReset : pb::IMessage<CsFactoryHubTransportRouteReset> {
  private static readonly pb::MessageParser<CsFactoryHubTransportRouteReset> _parser = new pb::MessageParser<CsFactoryHubTransportRouteReset>(() => new CsFactoryHubTransportRouteReset());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsFactoryHubTransportRouteReset> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[371]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFactoryHubTransportRouteReset() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFactoryHubTransportRouteReset(CsFactoryHubTransportRouteReset other) : this() {
    scopeName_ = other.scopeName_;
    chapterId_ = other.chapterId_;
    index_ = other.index_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFactoryHubTransportRouteReset Clone() {
    return new CsFactoryHubTransportRouteReset(this);
  }

  /// <summary>Field number for the "scope_name" field.</summary>
  public const int ScopeNameFieldNumber = 1;
  private int scopeName_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ScopeName {
    get { return scopeName_; }
    set {
      scopeName_ = value;
    }
  }

  /// <summary>Field number for the "chapter_id" field.</summary>
  public const int ChapterIdFieldNumber = 2;
  private string chapterId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ChapterId {
    get { return chapterId_; }
    set {
      chapterId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "index" field.</summary>
  public const int IndexFieldNumber = 3;
  private int index_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Index {
    get { return index_; }
    set {
      index_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsFactoryHubTransportRouteReset);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsFactoryHubTransportRouteReset other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ScopeName != other.ScopeName) return false;
    if (ChapterId != other.ChapterId) return false;
    if (Index != other.Index) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ScopeName != 0) hash ^= ScopeName.GetHashCode();
    if (ChapterId.Length != 0) hash ^= ChapterId.GetHashCode();
    if (Index != 0) hash ^= Index.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ScopeName != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(ScopeName);
    }
    if (ChapterId.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(ChapterId);
    }
    if (Index != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(Index);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ScopeName != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ScopeName);
    }
    if (ChapterId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ChapterId);
    }
    if (Index != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Index);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsFactoryHubTransportRouteReset other) {
    if (other == null) {
      return;
    }
    if (other.ScopeName != 0) {
      ScopeName = other.ScopeName;
    }
    if (other.ChapterId.Length != 0) {
      ChapterId = other.ChapterId;
    }
    if (other.Index != 0) {
      Index = other.Index;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ScopeName = input.ReadInt32();
          break;
        }
        case 18: {
          ChapterId = input.ReadString();
          break;
        }
        case 24: {
          Index = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class CsFactoryHubTransportRouteRestart : pb::IMessage<CsFactoryHubTransportRouteRestart> {
  private static readonly pb::MessageParser<CsFactoryHubTransportRouteRestart> _parser = new pb::MessageParser<CsFactoryHubTransportRouteRestart>(() => new CsFactoryHubTransportRouteRestart());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsFactoryHubTransportRouteRestart> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[372]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFactoryHubTransportRouteRestart() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFactoryHubTransportRouteRestart(CsFactoryHubTransportRouteRestart other) : this() {
    scopeName_ = other.scopeName_;
    chapterId_ = other.chapterId_;
    index_ = other.index_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFactoryHubTransportRouteRestart Clone() {
    return new CsFactoryHubTransportRouteRestart(this);
  }

  /// <summary>Field number for the "scope_name" field.</summary>
  public const int ScopeNameFieldNumber = 1;
  private int scopeName_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ScopeName {
    get { return scopeName_; }
    set {
      scopeName_ = value;
    }
  }

  /// <summary>Field number for the "chapter_id" field.</summary>
  public const int ChapterIdFieldNumber = 2;
  private string chapterId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ChapterId {
    get { return chapterId_; }
    set {
      chapterId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "index" field.</summary>
  public const int IndexFieldNumber = 3;
  private int index_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Index {
    get { return index_; }
    set {
      index_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsFactoryHubTransportRouteRestart);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsFactoryHubTransportRouteRestart other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ScopeName != other.ScopeName) return false;
    if (ChapterId != other.ChapterId) return false;
    if (Index != other.Index) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ScopeName != 0) hash ^= ScopeName.GetHashCode();
    if (ChapterId.Length != 0) hash ^= ChapterId.GetHashCode();
    if (Index != 0) hash ^= Index.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ScopeName != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(ScopeName);
    }
    if (ChapterId.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(ChapterId);
    }
    if (Index != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(Index);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ScopeName != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ScopeName);
    }
    if (ChapterId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ChapterId);
    }
    if (Index != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Index);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsFactoryHubTransportRouteRestart other) {
    if (other == null) {
      return;
    }
    if (other.ScopeName != 0) {
      ScopeName = other.ScopeName;
    }
    if (other.ChapterId.Length != 0) {
      ChapterId = other.ChapterId;
    }
    if (other.Index != 0) {
      Index = other.Index;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ScopeName = input.ReadInt32();
          break;
        }
        case 18: {
          ChapterId = input.ReadString();
          break;
        }
        case 24: {
          Index = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScFactoryHubTransportRouteModify : pb::IMessage<ScFactoryHubTransportRouteModify> {
  private static readonly pb::MessageParser<ScFactoryHubTransportRouteModify> _parser = new pb::MessageParser<ScFactoryHubTransportRouteModify>(() => new ScFactoryHubTransportRouteModify());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScFactoryHubTransportRouteModify> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[373]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactoryHubTransportRouteModify() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactoryHubTransportRouteModify(ScFactoryHubTransportRouteModify other) : this() {
    transportRouteModified_ = other.transportRouteModified_ != null ? other.transportRouteModified_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactoryHubTransportRouteModify Clone() {
    return new ScFactoryHubTransportRouteModify(this);
  }

  /// <summary>Field number for the "transport_route_modified" field.</summary>
  public const int TransportRouteModifiedFieldNumber = 1;
  private global::ScdFactorySyncHubTransportRouteManager transportRouteModified_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactorySyncHubTransportRouteManager TransportRouteModified {
    get { return transportRouteModified_; }
    set {
      transportRouteModified_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScFactoryHubTransportRouteModify);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScFactoryHubTransportRouteModify other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!object.Equals(TransportRouteModified, other.TransportRouteModified)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (transportRouteModified_ != null) hash ^= TransportRouteModified.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (transportRouteModified_ != null) {
      output.WriteRawTag(10);
      output.WriteMessage(TransportRouteModified);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (transportRouteModified_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(TransportRouteModified);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScFactoryHubTransportRouteModify other) {
    if (other == null) {
      return;
    }
    if (other.transportRouteModified_ != null) {
      if (transportRouteModified_ == null) {
        transportRouteModified_ = new global::ScdFactorySyncHubTransportRouteManager();
      }
      TransportRouteModified.MergeFrom(other.TransportRouteModified);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          if (transportRouteModified_ == null) {
            transportRouteModified_ = new global::ScdFactorySyncHubTransportRouteManager();
          }
          input.ReadMessage(transportRouteModified_);
          break;
        }
      }
    }
  }

}

public sealed partial class ScFactoryReleaseScope : pb::IMessage<ScFactoryReleaseScope> {
  private static readonly pb::MessageParser<ScFactoryReleaseScope> _parser = new pb::MessageParser<ScFactoryReleaseScope>(() => new ScFactoryReleaseScope());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScFactoryReleaseScope> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[374]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactoryReleaseScope() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactoryReleaseScope(ScFactoryReleaseScope other) : this() {
    scopeName_ = other.scopeName_;
    deleteChapterIdList_ = other.deleteChapterIdList_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactoryReleaseScope Clone() {
    return new ScFactoryReleaseScope(this);
  }

  /// <summary>Field number for the "scope_name" field.</summary>
  public const int ScopeNameFieldNumber = 1;
  private int scopeName_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ScopeName {
    get { return scopeName_; }
    set {
      scopeName_ = value;
    }
  }

  /// <summary>Field number for the "delete_chapter_id_list" field.</summary>
  public const int DeleteChapterIdListFieldNumber = 11;
  private static readonly pb::FieldCodec<string> _repeated_deleteChapterIdList_codec
      = pb::FieldCodec.ForString(90);
  private readonly pbc::RepeatedField<string> deleteChapterIdList_ = new pbc::RepeatedField<string>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<string> DeleteChapterIdList {
    get { return deleteChapterIdList_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScFactoryReleaseScope);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScFactoryReleaseScope other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ScopeName != other.ScopeName) return false;
    if(!deleteChapterIdList_.Equals(other.deleteChapterIdList_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ScopeName != 0) hash ^= ScopeName.GetHashCode();
    hash ^= deleteChapterIdList_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ScopeName != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(ScopeName);
    }
    deleteChapterIdList_.WriteTo(output, _repeated_deleteChapterIdList_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ScopeName != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ScopeName);
    }
    size += deleteChapterIdList_.CalculateSize(_repeated_deleteChapterIdList_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScFactoryReleaseScope other) {
    if (other == null) {
      return;
    }
    if (other.ScopeName != 0) {
      ScopeName = other.ScopeName;
    }
    deleteChapterIdList_.Add(other.deleteChapterIdList_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ScopeName = input.ReadInt32();
          break;
        }
        case 90: {
          deleteChapterIdList_.AddEntriesFrom(input, _repeated_deleteChapterIdList_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScFactoryModifyScope : pb::IMessage<ScFactoryModifyScope> {
  private static readonly pb::MessageParser<ScFactoryModifyScope> _parser = new pb::MessageParser<ScFactoryModifyScope>(() => new ScFactoryModifyScope());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScFactoryModifyScope> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[375]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactoryModifyScope() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactoryModifyScope(ScFactoryModifyScope other) : this() {
    scopeName_ = other.scopeName_;
    currentChapterId_ = other.currentChapterId_;
    deleteChapterIdList_ = other.deleteChapterIdList_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactoryModifyScope Clone() {
    return new ScFactoryModifyScope(this);
  }

  /// <summary>Field number for the "scope_name" field.</summary>
  public const int ScopeNameFieldNumber = 1;
  private int scopeName_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ScopeName {
    get { return scopeName_; }
    set {
      scopeName_ = value;
    }
  }

  /// <summary>Field number for the "current_chapter_id" field.</summary>
  public const int CurrentChapterIdFieldNumber = 2;
  private string currentChapterId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string CurrentChapterId {
    get { return currentChapterId_; }
    set {
      currentChapterId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "delete_chapter_id_list" field.</summary>
  public const int DeleteChapterIdListFieldNumber = 11;
  private static readonly pb::FieldCodec<string> _repeated_deleteChapterIdList_codec
      = pb::FieldCodec.ForString(90);
  private readonly pbc::RepeatedField<string> deleteChapterIdList_ = new pbc::RepeatedField<string>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<string> DeleteChapterIdList {
    get { return deleteChapterIdList_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScFactoryModifyScope);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScFactoryModifyScope other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ScopeName != other.ScopeName) return false;
    if (CurrentChapterId != other.CurrentChapterId) return false;
    if(!deleteChapterIdList_.Equals(other.deleteChapterIdList_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ScopeName != 0) hash ^= ScopeName.GetHashCode();
    if (CurrentChapterId.Length != 0) hash ^= CurrentChapterId.GetHashCode();
    hash ^= deleteChapterIdList_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ScopeName != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(ScopeName);
    }
    if (CurrentChapterId.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(CurrentChapterId);
    }
    deleteChapterIdList_.WriteTo(output, _repeated_deleteChapterIdList_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ScopeName != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ScopeName);
    }
    if (CurrentChapterId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(CurrentChapterId);
    }
    size += deleteChapterIdList_.CalculateSize(_repeated_deleteChapterIdList_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScFactoryModifyScope other) {
    if (other == null) {
      return;
    }
    if (other.ScopeName != 0) {
      ScopeName = other.ScopeName;
    }
    if (other.CurrentChapterId.Length != 0) {
      CurrentChapterId = other.CurrentChapterId;
    }
    deleteChapterIdList_.Add(other.deleteChapterIdList_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ScopeName = input.ReadInt32();
          break;
        }
        case 18: {
          CurrentChapterId = input.ReadString();
          break;
        }
        case 90: {
          deleteChapterIdList_.AddEntriesFrom(input, _repeated_deleteChapterIdList_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScFactoryModifyQuickbar : pb::IMessage<ScFactoryModifyQuickbar> {
  private static readonly pb::MessageParser<ScFactoryModifyQuickbar> _parser = new pb::MessageParser<ScFactoryModifyQuickbar>(() => new ScFactoryModifyQuickbar());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScFactoryModifyQuickbar> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[376]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactoryModifyQuickbar() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactoryModifyQuickbar(ScFactoryModifyQuickbar other) : this() {
    scopeName_ = other.scopeName_;
    quickbars_ = other.quickbars_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactoryModifyQuickbar Clone() {
    return new ScFactoryModifyQuickbar(this);
  }

  /// <summary>Field number for the "scope_name" field.</summary>
  public const int ScopeNameFieldNumber = 1;
  private int scopeName_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ScopeName {
    get { return scopeName_; }
    set {
      scopeName_ = value;
    }
  }

  /// <summary>Field number for the "quickbars" field.</summary>
  public const int QuickbarsFieldNumber = 2;
  private static readonly pb::FieldCodec<global::ScdFactorySyncQuickbar> _repeated_quickbars_codec
      = pb::FieldCodec.ForMessage(18, global::ScdFactorySyncQuickbar.Parser);
  private readonly pbc::RepeatedField<global::ScdFactorySyncQuickbar> quickbars_ = new pbc::RepeatedField<global::ScdFactorySyncQuickbar>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdFactorySyncQuickbar> Quickbars {
    get { return quickbars_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScFactoryModifyQuickbar);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScFactoryModifyQuickbar other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ScopeName != other.ScopeName) return false;
    if(!quickbars_.Equals(other.quickbars_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ScopeName != 0) hash ^= ScopeName.GetHashCode();
    hash ^= quickbars_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ScopeName != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(ScopeName);
    }
    quickbars_.WriteTo(output, _repeated_quickbars_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ScopeName != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ScopeName);
    }
    size += quickbars_.CalculateSize(_repeated_quickbars_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScFactoryModifyQuickbar other) {
    if (other == null) {
      return;
    }
    if (other.ScopeName != 0) {
      ScopeName = other.ScopeName;
    }
    quickbars_.Add(other.quickbars_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ScopeName = input.ReadInt32();
          break;
        }
        case 18: {
          quickbars_.AddEntriesFrom(input, _repeated_quickbars_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScFactorySoilReclaim : pb::IMessage<ScFactorySoilReclaim> {
  private static readonly pb::MessageParser<ScFactorySoilReclaim> _parser = new pb::MessageParser<ScFactorySoilReclaim>(() => new ScFactorySoilReclaim());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScFactorySoilReclaim> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[377]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactorySoilReclaim() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactorySoilReclaim(ScFactorySoilReclaim other) : this() {
    scopeName_ = other.scopeName_;
    chapterId_ = other.chapterId_;
    nodeId_ = other.nodeId_;
    result_ = other.result_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactorySoilReclaim Clone() {
    return new ScFactorySoilReclaim(this);
  }

  /// <summary>Field number for the "scope_name" field.</summary>
  public const int ScopeNameFieldNumber = 1;
  private int scopeName_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ScopeName {
    get { return scopeName_; }
    set {
      scopeName_ = value;
    }
  }

  /// <summary>Field number for the "chapter_id" field.</summary>
  public const int ChapterIdFieldNumber = 2;
  private string chapterId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ChapterId {
    get { return chapterId_; }
    set {
      chapterId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "node_id" field.</summary>
  public const int NodeIdFieldNumber = 3;
  private uint nodeId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint NodeId {
    get { return nodeId_; }
    set {
      nodeId_ = value;
    }
  }

  /// <summary>Field number for the "result" field.</summary>
  public const int ResultFieldNumber = 4;
  private bool result_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Result {
    get { return result_; }
    set {
      result_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScFactorySoilReclaim);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScFactorySoilReclaim other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ScopeName != other.ScopeName) return false;
    if (ChapterId != other.ChapterId) return false;
    if (NodeId != other.NodeId) return false;
    if (Result != other.Result) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ScopeName != 0) hash ^= ScopeName.GetHashCode();
    if (ChapterId.Length != 0) hash ^= ChapterId.GetHashCode();
    if (NodeId != 0) hash ^= NodeId.GetHashCode();
    if (Result != false) hash ^= Result.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ScopeName != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(ScopeName);
    }
    if (ChapterId.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(ChapterId);
    }
    if (NodeId != 0) {
      output.WriteRawTag(24);
      output.WriteUInt32(NodeId);
    }
    if (Result != false) {
      output.WriteRawTag(32);
      output.WriteBool(Result);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ScopeName != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ScopeName);
    }
    if (ChapterId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ChapterId);
    }
    if (NodeId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(NodeId);
    }
    if (Result != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScFactorySoilReclaim other) {
    if (other == null) {
      return;
    }
    if (other.ScopeName != 0) {
      ScopeName = other.ScopeName;
    }
    if (other.ChapterId.Length != 0) {
      ChapterId = other.ChapterId;
    }
    if (other.NodeId != 0) {
      NodeId = other.NodeId;
    }
    if (other.Result != false) {
      Result = other.Result;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ScopeName = input.ReadInt32();
          break;
        }
        case 18: {
          ChapterId = input.ReadString();
          break;
        }
        case 24: {
          NodeId = input.ReadUInt32();
          break;
        }
        case 32: {
          Result = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class ScFactorySoilWater : pb::IMessage<ScFactorySoilWater> {
  private static readonly pb::MessageParser<ScFactorySoilWater> _parser = new pb::MessageParser<ScFactorySoilWater>(() => new ScFactorySoilWater());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScFactorySoilWater> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[378]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactorySoilWater() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactorySoilWater(ScFactorySoilWater other) : this() {
    scopeName_ = other.scopeName_;
    chapterId_ = other.chapterId_;
    nodeId_ = other.nodeId_;
    result_ = other.result_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactorySoilWater Clone() {
    return new ScFactorySoilWater(this);
  }

  /// <summary>Field number for the "scope_name" field.</summary>
  public const int ScopeNameFieldNumber = 1;
  private int scopeName_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ScopeName {
    get { return scopeName_; }
    set {
      scopeName_ = value;
    }
  }

  /// <summary>Field number for the "chapter_id" field.</summary>
  public const int ChapterIdFieldNumber = 2;
  private string chapterId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ChapterId {
    get { return chapterId_; }
    set {
      chapterId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "node_id" field.</summary>
  public const int NodeIdFieldNumber = 3;
  private uint nodeId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint NodeId {
    get { return nodeId_; }
    set {
      nodeId_ = value;
    }
  }

  /// <summary>Field number for the "result" field.</summary>
  public const int ResultFieldNumber = 4;
  private bool result_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Result {
    get { return result_; }
    set {
      result_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScFactorySoilWater);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScFactorySoilWater other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ScopeName != other.ScopeName) return false;
    if (ChapterId != other.ChapterId) return false;
    if (NodeId != other.NodeId) return false;
    if (Result != other.Result) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ScopeName != 0) hash ^= ScopeName.GetHashCode();
    if (ChapterId.Length != 0) hash ^= ChapterId.GetHashCode();
    if (NodeId != 0) hash ^= NodeId.GetHashCode();
    if (Result != false) hash ^= Result.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ScopeName != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(ScopeName);
    }
    if (ChapterId.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(ChapterId);
    }
    if (NodeId != 0) {
      output.WriteRawTag(24);
      output.WriteUInt32(NodeId);
    }
    if (Result != false) {
      output.WriteRawTag(32);
      output.WriteBool(Result);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ScopeName != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ScopeName);
    }
    if (ChapterId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ChapterId);
    }
    if (NodeId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(NodeId);
    }
    if (Result != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScFactorySoilWater other) {
    if (other == null) {
      return;
    }
    if (other.ScopeName != 0) {
      ScopeName = other.ScopeName;
    }
    if (other.ChapterId.Length != 0) {
      ChapterId = other.ChapterId;
    }
    if (other.NodeId != 0) {
      NodeId = other.NodeId;
    }
    if (other.Result != false) {
      Result = other.Result;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ScopeName = input.ReadInt32();
          break;
        }
        case 18: {
          ChapterId = input.ReadString();
          break;
        }
        case 24: {
          NodeId = input.ReadUInt32();
          break;
        }
        case 32: {
          Result = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class ScFactorySoilHarvest : pb::IMessage<ScFactorySoilHarvest> {
  private static readonly pb::MessageParser<ScFactorySoilHarvest> _parser = new pb::MessageParser<ScFactorySoilHarvest>(() => new ScFactorySoilHarvest());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScFactorySoilHarvest> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[379]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactorySoilHarvest() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactorySoilHarvest(ScFactorySoilHarvest other) : this() {
    scopeName_ = other.scopeName_;
    chapterId_ = other.chapterId_;
    nodeId_ = other.nodeId_;
    result_ = other.result_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactorySoilHarvest Clone() {
    return new ScFactorySoilHarvest(this);
  }

  /// <summary>Field number for the "scope_name" field.</summary>
  public const int ScopeNameFieldNumber = 1;
  private int scopeName_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ScopeName {
    get { return scopeName_; }
    set {
      scopeName_ = value;
    }
  }

  /// <summary>Field number for the "chapter_id" field.</summary>
  public const int ChapterIdFieldNumber = 2;
  private string chapterId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ChapterId {
    get { return chapterId_; }
    set {
      chapterId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "node_id" field.</summary>
  public const int NodeIdFieldNumber = 3;
  private uint nodeId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint NodeId {
    get { return nodeId_; }
    set {
      nodeId_ = value;
    }
  }

  /// <summary>Field number for the "result" field.</summary>
  public const int ResultFieldNumber = 4;
  private bool result_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Result {
    get { return result_; }
    set {
      result_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScFactorySoilHarvest);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScFactorySoilHarvest other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ScopeName != other.ScopeName) return false;
    if (ChapterId != other.ChapterId) return false;
    if (NodeId != other.NodeId) return false;
    if (Result != other.Result) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ScopeName != 0) hash ^= ScopeName.GetHashCode();
    if (ChapterId.Length != 0) hash ^= ChapterId.GetHashCode();
    if (NodeId != 0) hash ^= NodeId.GetHashCode();
    if (Result != false) hash ^= Result.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ScopeName != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(ScopeName);
    }
    if (ChapterId.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(ChapterId);
    }
    if (NodeId != 0) {
      output.WriteRawTag(24);
      output.WriteUInt32(NodeId);
    }
    if (Result != false) {
      output.WriteRawTag(32);
      output.WriteBool(Result);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ScopeName != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ScopeName);
    }
    if (ChapterId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ChapterId);
    }
    if (NodeId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(NodeId);
    }
    if (Result != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScFactorySoilHarvest other) {
    if (other == null) {
      return;
    }
    if (other.ScopeName != 0) {
      ScopeName = other.ScopeName;
    }
    if (other.ChapterId.Length != 0) {
      ChapterId = other.ChapterId;
    }
    if (other.NodeId != 0) {
      NodeId = other.NodeId;
    }
    if (other.Result != false) {
      Result = other.Result;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ScopeName = input.ReadInt32();
          break;
        }
        case 18: {
          ChapterId = input.ReadString();
          break;
        }
        case 24: {
          NodeId = input.ReadUInt32();
          break;
        }
        case 32: {
          Result = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class ScFactorySoilCancel : pb::IMessage<ScFactorySoilCancel> {
  private static readonly pb::MessageParser<ScFactorySoilCancel> _parser = new pb::MessageParser<ScFactorySoilCancel>(() => new ScFactorySoilCancel());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScFactorySoilCancel> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[380]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactorySoilCancel() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactorySoilCancel(ScFactorySoilCancel other) : this() {
    scopeName_ = other.scopeName_;
    chapterId_ = other.chapterId_;
    nodeId_ = other.nodeId_;
    result_ = other.result_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactorySoilCancel Clone() {
    return new ScFactorySoilCancel(this);
  }

  /// <summary>Field number for the "scope_name" field.</summary>
  public const int ScopeNameFieldNumber = 1;
  private int scopeName_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ScopeName {
    get { return scopeName_; }
    set {
      scopeName_ = value;
    }
  }

  /// <summary>Field number for the "chapter_id" field.</summary>
  public const int ChapterIdFieldNumber = 2;
  private string chapterId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ChapterId {
    get { return chapterId_; }
    set {
      chapterId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "node_id" field.</summary>
  public const int NodeIdFieldNumber = 3;
  private uint nodeId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint NodeId {
    get { return nodeId_; }
    set {
      nodeId_ = value;
    }
  }

  /// <summary>Field number for the "result" field.</summary>
  public const int ResultFieldNumber = 4;
  private bool result_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Result {
    get { return result_; }
    set {
      result_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScFactorySoilCancel);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScFactorySoilCancel other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ScopeName != other.ScopeName) return false;
    if (ChapterId != other.ChapterId) return false;
    if (NodeId != other.NodeId) return false;
    if (Result != other.Result) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ScopeName != 0) hash ^= ScopeName.GetHashCode();
    if (ChapterId.Length != 0) hash ^= ChapterId.GetHashCode();
    if (NodeId != 0) hash ^= NodeId.GetHashCode();
    if (Result != false) hash ^= Result.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ScopeName != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(ScopeName);
    }
    if (ChapterId.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(ChapterId);
    }
    if (NodeId != 0) {
      output.WriteRawTag(24);
      output.WriteUInt32(NodeId);
    }
    if (Result != false) {
      output.WriteRawTag(32);
      output.WriteBool(Result);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ScopeName != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ScopeName);
    }
    if (ChapterId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ChapterId);
    }
    if (NodeId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(NodeId);
    }
    if (Result != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScFactorySoilCancel other) {
    if (other == null) {
      return;
    }
    if (other.ScopeName != 0) {
      ScopeName = other.ScopeName;
    }
    if (other.ChapterId.Length != 0) {
      ChapterId = other.ChapterId;
    }
    if (other.NodeId != 0) {
      NodeId = other.NodeId;
    }
    if (other.Result != false) {
      Result = other.Result;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ScopeName = input.ReadInt32();
          break;
        }
        case 18: {
          ChapterId = input.ReadString();
          break;
        }
        case 24: {
          NodeId = input.ReadUInt32();
          break;
        }
        case 32: {
          Result = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class CsFactorySttUnlockLayer : pb::IMessage<CsFactorySttUnlockLayer> {
  private static readonly pb::MessageParser<CsFactorySttUnlockLayer> _parser = new pb::MessageParser<CsFactorySttUnlockLayer>(() => new CsFactorySttUnlockLayer());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsFactorySttUnlockLayer> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[381]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFactorySttUnlockLayer() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFactorySttUnlockLayer(CsFactorySttUnlockLayer other) : this() {
    layerId_ = other.layerId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFactorySttUnlockLayer Clone() {
    return new CsFactorySttUnlockLayer(this);
  }

  /// <summary>Field number for the "layer_id" field.</summary>
  public const int LayerIdFieldNumber = 1;
  private string layerId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string LayerId {
    get { return layerId_; }
    set {
      layerId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsFactorySttUnlockLayer);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsFactorySttUnlockLayer other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (LayerId != other.LayerId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (LayerId.Length != 0) hash ^= LayerId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (LayerId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(LayerId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (LayerId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(LayerId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsFactorySttUnlockLayer other) {
    if (other == null) {
      return;
    }
    if (other.LayerId.Length != 0) {
      LayerId = other.LayerId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          LayerId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class CsFactorySttUnlockNode : pb::IMessage<CsFactorySttUnlockNode> {
  private static readonly pb::MessageParser<CsFactorySttUnlockNode> _parser = new pb::MessageParser<CsFactorySttUnlockNode>(() => new CsFactorySttUnlockNode());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsFactorySttUnlockNode> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[382]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFactorySttUnlockNode() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFactorySttUnlockNode(CsFactorySttUnlockNode other) : this() {
    nodeId_ = other.nodeId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFactorySttUnlockNode Clone() {
    return new CsFactorySttUnlockNode(this);
  }

  /// <summary>Field number for the "node_id" field.</summary>
  public const int NodeIdFieldNumber = 1;
  private string nodeId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string NodeId {
    get { return nodeId_; }
    set {
      nodeId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsFactorySttUnlockNode);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsFactorySttUnlockNode other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (NodeId != other.NodeId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (NodeId.Length != 0) hash ^= NodeId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (NodeId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(NodeId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (NodeId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(NodeId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsFactorySttUnlockNode other) {
    if (other == null) {
      return;
    }
    if (other.NodeId.Length != 0) {
      NodeId = other.NodeId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          NodeId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class CsFactoryQuickbarSetOne : pb::IMessage<CsFactoryQuickbarSetOne> {
  private static readonly pb::MessageParser<CsFactoryQuickbarSetOne> _parser = new pb::MessageParser<CsFactoryQuickbarSetOne>(() => new CsFactoryQuickbarSetOne());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsFactoryQuickbarSetOne> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[383]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFactoryQuickbarSetOne() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFactoryQuickbarSetOne(CsFactoryQuickbarSetOne other) : this() {
    scopeName_ = other.scopeName_;
    type_ = other.type_;
    index_ = other.index_;
    itemId_ = other.itemId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFactoryQuickbarSetOne Clone() {
    return new CsFactoryQuickbarSetOne(this);
  }

  /// <summary>Field number for the "scope_name" field.</summary>
  public const int ScopeNameFieldNumber = 1;
  private int scopeName_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ScopeName {
    get { return scopeName_; }
    set {
      scopeName_ = value;
    }
  }

  /// <summary>Field number for the "type" field.</summary>
  public const int TypeFieldNumber = 2;
  private int type_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Type {
    get { return type_; }
    set {
      type_ = value;
    }
  }

  /// <summary>Field number for the "index" field.</summary>
  public const int IndexFieldNumber = 3;
  private int index_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Index {
    get { return index_; }
    set {
      index_ = value;
    }
  }

  /// <summary>Field number for the "item_id" field.</summary>
  public const int ItemIdFieldNumber = 4;
  private string itemId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ItemId {
    get { return itemId_; }
    set {
      itemId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsFactoryQuickbarSetOne);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsFactoryQuickbarSetOne other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ScopeName != other.ScopeName) return false;
    if (Type != other.Type) return false;
    if (Index != other.Index) return false;
    if (ItemId != other.ItemId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ScopeName != 0) hash ^= ScopeName.GetHashCode();
    if (Type != 0) hash ^= Type.GetHashCode();
    if (Index != 0) hash ^= Index.GetHashCode();
    if (ItemId.Length != 0) hash ^= ItemId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ScopeName != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(ScopeName);
    }
    if (Type != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(Type);
    }
    if (Index != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(Index);
    }
    if (ItemId.Length != 0) {
      output.WriteRawTag(34);
      output.WriteString(ItemId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ScopeName != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ScopeName);
    }
    if (Type != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Type);
    }
    if (Index != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Index);
    }
    if (ItemId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ItemId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsFactoryQuickbarSetOne other) {
    if (other == null) {
      return;
    }
    if (other.ScopeName != 0) {
      ScopeName = other.ScopeName;
    }
    if (other.Type != 0) {
      Type = other.Type;
    }
    if (other.Index != 0) {
      Index = other.Index;
    }
    if (other.ItemId.Length != 0) {
      ItemId = other.ItemId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ScopeName = input.ReadInt32();
          break;
        }
        case 16: {
          Type = input.ReadInt32();
          break;
        }
        case 24: {
          Index = input.ReadInt32();
          break;
        }
        case 34: {
          ItemId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class CsFactoryQuickbarMoveOne : pb::IMessage<CsFactoryQuickbarMoveOne> {
  private static readonly pb::MessageParser<CsFactoryQuickbarMoveOne> _parser = new pb::MessageParser<CsFactoryQuickbarMoveOne>(() => new CsFactoryQuickbarMoveOne());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsFactoryQuickbarMoveOne> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[384]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFactoryQuickbarMoveOne() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFactoryQuickbarMoveOne(CsFactoryQuickbarMoveOne other) : this() {
    scopeName_ = other.scopeName_;
    type_ = other.type_;
    fromIndex_ = other.fromIndex_;
    toIndex_ = other.toIndex_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFactoryQuickbarMoveOne Clone() {
    return new CsFactoryQuickbarMoveOne(this);
  }

  /// <summary>Field number for the "scope_name" field.</summary>
  public const int ScopeNameFieldNumber = 1;
  private int scopeName_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ScopeName {
    get { return scopeName_; }
    set {
      scopeName_ = value;
    }
  }

  /// <summary>Field number for the "type" field.</summary>
  public const int TypeFieldNumber = 2;
  private int type_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Type {
    get { return type_; }
    set {
      type_ = value;
    }
  }

  /// <summary>Field number for the "from_index" field.</summary>
  public const int FromIndexFieldNumber = 3;
  private int fromIndex_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int FromIndex {
    get { return fromIndex_; }
    set {
      fromIndex_ = value;
    }
  }

  /// <summary>Field number for the "to_index" field.</summary>
  public const int ToIndexFieldNumber = 4;
  private int toIndex_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ToIndex {
    get { return toIndex_; }
    set {
      toIndex_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsFactoryQuickbarMoveOne);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsFactoryQuickbarMoveOne other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ScopeName != other.ScopeName) return false;
    if (Type != other.Type) return false;
    if (FromIndex != other.FromIndex) return false;
    if (ToIndex != other.ToIndex) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ScopeName != 0) hash ^= ScopeName.GetHashCode();
    if (Type != 0) hash ^= Type.GetHashCode();
    if (FromIndex != 0) hash ^= FromIndex.GetHashCode();
    if (ToIndex != 0) hash ^= ToIndex.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ScopeName != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(ScopeName);
    }
    if (Type != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(Type);
    }
    if (FromIndex != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(FromIndex);
    }
    if (ToIndex != 0) {
      output.WriteRawTag(32);
      output.WriteInt32(ToIndex);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ScopeName != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ScopeName);
    }
    if (Type != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Type);
    }
    if (FromIndex != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(FromIndex);
    }
    if (ToIndex != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ToIndex);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsFactoryQuickbarMoveOne other) {
    if (other == null) {
      return;
    }
    if (other.ScopeName != 0) {
      ScopeName = other.ScopeName;
    }
    if (other.Type != 0) {
      Type = other.Type;
    }
    if (other.FromIndex != 0) {
      FromIndex = other.FromIndex;
    }
    if (other.ToIndex != 0) {
      ToIndex = other.ToIndex;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ScopeName = input.ReadInt32();
          break;
        }
        case 16: {
          Type = input.ReadInt32();
          break;
        }
        case 24: {
          FromIndex = input.ReadInt32();
          break;
        }
        case 32: {
          ToIndex = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class CsFactorySoilReclaim : pb::IMessage<CsFactorySoilReclaim> {
  private static readonly pb::MessageParser<CsFactorySoilReclaim> _parser = new pb::MessageParser<CsFactorySoilReclaim>(() => new CsFactorySoilReclaim());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsFactorySoilReclaim> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[385]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFactorySoilReclaim() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFactorySoilReclaim(CsFactorySoilReclaim other) : this() {
    scopeName_ = other.scopeName_;
    chapterId_ = other.chapterId_;
    nodeId_ = other.nodeId_;
    charObjectId_ = other.charObjectId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFactorySoilReclaim Clone() {
    return new CsFactorySoilReclaim(this);
  }

  /// <summary>Field number for the "scope_name" field.</summary>
  public const int ScopeNameFieldNumber = 1;
  private int scopeName_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ScopeName {
    get { return scopeName_; }
    set {
      scopeName_ = value;
    }
  }

  /// <summary>Field number for the "chapter_id" field.</summary>
  public const int ChapterIdFieldNumber = 2;
  private string chapterId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ChapterId {
    get { return chapterId_; }
    set {
      chapterId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "node_id" field.</summary>
  public const int NodeIdFieldNumber = 3;
  private uint nodeId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint NodeId {
    get { return nodeId_; }
    set {
      nodeId_ = value;
    }
  }

  /// <summary>Field number for the "char_object_id" field.</summary>
  public const int CharObjectIdFieldNumber = 4;
  private ulong charObjectId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong CharObjectId {
    get { return charObjectId_; }
    set {
      charObjectId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsFactorySoilReclaim);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsFactorySoilReclaim other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ScopeName != other.ScopeName) return false;
    if (ChapterId != other.ChapterId) return false;
    if (NodeId != other.NodeId) return false;
    if (CharObjectId != other.CharObjectId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ScopeName != 0) hash ^= ScopeName.GetHashCode();
    if (ChapterId.Length != 0) hash ^= ChapterId.GetHashCode();
    if (NodeId != 0) hash ^= NodeId.GetHashCode();
    if (CharObjectId != 0UL) hash ^= CharObjectId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ScopeName != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(ScopeName);
    }
    if (ChapterId.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(ChapterId);
    }
    if (NodeId != 0) {
      output.WriteRawTag(24);
      output.WriteUInt32(NodeId);
    }
    if (CharObjectId != 0UL) {
      output.WriteRawTag(32);
      output.WriteUInt64(CharObjectId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ScopeName != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ScopeName);
    }
    if (ChapterId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ChapterId);
    }
    if (NodeId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(NodeId);
    }
    if (CharObjectId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(CharObjectId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsFactorySoilReclaim other) {
    if (other == null) {
      return;
    }
    if (other.ScopeName != 0) {
      ScopeName = other.ScopeName;
    }
    if (other.ChapterId.Length != 0) {
      ChapterId = other.ChapterId;
    }
    if (other.NodeId != 0) {
      NodeId = other.NodeId;
    }
    if (other.CharObjectId != 0UL) {
      CharObjectId = other.CharObjectId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ScopeName = input.ReadInt32();
          break;
        }
        case 18: {
          ChapterId = input.ReadString();
          break;
        }
        case 24: {
          NodeId = input.ReadUInt32();
          break;
        }
        case 32: {
          CharObjectId = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class CsFactorySoilWater : pb::IMessage<CsFactorySoilWater> {
  private static readonly pb::MessageParser<CsFactorySoilWater> _parser = new pb::MessageParser<CsFactorySoilWater>(() => new CsFactorySoilWater());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsFactorySoilWater> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[386]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFactorySoilWater() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFactorySoilWater(CsFactorySoilWater other) : this() {
    scopeName_ = other.scopeName_;
    chapterId_ = other.chapterId_;
    nodeId_ = other.nodeId_;
    charObjectId_ = other.charObjectId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFactorySoilWater Clone() {
    return new CsFactorySoilWater(this);
  }

  /// <summary>Field number for the "scope_name" field.</summary>
  public const int ScopeNameFieldNumber = 1;
  private int scopeName_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ScopeName {
    get { return scopeName_; }
    set {
      scopeName_ = value;
    }
  }

  /// <summary>Field number for the "chapter_id" field.</summary>
  public const int ChapterIdFieldNumber = 2;
  private string chapterId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ChapterId {
    get { return chapterId_; }
    set {
      chapterId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "node_id" field.</summary>
  public const int NodeIdFieldNumber = 3;
  private uint nodeId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint NodeId {
    get { return nodeId_; }
    set {
      nodeId_ = value;
    }
  }

  /// <summary>Field number for the "char_object_id" field.</summary>
  public const int CharObjectIdFieldNumber = 4;
  private ulong charObjectId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong CharObjectId {
    get { return charObjectId_; }
    set {
      charObjectId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsFactorySoilWater);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsFactorySoilWater other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ScopeName != other.ScopeName) return false;
    if (ChapterId != other.ChapterId) return false;
    if (NodeId != other.NodeId) return false;
    if (CharObjectId != other.CharObjectId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ScopeName != 0) hash ^= ScopeName.GetHashCode();
    if (ChapterId.Length != 0) hash ^= ChapterId.GetHashCode();
    if (NodeId != 0) hash ^= NodeId.GetHashCode();
    if (CharObjectId != 0UL) hash ^= CharObjectId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ScopeName != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(ScopeName);
    }
    if (ChapterId.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(ChapterId);
    }
    if (NodeId != 0) {
      output.WriteRawTag(24);
      output.WriteUInt32(NodeId);
    }
    if (CharObjectId != 0UL) {
      output.WriteRawTag(32);
      output.WriteUInt64(CharObjectId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ScopeName != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ScopeName);
    }
    if (ChapterId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ChapterId);
    }
    if (NodeId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(NodeId);
    }
    if (CharObjectId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(CharObjectId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsFactorySoilWater other) {
    if (other == null) {
      return;
    }
    if (other.ScopeName != 0) {
      ScopeName = other.ScopeName;
    }
    if (other.ChapterId.Length != 0) {
      ChapterId = other.ChapterId;
    }
    if (other.NodeId != 0) {
      NodeId = other.NodeId;
    }
    if (other.CharObjectId != 0UL) {
      CharObjectId = other.CharObjectId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ScopeName = input.ReadInt32();
          break;
        }
        case 18: {
          ChapterId = input.ReadString();
          break;
        }
        case 24: {
          NodeId = input.ReadUInt32();
          break;
        }
        case 32: {
          CharObjectId = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class CsFactorySoilHarvest : pb::IMessage<CsFactorySoilHarvest> {
  private static readonly pb::MessageParser<CsFactorySoilHarvest> _parser = new pb::MessageParser<CsFactorySoilHarvest>(() => new CsFactorySoilHarvest());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsFactorySoilHarvest> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[387]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFactorySoilHarvest() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFactorySoilHarvest(CsFactorySoilHarvest other) : this() {
    scopeName_ = other.scopeName_;
    chapterId_ = other.chapterId_;
    nodeId_ = other.nodeId_;
    charObjectId_ = other.charObjectId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFactorySoilHarvest Clone() {
    return new CsFactorySoilHarvest(this);
  }

  /// <summary>Field number for the "scope_name" field.</summary>
  public const int ScopeNameFieldNumber = 1;
  private int scopeName_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ScopeName {
    get { return scopeName_; }
    set {
      scopeName_ = value;
    }
  }

  /// <summary>Field number for the "chapter_id" field.</summary>
  public const int ChapterIdFieldNumber = 2;
  private string chapterId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ChapterId {
    get { return chapterId_; }
    set {
      chapterId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "node_id" field.</summary>
  public const int NodeIdFieldNumber = 3;
  private uint nodeId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint NodeId {
    get { return nodeId_; }
    set {
      nodeId_ = value;
    }
  }

  /// <summary>Field number for the "char_object_id" field.</summary>
  public const int CharObjectIdFieldNumber = 4;
  private ulong charObjectId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong CharObjectId {
    get { return charObjectId_; }
    set {
      charObjectId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsFactorySoilHarvest);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsFactorySoilHarvest other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ScopeName != other.ScopeName) return false;
    if (ChapterId != other.ChapterId) return false;
    if (NodeId != other.NodeId) return false;
    if (CharObjectId != other.CharObjectId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ScopeName != 0) hash ^= ScopeName.GetHashCode();
    if (ChapterId.Length != 0) hash ^= ChapterId.GetHashCode();
    if (NodeId != 0) hash ^= NodeId.GetHashCode();
    if (CharObjectId != 0UL) hash ^= CharObjectId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ScopeName != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(ScopeName);
    }
    if (ChapterId.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(ChapterId);
    }
    if (NodeId != 0) {
      output.WriteRawTag(24);
      output.WriteUInt32(NodeId);
    }
    if (CharObjectId != 0UL) {
      output.WriteRawTag(32);
      output.WriteUInt64(CharObjectId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ScopeName != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ScopeName);
    }
    if (ChapterId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ChapterId);
    }
    if (NodeId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(NodeId);
    }
    if (CharObjectId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(CharObjectId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsFactorySoilHarvest other) {
    if (other == null) {
      return;
    }
    if (other.ScopeName != 0) {
      ScopeName = other.ScopeName;
    }
    if (other.ChapterId.Length != 0) {
      ChapterId = other.ChapterId;
    }
    if (other.NodeId != 0) {
      NodeId = other.NodeId;
    }
    if (other.CharObjectId != 0UL) {
      CharObjectId = other.CharObjectId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ScopeName = input.ReadInt32();
          break;
        }
        case 18: {
          ChapterId = input.ReadString();
          break;
        }
        case 24: {
          NodeId = input.ReadUInt32();
          break;
        }
        case 32: {
          CharObjectId = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class CsFactorySoilCancel : pb::IMessage<CsFactorySoilCancel> {
  private static readonly pb::MessageParser<CsFactorySoilCancel> _parser = new pb::MessageParser<CsFactorySoilCancel>(() => new CsFactorySoilCancel());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsFactorySoilCancel> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[388]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFactorySoilCancel() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFactorySoilCancel(CsFactorySoilCancel other) : this() {
    scopeName_ = other.scopeName_;
    chapterId_ = other.chapterId_;
    nodeId_ = other.nodeId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFactorySoilCancel Clone() {
    return new CsFactorySoilCancel(this);
  }

  /// <summary>Field number for the "scope_name" field.</summary>
  public const int ScopeNameFieldNumber = 1;
  private int scopeName_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ScopeName {
    get { return scopeName_; }
    set {
      scopeName_ = value;
    }
  }

  /// <summary>Field number for the "chapter_id" field.</summary>
  public const int ChapterIdFieldNumber = 2;
  private string chapterId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ChapterId {
    get { return chapterId_; }
    set {
      chapterId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "node_id" field.</summary>
  public const int NodeIdFieldNumber = 3;
  private uint nodeId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint NodeId {
    get { return nodeId_; }
    set {
      nodeId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsFactorySoilCancel);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsFactorySoilCancel other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ScopeName != other.ScopeName) return false;
    if (ChapterId != other.ChapterId) return false;
    if (NodeId != other.NodeId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ScopeName != 0) hash ^= ScopeName.GetHashCode();
    if (ChapterId.Length != 0) hash ^= ChapterId.GetHashCode();
    if (NodeId != 0) hash ^= NodeId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ScopeName != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(ScopeName);
    }
    if (ChapterId.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(ChapterId);
    }
    if (NodeId != 0) {
      output.WriteRawTag(24);
      output.WriteUInt32(NodeId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ScopeName != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ScopeName);
    }
    if (ChapterId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ChapterId);
    }
    if (NodeId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(NodeId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsFactorySoilCancel other) {
    if (other == null) {
      return;
    }
    if (other.ScopeName != 0) {
      ScopeName = other.ScopeName;
    }
    if (other.ChapterId.Length != 0) {
      ChapterId = other.ChapterId;
    }
    if (other.NodeId != 0) {
      NodeId = other.NodeId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ScopeName = input.ReadInt32();
          break;
        }
        case 18: {
          ChapterId = input.ReadString();
          break;
        }
        case 24: {
          NodeId = input.ReadUInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class CsFactorySoilFarmlandLevelUp : pb::IMessage<CsFactorySoilFarmlandLevelUp> {
  private static readonly pb::MessageParser<CsFactorySoilFarmlandLevelUp> _parser = new pb::MessageParser<CsFactorySoilFarmlandLevelUp>(() => new CsFactorySoilFarmlandLevelUp());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsFactorySoilFarmlandLevelUp> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[389]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFactorySoilFarmlandLevelUp() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFactorySoilFarmlandLevelUp(CsFactorySoilFarmlandLevelUp other) : this() {
    scopeName_ = other.scopeName_;
    chapterId_ = other.chapterId_;
    sceneName_ = other.sceneName_;
    index_ = other.index_;
    toLevel_ = other.toLevel_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFactorySoilFarmlandLevelUp Clone() {
    return new CsFactorySoilFarmlandLevelUp(this);
  }

  /// <summary>Field number for the "scope_name" field.</summary>
  public const int ScopeNameFieldNumber = 1;
  private int scopeName_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ScopeName {
    get { return scopeName_; }
    set {
      scopeName_ = value;
    }
  }

  /// <summary>Field number for the "chapter_id" field.</summary>
  public const int ChapterIdFieldNumber = 2;
  private string chapterId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ChapterId {
    get { return chapterId_; }
    set {
      chapterId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "scene_name" field.</summary>
  public const int SceneNameFieldNumber = 3;
  private string sceneName_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string SceneName {
    get { return sceneName_; }
    set {
      sceneName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "index" field.</summary>
  public const int IndexFieldNumber = 4;
  private int index_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Index {
    get { return index_; }
    set {
      index_ = value;
    }
  }

  /// <summary>Field number for the "to_level" field.</summary>
  public const int ToLevelFieldNumber = 5;
  private int toLevel_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ToLevel {
    get { return toLevel_; }
    set {
      toLevel_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsFactorySoilFarmlandLevelUp);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsFactorySoilFarmlandLevelUp other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ScopeName != other.ScopeName) return false;
    if (ChapterId != other.ChapterId) return false;
    if (SceneName != other.SceneName) return false;
    if (Index != other.Index) return false;
    if (ToLevel != other.ToLevel) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ScopeName != 0) hash ^= ScopeName.GetHashCode();
    if (ChapterId.Length != 0) hash ^= ChapterId.GetHashCode();
    if (SceneName.Length != 0) hash ^= SceneName.GetHashCode();
    if (Index != 0) hash ^= Index.GetHashCode();
    if (ToLevel != 0) hash ^= ToLevel.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ScopeName != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(ScopeName);
    }
    if (ChapterId.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(ChapterId);
    }
    if (SceneName.Length != 0) {
      output.WriteRawTag(26);
      output.WriteString(SceneName);
    }
    if (Index != 0) {
      output.WriteRawTag(32);
      output.WriteInt32(Index);
    }
    if (ToLevel != 0) {
      output.WriteRawTag(40);
      output.WriteInt32(ToLevel);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ScopeName != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ScopeName);
    }
    if (ChapterId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ChapterId);
    }
    if (SceneName.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(SceneName);
    }
    if (Index != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Index);
    }
    if (ToLevel != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ToLevel);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsFactorySoilFarmlandLevelUp other) {
    if (other == null) {
      return;
    }
    if (other.ScopeName != 0) {
      ScopeName = other.ScopeName;
    }
    if (other.ChapterId.Length != 0) {
      ChapterId = other.ChapterId;
    }
    if (other.SceneName.Length != 0) {
      SceneName = other.SceneName;
    }
    if (other.Index != 0) {
      Index = other.Index;
    }
    if (other.ToLevel != 0) {
      ToLevel = other.ToLevel;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ScopeName = input.ReadInt32();
          break;
        }
        case 18: {
          ChapterId = input.ReadString();
          break;
        }
        case 26: {
          SceneName = input.ReadString();
          break;
        }
        case 32: {
          Index = input.ReadInt32();
          break;
        }
        case 40: {
          ToLevel = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScFactorySyncOfflineInfo : pb::IMessage<ScFactorySyncOfflineInfo> {
  private static readonly pb::MessageParser<ScFactorySyncOfflineInfo> _parser = new pb::MessageParser<ScFactorySyncOfflineInfo>(() => new ScFactorySyncOfflineInfo());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScFactorySyncOfflineInfo> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[390]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactorySyncOfflineInfo() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactorySyncOfflineInfo(ScFactorySyncOfflineInfo other) : this() {
    maxOfflineCalcSec_ = other.maxOfflineCalcSec_;
    endOfflineCalcTs_ = other.endOfflineCalcTs_;
    offlineSec_ = other.offlineSec_;
    missOfflineSec_ = other.missOfflineSec_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactorySyncOfflineInfo Clone() {
    return new ScFactorySyncOfflineInfo(this);
  }

  /// <summary>Field number for the "max_offline_calc_sec" field.</summary>
  public const int MaxOfflineCalcSecFieldNumber = 1;
  private long maxOfflineCalcSec_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long MaxOfflineCalcSec {
    get { return maxOfflineCalcSec_; }
    set {
      maxOfflineCalcSec_ = value;
    }
  }

  /// <summary>Field number for the "end_offline_calc_ts" field.</summary>
  public const int EndOfflineCalcTsFieldNumber = 2;
  private long endOfflineCalcTs_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long EndOfflineCalcTs {
    get { return endOfflineCalcTs_; }
    set {
      endOfflineCalcTs_ = value;
    }
  }

  /// <summary>Field number for the "offline_sec" field.</summary>
  public const int OfflineSecFieldNumber = 3;
  private long offlineSec_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long OfflineSec {
    get { return offlineSec_; }
    set {
      offlineSec_ = value;
    }
  }

  /// <summary>Field number for the "miss_offline_sec" field.</summary>
  public const int MissOfflineSecFieldNumber = 4;
  private long missOfflineSec_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long MissOfflineSec {
    get { return missOfflineSec_; }
    set {
      missOfflineSec_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScFactorySyncOfflineInfo);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScFactorySyncOfflineInfo other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (MaxOfflineCalcSec != other.MaxOfflineCalcSec) return false;
    if (EndOfflineCalcTs != other.EndOfflineCalcTs) return false;
    if (OfflineSec != other.OfflineSec) return false;
    if (MissOfflineSec != other.MissOfflineSec) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (MaxOfflineCalcSec != 0L) hash ^= MaxOfflineCalcSec.GetHashCode();
    if (EndOfflineCalcTs != 0L) hash ^= EndOfflineCalcTs.GetHashCode();
    if (OfflineSec != 0L) hash ^= OfflineSec.GetHashCode();
    if (MissOfflineSec != 0L) hash ^= MissOfflineSec.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (MaxOfflineCalcSec != 0L) {
      output.WriteRawTag(8);
      output.WriteInt64(MaxOfflineCalcSec);
    }
    if (EndOfflineCalcTs != 0L) {
      output.WriteRawTag(16);
      output.WriteInt64(EndOfflineCalcTs);
    }
    if (OfflineSec != 0L) {
      output.WriteRawTag(24);
      output.WriteInt64(OfflineSec);
    }
    if (MissOfflineSec != 0L) {
      output.WriteRawTag(32);
      output.WriteInt64(MissOfflineSec);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (MaxOfflineCalcSec != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(MaxOfflineCalcSec);
    }
    if (EndOfflineCalcTs != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(EndOfflineCalcTs);
    }
    if (OfflineSec != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(OfflineSec);
    }
    if (MissOfflineSec != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(MissOfflineSec);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScFactorySyncOfflineInfo other) {
    if (other == null) {
      return;
    }
    if (other.MaxOfflineCalcSec != 0L) {
      MaxOfflineCalcSec = other.MaxOfflineCalcSec;
    }
    if (other.EndOfflineCalcTs != 0L) {
      EndOfflineCalcTs = other.EndOfflineCalcTs;
    }
    if (other.OfflineSec != 0L) {
      OfflineSec = other.OfflineSec;
    }
    if (other.MissOfflineSec != 0L) {
      MissOfflineSec = other.MissOfflineSec;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          MaxOfflineCalcSec = input.ReadInt64();
          break;
        }
        case 16: {
          EndOfflineCalcTs = input.ReadInt64();
          break;
        }
        case 24: {
          OfflineSec = input.ReadInt64();
          break;
        }
        case 32: {
          MissOfflineSec = input.ReadInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class CsFactoryHubWorkshopMake : pb::IMessage<CsFactoryHubWorkshopMake> {
  private static readonly pb::MessageParser<CsFactoryHubWorkshopMake> _parser = new pb::MessageParser<CsFactoryHubWorkshopMake>(() => new CsFactoryHubWorkshopMake());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsFactoryHubWorkshopMake> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[391]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFactoryHubWorkshopMake() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFactoryHubWorkshopMake(CsFactoryHubWorkshopMake other) : this() {
    scopeName_ = other.scopeName_;
    nodeId_ = other.nodeId_;
    formulaId_ = other.formulaId_;
    multi_ = other.multi_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFactoryHubWorkshopMake Clone() {
    return new CsFactoryHubWorkshopMake(this);
  }

  /// <summary>Field number for the "scope_name" field.</summary>
  public const int ScopeNameFieldNumber = 1;
  private int scopeName_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ScopeName {
    get { return scopeName_; }
    set {
      scopeName_ = value;
    }
  }

  /// <summary>Field number for the "node_id" field.</summary>
  public const int NodeIdFieldNumber = 2;
  private uint nodeId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint NodeId {
    get { return nodeId_; }
    set {
      nodeId_ = value;
    }
  }

  /// <summary>Field number for the "formula_id" field.</summary>
  public const int FormulaIdFieldNumber = 3;
  private string formulaId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string FormulaId {
    get { return formulaId_; }
    set {
      formulaId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "multi" field.</summary>
  public const int MultiFieldNumber = 4;
  private int multi_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Multi {
    get { return multi_; }
    set {
      multi_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsFactoryHubWorkshopMake);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsFactoryHubWorkshopMake other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ScopeName != other.ScopeName) return false;
    if (NodeId != other.NodeId) return false;
    if (FormulaId != other.FormulaId) return false;
    if (Multi != other.Multi) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ScopeName != 0) hash ^= ScopeName.GetHashCode();
    if (NodeId != 0) hash ^= NodeId.GetHashCode();
    if (FormulaId.Length != 0) hash ^= FormulaId.GetHashCode();
    if (Multi != 0) hash ^= Multi.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ScopeName != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(ScopeName);
    }
    if (NodeId != 0) {
      output.WriteRawTag(16);
      output.WriteUInt32(NodeId);
    }
    if (FormulaId.Length != 0) {
      output.WriteRawTag(26);
      output.WriteString(FormulaId);
    }
    if (Multi != 0) {
      output.WriteRawTag(32);
      output.WriteInt32(Multi);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ScopeName != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ScopeName);
    }
    if (NodeId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(NodeId);
    }
    if (FormulaId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(FormulaId);
    }
    if (Multi != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Multi);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsFactoryHubWorkshopMake other) {
    if (other == null) {
      return;
    }
    if (other.ScopeName != 0) {
      ScopeName = other.ScopeName;
    }
    if (other.NodeId != 0) {
      NodeId = other.NodeId;
    }
    if (other.FormulaId.Length != 0) {
      FormulaId = other.FormulaId;
    }
    if (other.Multi != 0) {
      Multi = other.Multi;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ScopeName = input.ReadInt32();
          break;
        }
        case 16: {
          NodeId = input.ReadUInt32();
          break;
        }
        case 26: {
          FormulaId = input.ReadString();
          break;
        }
        case 32: {
          Multi = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScFactoryHubWorkshopMake : pb::IMessage<ScFactoryHubWorkshopMake> {
  private static readonly pb::MessageParser<ScFactoryHubWorkshopMake> _parser = new pb::MessageParser<ScFactoryHubWorkshopMake>(() => new ScFactoryHubWorkshopMake());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScFactoryHubWorkshopMake> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[392]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactoryHubWorkshopMake() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactoryHubWorkshopMake(ScFactoryHubWorkshopMake other) : this() {
    success_ = other.success_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactoryHubWorkshopMake Clone() {
    return new ScFactoryHubWorkshopMake(this);
  }

  /// <summary>Field number for the "success" field.</summary>
  public const int SuccessFieldNumber = 1;
  private bool success_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Success {
    get { return success_; }
    set {
      success_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScFactoryHubWorkshopMake);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScFactoryHubWorkshopMake other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Success != other.Success) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Success != false) hash ^= Success.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Success != false) {
      output.WriteRawTag(8);
      output.WriteBool(Success);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Success != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScFactoryHubWorkshopMake other) {
    if (other == null) {
      return;
    }
    if (other.Success != false) {
      Success = other.Success;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Success = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class CsFactoryProductManualUnlock : pb::IMessage<CsFactoryProductManualUnlock> {
  private static readonly pb::MessageParser<CsFactoryProductManualUnlock> _parser = new pb::MessageParser<CsFactoryProductManualUnlock>(() => new CsFactoryProductManualUnlock());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsFactoryProductManualUnlock> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[393]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFactoryProductManualUnlock() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFactoryProductManualUnlock(CsFactoryProductManualUnlock other) : this() {
    scopeName_ = other.scopeName_;
    idList_ = other.idList_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFactoryProductManualUnlock Clone() {
    return new CsFactoryProductManualUnlock(this);
  }

  /// <summary>Field number for the "scope_name" field.</summary>
  public const int ScopeNameFieldNumber = 1;
  private int scopeName_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ScopeName {
    get { return scopeName_; }
    set {
      scopeName_ = value;
    }
  }

  /// <summary>Field number for the "id_list" field.</summary>
  public const int IdListFieldNumber = 2;
  private static readonly pb::FieldCodec<string> _repeated_idList_codec
      = pb::FieldCodec.ForString(18);
  private readonly pbc::RepeatedField<string> idList_ = new pbc::RepeatedField<string>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<string> IdList {
    get { return idList_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsFactoryProductManualUnlock);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsFactoryProductManualUnlock other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ScopeName != other.ScopeName) return false;
    if(!idList_.Equals(other.idList_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ScopeName != 0) hash ^= ScopeName.GetHashCode();
    hash ^= idList_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ScopeName != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(ScopeName);
    }
    idList_.WriteTo(output, _repeated_idList_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ScopeName != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ScopeName);
    }
    size += idList_.CalculateSize(_repeated_idList_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsFactoryProductManualUnlock other) {
    if (other == null) {
      return;
    }
    if (other.ScopeName != 0) {
      ScopeName = other.ScopeName;
    }
    idList_.Add(other.idList_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ScopeName = input.ReadInt32();
          break;
        }
        case 18: {
          idList_.AddEntriesFrom(input, _repeated_idList_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScFactoryProductManualUnlock : pb::IMessage<ScFactoryProductManualUnlock> {
  private static readonly pb::MessageParser<ScFactoryProductManualUnlock> _parser = new pb::MessageParser<ScFactoryProductManualUnlock>(() => new ScFactoryProductManualUnlock());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScFactoryProductManualUnlock> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[394]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactoryProductManualUnlock() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactoryProductManualUnlock(ScFactoryProductManualUnlock other) : this() {
    scopeName_ = other.scopeName_;
    idList_ = other.idList_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactoryProductManualUnlock Clone() {
    return new ScFactoryProductManualUnlock(this);
  }

  /// <summary>Field number for the "scope_name" field.</summary>
  public const int ScopeNameFieldNumber = 1;
  private int scopeName_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ScopeName {
    get { return scopeName_; }
    set {
      scopeName_ = value;
    }
  }

  /// <summary>Field number for the "id_list" field.</summary>
  public const int IdListFieldNumber = 2;
  private static readonly pb::FieldCodec<string> _repeated_idList_codec
      = pb::FieldCodec.ForString(18);
  private readonly pbc::RepeatedField<string> idList_ = new pbc::RepeatedField<string>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<string> IdList {
    get { return idList_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScFactoryProductManualUnlock);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScFactoryProductManualUnlock other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ScopeName != other.ScopeName) return false;
    if(!idList_.Equals(other.idList_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ScopeName != 0) hash ^= ScopeName.GetHashCode();
    hash ^= idList_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ScopeName != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(ScopeName);
    }
    idList_.WriteTo(output, _repeated_idList_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ScopeName != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ScopeName);
    }
    size += idList_.CalculateSize(_repeated_idList_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScFactoryProductManualUnlock other) {
    if (other == null) {
      return;
    }
    if (other.ScopeName != 0) {
      ScopeName = other.ScopeName;
    }
    idList_.Add(other.idList_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ScopeName = input.ReadInt32();
          break;
        }
        case 18: {
          idList_.AddEntriesFrom(input, _repeated_idList_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class CsFactoryManuallyWorkExec : pb::IMessage<CsFactoryManuallyWorkExec> {
  private static readonly pb::MessageParser<CsFactoryManuallyWorkExec> _parser = new pb::MessageParser<CsFactoryManuallyWorkExec>(() => new CsFactoryManuallyWorkExec());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsFactoryManuallyWorkExec> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[395]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFactoryManuallyWorkExec() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFactoryManuallyWorkExec(CsFactoryManuallyWorkExec other) : this() {
    scopeName_ = other.scopeName_;
    formulaId_ = other.formulaId_;
    count_ = other.count_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFactoryManuallyWorkExec Clone() {
    return new CsFactoryManuallyWorkExec(this);
  }

  /// <summary>Field number for the "scope_name" field.</summary>
  public const int ScopeNameFieldNumber = 1;
  private int scopeName_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ScopeName {
    get { return scopeName_; }
    set {
      scopeName_ = value;
    }
  }

  /// <summary>Field number for the "formula_id" field.</summary>
  public const int FormulaIdFieldNumber = 2;
  private string formulaId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string FormulaId {
    get { return formulaId_; }
    set {
      formulaId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "count" field.</summary>
  public const int CountFieldNumber = 3;
  private int count_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Count {
    get { return count_; }
    set {
      count_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsFactoryManuallyWorkExec);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsFactoryManuallyWorkExec other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ScopeName != other.ScopeName) return false;
    if (FormulaId != other.FormulaId) return false;
    if (Count != other.Count) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ScopeName != 0) hash ^= ScopeName.GetHashCode();
    if (FormulaId.Length != 0) hash ^= FormulaId.GetHashCode();
    if (Count != 0) hash ^= Count.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ScopeName != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(ScopeName);
    }
    if (FormulaId.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(FormulaId);
    }
    if (Count != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(Count);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ScopeName != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ScopeName);
    }
    if (FormulaId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(FormulaId);
    }
    if (Count != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Count);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsFactoryManuallyWorkExec other) {
    if (other == null) {
      return;
    }
    if (other.ScopeName != 0) {
      ScopeName = other.ScopeName;
    }
    if (other.FormulaId.Length != 0) {
      FormulaId = other.FormulaId;
    }
    if (other.Count != 0) {
      Count = other.Count;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ScopeName = input.ReadInt32();
          break;
        }
        case 18: {
          FormulaId = input.ReadString();
          break;
        }
        case 24: {
          Count = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScFactoryManuallyWorkExec : pb::IMessage<ScFactoryManuallyWorkExec> {
  private static readonly pb::MessageParser<ScFactoryManuallyWorkExec> _parser = new pb::MessageParser<ScFactoryManuallyWorkExec>(() => new ScFactoryManuallyWorkExec());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScFactoryManuallyWorkExec> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[396]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactoryManuallyWorkExec() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactoryManuallyWorkExec(ScFactoryManuallyWorkExec other) : this() {
    scopeName_ = other.scopeName_;
    formulaId_ = other.formulaId_;
    count_ = other.count_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactoryManuallyWorkExec Clone() {
    return new ScFactoryManuallyWorkExec(this);
  }

  /// <summary>Field number for the "scope_name" field.</summary>
  public const int ScopeNameFieldNumber = 1;
  private int scopeName_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ScopeName {
    get { return scopeName_; }
    set {
      scopeName_ = value;
    }
  }

  /// <summary>Field number for the "formula_id" field.</summary>
  public const int FormulaIdFieldNumber = 2;
  private string formulaId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string FormulaId {
    get { return formulaId_; }
    set {
      formulaId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "count" field.</summary>
  public const int CountFieldNumber = 3;
  private int count_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Count {
    get { return count_; }
    set {
      count_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScFactoryManuallyWorkExec);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScFactoryManuallyWorkExec other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ScopeName != other.ScopeName) return false;
    if (FormulaId != other.FormulaId) return false;
    if (Count != other.Count) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ScopeName != 0) hash ^= ScopeName.GetHashCode();
    if (FormulaId.Length != 0) hash ^= FormulaId.GetHashCode();
    if (Count != 0) hash ^= Count.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ScopeName != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(ScopeName);
    }
    if (FormulaId.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(FormulaId);
    }
    if (Count != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(Count);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ScopeName != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ScopeName);
    }
    if (FormulaId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(FormulaId);
    }
    if (Count != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Count);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScFactoryManuallyWorkExec other) {
    if (other == null) {
      return;
    }
    if (other.ScopeName != 0) {
      ScopeName = other.ScopeName;
    }
    if (other.FormulaId.Length != 0) {
      FormulaId = other.FormulaId;
    }
    if (other.Count != 0) {
      Count = other.Count;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ScopeName = input.ReadInt32();
          break;
        }
        case 18: {
          FormulaId = input.ReadString();
          break;
        }
        case 24: {
          Count = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdVec3Int : pb::IMessage<ScdVec3Int> {
  private static readonly pb::MessageParser<ScdVec3Int> _parser = new pb::MessageParser<ScdVec3Int>(() => new ScdVec3Int());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdVec3Int> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[397]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdVec3Int() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdVec3Int(ScdVec3Int other) : this() {
    x_ = other.x_;
    y_ = other.y_;
    z_ = other.z_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdVec3Int Clone() {
    return new ScdVec3Int(this);
  }

  /// <summary>Field number for the "x" field.</summary>
  public const int XFieldNumber = 1;
  private int x_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int X {
    get { return x_; }
    set {
      x_ = value;
    }
  }

  /// <summary>Field number for the "y" field.</summary>
  public const int YFieldNumber = 2;
  private int y_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Y {
    get { return y_; }
    set {
      y_ = value;
    }
  }

  /// <summary>Field number for the "z" field.</summary>
  public const int ZFieldNumber = 3;
  private int z_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Z {
    get { return z_; }
    set {
      z_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdVec3Int);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdVec3Int other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (X != other.X) return false;
    if (Y != other.Y) return false;
    if (Z != other.Z) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (X != 0) hash ^= X.GetHashCode();
    if (Y != 0) hash ^= Y.GetHashCode();
    if (Z != 0) hash ^= Z.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (X != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(X);
    }
    if (Y != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(Y);
    }
    if (Z != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(Z);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (X != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(X);
    }
    if (Y != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Y);
    }
    if (Z != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Z);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdVec3Int other) {
    if (other == null) {
      return;
    }
    if (other.X != 0) {
      X = other.X;
    }
    if (other.Y != 0) {
      Y = other.Y;
    }
    if (other.Z != 0) {
      Z = other.Z;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          X = input.ReadInt32();
          break;
        }
        case 16: {
          Y = input.ReadInt32();
          break;
        }
        case 24: {
          Z = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdRectInt : pb::IMessage<ScdRectInt> {
  private static readonly pb::MessageParser<ScdRectInt> _parser = new pb::MessageParser<ScdRectInt>(() => new ScdRectInt());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdRectInt> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[398]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdRectInt() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdRectInt(ScdRectInt other) : this() {
    x_ = other.x_;
    y_ = other.y_;
    z_ = other.z_;
    l_ = other.l_;
    w_ = other.w_;
    h_ = other.h_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdRectInt Clone() {
    return new ScdRectInt(this);
  }

  /// <summary>Field number for the "x" field.</summary>
  public const int XFieldNumber = 1;
  private int x_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int X {
    get { return x_; }
    set {
      x_ = value;
    }
  }

  /// <summary>Field number for the "y" field.</summary>
  public const int YFieldNumber = 2;
  private int y_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Y {
    get { return y_; }
    set {
      y_ = value;
    }
  }

  /// <summary>Field number for the "z" field.</summary>
  public const int ZFieldNumber = 3;
  private int z_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Z {
    get { return z_; }
    set {
      z_ = value;
    }
  }

  /// <summary>Field number for the "l" field.</summary>
  public const int LFieldNumber = 4;
  private int l_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int L {
    get { return l_; }
    set {
      l_ = value;
    }
  }

  /// <summary>Field number for the "w" field.</summary>
  public const int WFieldNumber = 5;
  private int w_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int W {
    get { return w_; }
    set {
      w_ = value;
    }
  }

  /// <summary>Field number for the "h" field.</summary>
  public const int HFieldNumber = 6;
  private int h_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int H {
    get { return h_; }
    set {
      h_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdRectInt);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdRectInt other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (X != other.X) return false;
    if (Y != other.Y) return false;
    if (Z != other.Z) return false;
    if (L != other.L) return false;
    if (W != other.W) return false;
    if (H != other.H) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (X != 0) hash ^= X.GetHashCode();
    if (Y != 0) hash ^= Y.GetHashCode();
    if (Z != 0) hash ^= Z.GetHashCode();
    if (L != 0) hash ^= L.GetHashCode();
    if (W != 0) hash ^= W.GetHashCode();
    if (H != 0) hash ^= H.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (X != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(X);
    }
    if (Y != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(Y);
    }
    if (Z != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(Z);
    }
    if (L != 0) {
      output.WriteRawTag(32);
      output.WriteInt32(L);
    }
    if (W != 0) {
      output.WriteRawTag(40);
      output.WriteInt32(W);
    }
    if (H != 0) {
      output.WriteRawTag(48);
      output.WriteInt32(H);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (X != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(X);
    }
    if (Y != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Y);
    }
    if (Z != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Z);
    }
    if (L != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(L);
    }
    if (W != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(W);
    }
    if (H != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(H);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdRectInt other) {
    if (other == null) {
      return;
    }
    if (other.X != 0) {
      X = other.X;
    }
    if (other.Y != 0) {
      Y = other.Y;
    }
    if (other.Z != 0) {
      Z = other.Z;
    }
    if (other.L != 0) {
      L = other.L;
    }
    if (other.W != 0) {
      W = other.W;
    }
    if (other.H != 0) {
      H = other.H;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          X = input.ReadInt32();
          break;
        }
        case 16: {
          Y = input.ReadInt32();
          break;
        }
        case 24: {
          Z = input.ReadInt32();
          break;
        }
        case 32: {
          L = input.ReadInt32();
          break;
        }
        case 40: {
          W = input.ReadInt32();
          break;
        }
        case 48: {
          H = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFacSubPort : pb::IMessage<ScdFacSubPort> {
  private static readonly pb::MessageParser<ScdFacSubPort> _parser = new pb::MessageParser<ScdFacSubPort>(() => new ScdFacSubPort());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFacSubPort> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[399]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacSubPort() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacSubPort(ScdFacSubPort other) : this() {
    position_ = other.position_ != null ? other.position_.Clone() : null;
    direction_ = other.direction_ != null ? other.direction_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacSubPort Clone() {
    return new ScdFacSubPort(this);
  }

  /// <summary>Field number for the "position" field.</summary>
  public const int PositionFieldNumber = 1;
  private global::ScdVec3Int position_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdVec3Int Position {
    get { return position_; }
    set {
      position_ = value;
    }
  }

  /// <summary>Field number for the "direction" field.</summary>
  public const int DirectionFieldNumber = 2;
  private global::ScdVec3Int direction_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdVec3Int Direction {
    get { return direction_; }
    set {
      direction_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFacSubPort);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFacSubPort other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!object.Equals(Position, other.Position)) return false;
    if (!object.Equals(Direction, other.Direction)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (position_ != null) hash ^= Position.GetHashCode();
    if (direction_ != null) hash ^= Direction.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (position_ != null) {
      output.WriteRawTag(10);
      output.WriteMessage(Position);
    }
    if (direction_ != null) {
      output.WriteRawTag(18);
      output.WriteMessage(Direction);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (position_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Position);
    }
    if (direction_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Direction);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFacSubPort other) {
    if (other == null) {
      return;
    }
    if (other.position_ != null) {
      if (position_ == null) {
        position_ = new global::ScdVec3Int();
      }
      Position.MergeFrom(other.Position);
    }
    if (other.direction_ != null) {
      if (direction_ == null) {
        direction_ = new global::ScdVec3Int();
      }
      Direction.MergeFrom(other.Direction);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          if (position_ == null) {
            position_ = new global::ScdVec3Int();
          }
          input.ReadMessage(position_);
          break;
        }
        case 18: {
          if (direction_ == null) {
            direction_ = new global::ScdVec3Int();
          }
          input.ReadMessage(direction_);
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFactorySyncItem : pb::IMessage<ScdFactorySyncItem> {
  private static readonly pb::MessageParser<ScdFactorySyncItem> _parser = new pb::MessageParser<ScdFactorySyncItem>(() => new ScdFactorySyncItem());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactorySyncItem> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[400]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactorySyncItem() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactorySyncItem(ScdFactorySyncItem other) : this() {
    id_ = other.id_;
    count_ = other.count_;
    tms_ = other.tms_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactorySyncItem Clone() {
    return new ScdFactorySyncItem(this);
  }

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

  /// <summary>Field number for the "count" field.</summary>
  public const int CountFieldNumber = 2;
  private int count_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Count {
    get { return count_; }
    set {
      count_ = value;
    }
  }

  /// <summary>Field number for the "tms" field.</summary>
  public const int TmsFieldNumber = 11;
  private long tms_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long Tms {
    get { return tms_; }
    set {
      tms_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactorySyncItem);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactorySyncItem other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Id != other.Id) return false;
    if (Count != other.Count) return false;
    if (Tms != other.Tms) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Id.Length != 0) hash ^= Id.GetHashCode();
    if (Count != 0) hash ^= Count.GetHashCode();
    if (Tms != 0L) hash ^= Tms.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Id.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(Id);
    }
    if (Count != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(Count);
    }
    if (Tms != 0L) {
      output.WriteRawTag(88);
      output.WriteInt64(Tms);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Id.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(Id);
    }
    if (Count != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Count);
    }
    if (Tms != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(Tms);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactorySyncItem other) {
    if (other == null) {
      return;
    }
    if (other.Id.Length != 0) {
      Id = other.Id;
    }
    if (other.Count != 0) {
      Count = other.Count;
    }
    if (other.Tms != 0L) {
      Tms = other.Tms;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          Id = input.ReadString();
          break;
        }
        case 16: {
          Count = input.ReadInt32();
          break;
        }
        case 88: {
          Tms = input.ReadInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFacFluidReactionFormula : pb::IMessage<ScdFacFluidReactionFormula> {
  private static readonly pb::MessageParser<ScdFacFluidReactionFormula> _parser = new pb::MessageParser<ScdFacFluidReactionFormula>(() => new ScdFacFluidReactionFormula());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFacFluidReactionFormula> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[401]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacFluidReactionFormula() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacFluidReactionFormula(ScdFacFluidReactionFormula other) : this() {
    formulaId_ = other.formulaId_;
    currentProgress_ = other.currentProgress_;
    inBlock_ = other.inBlock_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacFluidReactionFormula Clone() {
    return new ScdFacFluidReactionFormula(this);
  }

  /// <summary>Field number for the "formula_id" field.</summary>
  public const int FormulaIdFieldNumber = 1;
  private string formulaId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string FormulaId {
    get { return formulaId_; }
    set {
      formulaId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "current_progress" field.</summary>
  public const int CurrentProgressFieldNumber = 2;
  private long currentProgress_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long CurrentProgress {
    get { return currentProgress_; }
    set {
      currentProgress_ = value;
    }
  }

  /// <summary>Field number for the "in_block" field.</summary>
  public const int InBlockFieldNumber = 3;
  private bool inBlock_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool InBlock {
    get { return inBlock_; }
    set {
      inBlock_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFacFluidReactionFormula);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFacFluidReactionFormula other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (FormulaId != other.FormulaId) return false;
    if (CurrentProgress != other.CurrentProgress) return false;
    if (InBlock != other.InBlock) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (FormulaId.Length != 0) hash ^= FormulaId.GetHashCode();
    if (CurrentProgress != 0L) hash ^= CurrentProgress.GetHashCode();
    if (InBlock != false) hash ^= InBlock.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (FormulaId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(FormulaId);
    }
    if (CurrentProgress != 0L) {
      output.WriteRawTag(16);
      output.WriteInt64(CurrentProgress);
    }
    if (InBlock != false) {
      output.WriteRawTag(24);
      output.WriteBool(InBlock);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (FormulaId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(FormulaId);
    }
    if (CurrentProgress != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(CurrentProgress);
    }
    if (InBlock != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFacFluidReactionFormula other) {
    if (other == null) {
      return;
    }
    if (other.FormulaId.Length != 0) {
      FormulaId = other.FormulaId;
    }
    if (other.CurrentProgress != 0L) {
      CurrentProgress = other.CurrentProgress;
    }
    if (other.InBlock != false) {
      InBlock = other.InBlock;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          FormulaId = input.ReadString();
          break;
        }
        case 16: {
          CurrentProgress = input.ReadInt64();
          break;
        }
        case 24: {
          InBlock = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFactoryHsCt : pb::IMessage<ScdFactoryHsCt> {
  private static readonly pb::MessageParser<ScdFactoryHsCt> _parser = new pb::MessageParser<ScdFactoryHsCt>(() => new ScdFactoryHsCt());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactoryHsCt> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[402]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryHsCt() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryHsCt(ScdFactoryHsCt other) : this() {
    componentId_ = other.componentId_;
    itemIn_ = other.itemIn_.Clone();
    itemOut_ = other.itemOut_.Clone();
    indexIn_ = other.indexIn_.Clone();
    indexOut_ = other.indexOut_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryHsCt Clone() {
    return new ScdFactoryHsCt(this);
  }

  /// <summary>Field number for the "component_id" field.</summary>
  public const int ComponentIdFieldNumber = 1;
  private uint componentId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint ComponentId {
    get { return componentId_; }
    set {
      componentId_ = value;
    }
  }

  /// <summary>Field number for the "item_in" field.</summary>
  public const int ItemInFieldNumber = 2;
  private static readonly pb::FieldCodec<uint> _repeated_itemIn_codec
      = pb::FieldCodec.ForUInt32(18);
  private readonly pbc::RepeatedField<uint> itemIn_ = new pbc::RepeatedField<uint>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<uint> ItemIn {
    get { return itemIn_; }
  }

  /// <summary>Field number for the "item_out" field.</summary>
  public const int ItemOutFieldNumber = 3;
  private static readonly pb::FieldCodec<uint> _repeated_itemOut_codec
      = pb::FieldCodec.ForUInt32(26);
  private readonly pbc::RepeatedField<uint> itemOut_ = new pbc::RepeatedField<uint>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<uint> ItemOut {
    get { return itemOut_; }
  }

  /// <summary>Field number for the "index_in" field.</summary>
  public const int IndexInFieldNumber = 4;
  private static readonly pb::FieldCodec<int> _repeated_indexIn_codec
      = pb::FieldCodec.ForInt32(34);
  private readonly pbc::RepeatedField<int> indexIn_ = new pbc::RepeatedField<int>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<int> IndexIn {
    get { return indexIn_; }
  }

  /// <summary>Field number for the "index_out" field.</summary>
  public const int IndexOutFieldNumber = 5;
  private static readonly pb::FieldCodec<int> _repeated_indexOut_codec
      = pb::FieldCodec.ForInt32(42);
  private readonly pbc::RepeatedField<int> indexOut_ = new pbc::RepeatedField<int>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<int> IndexOut {
    get { return indexOut_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactoryHsCt);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactoryHsCt other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ComponentId != other.ComponentId) return false;
    if(!itemIn_.Equals(other.itemIn_)) return false;
    if(!itemOut_.Equals(other.itemOut_)) return false;
    if(!indexIn_.Equals(other.indexIn_)) return false;
    if(!indexOut_.Equals(other.indexOut_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ComponentId != 0) hash ^= ComponentId.GetHashCode();
    hash ^= itemIn_.GetHashCode();
    hash ^= itemOut_.GetHashCode();
    hash ^= indexIn_.GetHashCode();
    hash ^= indexOut_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ComponentId != 0) {
      output.WriteRawTag(8);
      output.WriteUInt32(ComponentId);
    }
    itemIn_.WriteTo(output, _repeated_itemIn_codec);
    itemOut_.WriteTo(output, _repeated_itemOut_codec);
    indexIn_.WriteTo(output, _repeated_indexIn_codec);
    indexOut_.WriteTo(output, _repeated_indexOut_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ComponentId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(ComponentId);
    }
    size += itemIn_.CalculateSize(_repeated_itemIn_codec);
    size += itemOut_.CalculateSize(_repeated_itemOut_codec);
    size += indexIn_.CalculateSize(_repeated_indexIn_codec);
    size += indexOut_.CalculateSize(_repeated_indexOut_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactoryHsCt other) {
    if (other == null) {
      return;
    }
    if (other.ComponentId != 0) {
      ComponentId = other.ComponentId;
    }
    itemIn_.Add(other.itemIn_);
    itemOut_.Add(other.itemOut_);
    indexIn_.Add(other.indexIn_);
    indexOut_.Add(other.indexOut_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ComponentId = input.ReadUInt32();
          break;
        }
        case 18:
        case 16: {
          itemIn_.AddEntriesFrom(input, _repeated_itemIn_codec);
          break;
        }
        case 26:
        case 24: {
          itemOut_.AddEntriesFrom(input, _repeated_itemOut_codec);
          break;
        }
        case 34:
        case 32: {
          indexIn_.AddEntriesFrom(input, _repeated_indexIn_codec);
          break;
        }
        case 42:
        case 40: {
          indexOut_.AddEntriesFrom(input, _repeated_indexOut_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFactoryHsFb : pb::IMessage<ScdFactoryHsFb> {
  private static readonly pb::MessageParser<ScdFactoryHsFb> _parser = new pb::MessageParser<ScdFactoryHsFb>(() => new ScdFactoryHsFb());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactoryHsFb> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[403]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryHsFb() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryHsFb(ScdFactoryHsFb other) : this() {
    componentId_ = other.componentId_;
    switch (other.ComponentPayloadCase) {
      case ComponentPayloadOneofCase.Cache:
        Cache = other.Cache.Clone();
        break;
      case ComponentPayloadOneofCase.Producer:
        Producer = other.Producer.Clone();
        break;
      case ComponentPayloadOneofCase.Collector:
        Collector = other.Collector.Clone();
        break;
      case ComponentPayloadOneofCase.BurnPower:
        BurnPower = other.BurnPower.Clone();
        break;
      case ComponentPayloadOneofCase.CacheTransport:
        CacheTransport = other.CacheTransport.Clone();
        break;
      case ComponentPayloadOneofCase.GridBox:
        GridBox = other.GridBox.Clone();
        break;
      case ComponentPayloadOneofCase.BoxRouterM1:
        BoxRouterM1 = other.BoxRouterM1.Clone();
        break;
      case ComponentPayloadOneofCase.BoxBridge:
        BoxBridge = other.BoxBridge.Clone();
        break;
      case ComponentPayloadOneofCase.FluidBridge:
        FluidBridge = other.FluidBridge.Clone();
        break;
      case ComponentPayloadOneofCase.FluidRouterM1:
        FluidRouterM1 = other.FluidRouterM1.Clone();
        break;
      case ComponentPayloadOneofCase.FluidContainer:
        FluidContainer = other.FluidContainer.Clone();
        break;
      case ComponentPayloadOneofCase.FluidPumpIn:
        FluidPumpIn = other.FluidPumpIn.Clone();
        break;
      case ComponentPayloadOneofCase.Battle:
        Battle = other.Battle.Clone();
        break;
      case ComponentPayloadOneofCase.BatteryBurn:
        BatteryBurn = other.BatteryBurn.Clone();
        break;
      case ComponentPayloadOneofCase.FluidSpray:
        FluidSpray = other.FluidSpray.Clone();
        break;
      case ComponentPayloadOneofCase.FluidPumpOut:
        FluidPumpOut = other.FluidPumpOut.Clone();
        break;
      case ComponentPayloadOneofCase.FluidConsume:
        FluidConsume = other.FluidConsume.Clone();
        break;
      case ComponentPayloadOneofCase.FluidReaction:
        FluidReaction = other.FluidReaction.Clone();
        break;
      case ComponentPayloadOneofCase.WaterCollector:
        WaterCollector = other.WaterCollector.Clone();
        break;
    }

    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryHsFb Clone() {
    return new ScdFactoryHsFb(this);
  }

  /// <summary>Field number for the "component_id" field.</summary>
  public const int ComponentIdFieldNumber = 1;
  private uint componentId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint ComponentId {
    get { return componentId_; }
    set {
      componentId_ = value;
    }
  }

  /// <summary>Field number for the "cache" field.</summary>
  public const int CacheFieldNumber = 2;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactoryHsFbCache Cache {
    get { return componentPayloadCase_ == ComponentPayloadOneofCase.Cache ? (global::ScdFactoryHsFbCache) componentPayload_ : null; }
    set {
      componentPayload_ = value;
      componentPayloadCase_ = value == null ? ComponentPayloadOneofCase.None : ComponentPayloadOneofCase.Cache;
    }
  }

  /// <summary>Field number for the "producer" field.</summary>
  public const int ProducerFieldNumber = 3;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactoryHsFbProducer Producer {
    get { return componentPayloadCase_ == ComponentPayloadOneofCase.Producer ? (global::ScdFactoryHsFbProducer) componentPayload_ : null; }
    set {
      componentPayload_ = value;
      componentPayloadCase_ = value == null ? ComponentPayloadOneofCase.None : ComponentPayloadOneofCase.Producer;
    }
  }

  /// <summary>Field number for the "collector" field.</summary>
  public const int CollectorFieldNumber = 4;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactoryHsFbCollector Collector {
    get { return componentPayloadCase_ == ComponentPayloadOneofCase.Collector ? (global::ScdFactoryHsFbCollector) componentPayload_ : null; }
    set {
      componentPayload_ = value;
      componentPayloadCase_ = value == null ? ComponentPayloadOneofCase.None : ComponentPayloadOneofCase.Collector;
    }
  }

  /// <summary>Field number for the "burn_power" field.</summary>
  public const int BurnPowerFieldNumber = 5;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactoryHsFbBurnPower BurnPower {
    get { return componentPayloadCase_ == ComponentPayloadOneofCase.BurnPower ? (global::ScdFactoryHsFbBurnPower) componentPayload_ : null; }
    set {
      componentPayload_ = value;
      componentPayloadCase_ = value == null ? ComponentPayloadOneofCase.None : ComponentPayloadOneofCase.BurnPower;
    }
  }

  /// <summary>Field number for the "cache_transport" field.</summary>
  public const int CacheTransportFieldNumber = 6;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactoryHsFbCacheTransport CacheTransport {
    get { return componentPayloadCase_ == ComponentPayloadOneofCase.CacheTransport ? (global::ScdFactoryHsFbCacheTransport) componentPayload_ : null; }
    set {
      componentPayload_ = value;
      componentPayloadCase_ = value == null ? ComponentPayloadOneofCase.None : ComponentPayloadOneofCase.CacheTransport;
    }
  }

  /// <summary>Field number for the "grid_box" field.</summary>
  public const int GridBoxFieldNumber = 7;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactoryHsFbGridBox GridBox {
    get { return componentPayloadCase_ == ComponentPayloadOneofCase.GridBox ? (global::ScdFactoryHsFbGridBox) componentPayload_ : null; }
    set {
      componentPayload_ = value;
      componentPayloadCase_ = value == null ? ComponentPayloadOneofCase.None : ComponentPayloadOneofCase.GridBox;
    }
  }

  /// <summary>Field number for the "box_router_m1" field.</summary>
  public const int BoxRouterM1FieldNumber = 8;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactoryHsFbBoxRouterM1 BoxRouterM1 {
    get { return componentPayloadCase_ == ComponentPayloadOneofCase.BoxRouterM1 ? (global::ScdFactoryHsFbBoxRouterM1) componentPayload_ : null; }
    set {
      componentPayload_ = value;
      componentPayloadCase_ = value == null ? ComponentPayloadOneofCase.None : ComponentPayloadOneofCase.BoxRouterM1;
    }
  }

  /// <summary>Field number for the "box_bridge" field.</summary>
  public const int BoxBridgeFieldNumber = 9;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactoryHsFbBoxBridge BoxBridge {
    get { return componentPayloadCase_ == ComponentPayloadOneofCase.BoxBridge ? (global::ScdFactoryHsFbBoxBridge) componentPayload_ : null; }
    set {
      componentPayload_ = value;
      componentPayloadCase_ = value == null ? ComponentPayloadOneofCase.None : ComponentPayloadOneofCase.BoxBridge;
    }
  }

  /// <summary>Field number for the "fluid_bridge" field.</summary>
  public const int FluidBridgeFieldNumber = 12;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactoryHsFbFluidBridge FluidBridge {
    get { return componentPayloadCase_ == ComponentPayloadOneofCase.FluidBridge ? (global::ScdFactoryHsFbFluidBridge) componentPayload_ : null; }
    set {
      componentPayload_ = value;
      componentPayloadCase_ = value == null ? ComponentPayloadOneofCase.None : ComponentPayloadOneofCase.FluidBridge;
    }
  }

  /// <summary>Field number for the "fluid_router_m1" field.</summary>
  public const int FluidRouterM1FieldNumber = 13;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactoryHsFbFluidRouterM1 FluidRouterM1 {
    get { return componentPayloadCase_ == ComponentPayloadOneofCase.FluidRouterM1 ? (global::ScdFactoryHsFbFluidRouterM1) componentPayload_ : null; }
    set {
      componentPayload_ = value;
      componentPayloadCase_ = value == null ? ComponentPayloadOneofCase.None : ComponentPayloadOneofCase.FluidRouterM1;
    }
  }

  /// <summary>Field number for the "fluid_container" field.</summary>
  public const int FluidContainerFieldNumber = 14;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactoryHsFbFluidContainer FluidContainer {
    get { return componentPayloadCase_ == ComponentPayloadOneofCase.FluidContainer ? (global::ScdFactoryHsFbFluidContainer) componentPayload_ : null; }
    set {
      componentPayload_ = value;
      componentPayloadCase_ = value == null ? ComponentPayloadOneofCase.None : ComponentPayloadOneofCase.FluidContainer;
    }
  }

  /// <summary>Field number for the "fluid_pump_in" field.</summary>
  public const int FluidPumpInFieldNumber = 15;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactoryHsFbFluidPumpIn FluidPumpIn {
    get { return componentPayloadCase_ == ComponentPayloadOneofCase.FluidPumpIn ? (global::ScdFactoryHsFbFluidPumpIn) componentPayload_ : null; }
    set {
      componentPayload_ = value;
      componentPayloadCase_ = value == null ? ComponentPayloadOneofCase.None : ComponentPayloadOneofCase.FluidPumpIn;
    }
  }

  /// <summary>Field number for the "battle" field.</summary>
  public const int BattleFieldNumber = 16;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactoryHsFbBattle Battle {
    get { return componentPayloadCase_ == ComponentPayloadOneofCase.Battle ? (global::ScdFactoryHsFbBattle) componentPayload_ : null; }
    set {
      componentPayload_ = value;
      componentPayloadCase_ = value == null ? ComponentPayloadOneofCase.None : ComponentPayloadOneofCase.Battle;
    }
  }

  /// <summary>Field number for the "battery_burn" field.</summary>
  public const int BatteryBurnFieldNumber = 17;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactoryHsFbBatteryBurn BatteryBurn {
    get { return componentPayloadCase_ == ComponentPayloadOneofCase.BatteryBurn ? (global::ScdFactoryHsFbBatteryBurn) componentPayload_ : null; }
    set {
      componentPayload_ = value;
      componentPayloadCase_ = value == null ? ComponentPayloadOneofCase.None : ComponentPayloadOneofCase.BatteryBurn;
    }
  }

  /// <summary>Field number for the "fluid_spray" field.</summary>
  public const int FluidSprayFieldNumber = 18;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactoryHsFbFluidSpray FluidSpray {
    get { return componentPayloadCase_ == ComponentPayloadOneofCase.FluidSpray ? (global::ScdFactoryHsFbFluidSpray) componentPayload_ : null; }
    set {
      componentPayload_ = value;
      componentPayloadCase_ = value == null ? ComponentPayloadOneofCase.None : ComponentPayloadOneofCase.FluidSpray;
    }
  }

  /// <summary>Field number for the "fluid_pump_out" field.</summary>
  public const int FluidPumpOutFieldNumber = 19;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactoryHsFbFluidPumpOut FluidPumpOut {
    get { return componentPayloadCase_ == ComponentPayloadOneofCase.FluidPumpOut ? (global::ScdFactoryHsFbFluidPumpOut) componentPayload_ : null; }
    set {
      componentPayload_ = value;
      componentPayloadCase_ = value == null ? ComponentPayloadOneofCase.None : ComponentPayloadOneofCase.FluidPumpOut;
    }
  }

  /// <summary>Field number for the "fluid_consume" field.</summary>
  public const int FluidConsumeFieldNumber = 20;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactoryHsFbFluidConsume FluidConsume {
    get { return componentPayloadCase_ == ComponentPayloadOneofCase.FluidConsume ? (global::ScdFactoryHsFbFluidConsume) componentPayload_ : null; }
    set {
      componentPayload_ = value;
      componentPayloadCase_ = value == null ? ComponentPayloadOneofCase.None : ComponentPayloadOneofCase.FluidConsume;
    }
  }

  /// <summary>Field number for the "fluid_reaction" field.</summary>
  public const int FluidReactionFieldNumber = 21;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactoryHsFbFluidReaction FluidReaction {
    get { return componentPayloadCase_ == ComponentPayloadOneofCase.FluidReaction ? (global::ScdFactoryHsFbFluidReaction) componentPayload_ : null; }
    set {
      componentPayload_ = value;
      componentPayloadCase_ = value == null ? ComponentPayloadOneofCase.None : ComponentPayloadOneofCase.FluidReaction;
    }
  }

  /// <summary>Field number for the "water_collector" field.</summary>
  public const int WaterCollectorFieldNumber = 22;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactoryHsFbWaterCollector WaterCollector {
    get { return componentPayloadCase_ == ComponentPayloadOneofCase.WaterCollector ? (global::ScdFactoryHsFbWaterCollector) componentPayload_ : null; }
    set {
      componentPayload_ = value;
      componentPayloadCase_ = value == null ? ComponentPayloadOneofCase.None : ComponentPayloadOneofCase.WaterCollector;
    }
  }

  private object componentPayload_;
  /// <summary>Enum of possible cases for the "component_payload" oneof.</summary>
  public enum ComponentPayloadOneofCase {
    None = 0,
    Cache = 2,
    Producer = 3,
    Collector = 4,
    BurnPower = 5,
    CacheTransport = 6,
    GridBox = 7,
    BoxRouterM1 = 8,
    BoxBridge = 9,
    FluidBridge = 12,
    FluidRouterM1 = 13,
    FluidContainer = 14,
    FluidPumpIn = 15,
    Battle = 16,
    BatteryBurn = 17,
    FluidSpray = 18,
    FluidPumpOut = 19,
    FluidConsume = 20,
    FluidReaction = 21,
    WaterCollector = 22,
  }
  private ComponentPayloadOneofCase componentPayloadCase_ = ComponentPayloadOneofCase.None;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ComponentPayloadOneofCase ComponentPayloadCase {
    get { return componentPayloadCase_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void ClearComponentPayload() {
    componentPayloadCase_ = ComponentPayloadOneofCase.None;
    componentPayload_ = null;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactoryHsFb);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactoryHsFb other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ComponentId != other.ComponentId) return false;
    if (!object.Equals(Cache, other.Cache)) return false;
    if (!object.Equals(Producer, other.Producer)) return false;
    if (!object.Equals(Collector, other.Collector)) return false;
    if (!object.Equals(BurnPower, other.BurnPower)) return false;
    if (!object.Equals(CacheTransport, other.CacheTransport)) return false;
    if (!object.Equals(GridBox, other.GridBox)) return false;
    if (!object.Equals(BoxRouterM1, other.BoxRouterM1)) return false;
    if (!object.Equals(BoxBridge, other.BoxBridge)) return false;
    if (!object.Equals(FluidBridge, other.FluidBridge)) return false;
    if (!object.Equals(FluidRouterM1, other.FluidRouterM1)) return false;
    if (!object.Equals(FluidContainer, other.FluidContainer)) return false;
    if (!object.Equals(FluidPumpIn, other.FluidPumpIn)) return false;
    if (!object.Equals(Battle, other.Battle)) return false;
    if (!object.Equals(BatteryBurn, other.BatteryBurn)) return false;
    if (!object.Equals(FluidSpray, other.FluidSpray)) return false;
    if (!object.Equals(FluidPumpOut, other.FluidPumpOut)) return false;
    if (!object.Equals(FluidConsume, other.FluidConsume)) return false;
    if (!object.Equals(FluidReaction, other.FluidReaction)) return false;
    if (!object.Equals(WaterCollector, other.WaterCollector)) return false;
    if (ComponentPayloadCase != other.ComponentPayloadCase) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ComponentId != 0) hash ^= ComponentId.GetHashCode();
    if (componentPayloadCase_ == ComponentPayloadOneofCase.Cache) hash ^= Cache.GetHashCode();
    if (componentPayloadCase_ == ComponentPayloadOneofCase.Producer) hash ^= Producer.GetHashCode();
    if (componentPayloadCase_ == ComponentPayloadOneofCase.Collector) hash ^= Collector.GetHashCode();
    if (componentPayloadCase_ == ComponentPayloadOneofCase.BurnPower) hash ^= BurnPower.GetHashCode();
    if (componentPayloadCase_ == ComponentPayloadOneofCase.CacheTransport) hash ^= CacheTransport.GetHashCode();
    if (componentPayloadCase_ == ComponentPayloadOneofCase.GridBox) hash ^= GridBox.GetHashCode();
    if (componentPayloadCase_ == ComponentPayloadOneofCase.BoxRouterM1) hash ^= BoxRouterM1.GetHashCode();
    if (componentPayloadCase_ == ComponentPayloadOneofCase.BoxBridge) hash ^= BoxBridge.GetHashCode();
    if (componentPayloadCase_ == ComponentPayloadOneofCase.FluidBridge) hash ^= FluidBridge.GetHashCode();
    if (componentPayloadCase_ == ComponentPayloadOneofCase.FluidRouterM1) hash ^= FluidRouterM1.GetHashCode();
    if (componentPayloadCase_ == ComponentPayloadOneofCase.FluidContainer) hash ^= FluidContainer.GetHashCode();
    if (componentPayloadCase_ == ComponentPayloadOneofCase.FluidPumpIn) hash ^= FluidPumpIn.GetHashCode();
    if (componentPayloadCase_ == ComponentPayloadOneofCase.Battle) hash ^= Battle.GetHashCode();
    if (componentPayloadCase_ == ComponentPayloadOneofCase.BatteryBurn) hash ^= BatteryBurn.GetHashCode();
    if (componentPayloadCase_ == ComponentPayloadOneofCase.FluidSpray) hash ^= FluidSpray.GetHashCode();
    if (componentPayloadCase_ == ComponentPayloadOneofCase.FluidPumpOut) hash ^= FluidPumpOut.GetHashCode();
    if (componentPayloadCase_ == ComponentPayloadOneofCase.FluidConsume) hash ^= FluidConsume.GetHashCode();
    if (componentPayloadCase_ == ComponentPayloadOneofCase.FluidReaction) hash ^= FluidReaction.GetHashCode();
    if (componentPayloadCase_ == ComponentPayloadOneofCase.WaterCollector) hash ^= WaterCollector.GetHashCode();
    hash ^= (int) componentPayloadCase_;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ComponentId != 0) {
      output.WriteRawTag(8);
      output.WriteUInt32(ComponentId);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.Cache) {
      output.WriteRawTag(18);
      output.WriteMessage(Cache);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.Producer) {
      output.WriteRawTag(26);
      output.WriteMessage(Producer);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.Collector) {
      output.WriteRawTag(34);
      output.WriteMessage(Collector);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.BurnPower) {
      output.WriteRawTag(42);
      output.WriteMessage(BurnPower);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.CacheTransport) {
      output.WriteRawTag(50);
      output.WriteMessage(CacheTransport);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.GridBox) {
      output.WriteRawTag(58);
      output.WriteMessage(GridBox);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.BoxRouterM1) {
      output.WriteRawTag(66);
      output.WriteMessage(BoxRouterM1);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.BoxBridge) {
      output.WriteRawTag(74);
      output.WriteMessage(BoxBridge);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.FluidBridge) {
      output.WriteRawTag(98);
      output.WriteMessage(FluidBridge);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.FluidRouterM1) {
      output.WriteRawTag(106);
      output.WriteMessage(FluidRouterM1);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.FluidContainer) {
      output.WriteRawTag(114);
      output.WriteMessage(FluidContainer);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.FluidPumpIn) {
      output.WriteRawTag(122);
      output.WriteMessage(FluidPumpIn);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.Battle) {
      output.WriteRawTag(130, 1);
      output.WriteMessage(Battle);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.BatteryBurn) {
      output.WriteRawTag(138, 1);
      output.WriteMessage(BatteryBurn);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.FluidSpray) {
      output.WriteRawTag(146, 1);
      output.WriteMessage(FluidSpray);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.FluidPumpOut) {
      output.WriteRawTag(154, 1);
      output.WriteMessage(FluidPumpOut);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.FluidConsume) {
      output.WriteRawTag(162, 1);
      output.WriteMessage(FluidConsume);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.FluidReaction) {
      output.WriteRawTag(170, 1);
      output.WriteMessage(FluidReaction);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.WaterCollector) {
      output.WriteRawTag(178, 1);
      output.WriteMessage(WaterCollector);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ComponentId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(ComponentId);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.Cache) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Cache);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.Producer) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Producer);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.Collector) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Collector);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.BurnPower) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(BurnPower);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.CacheTransport) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(CacheTransport);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.GridBox) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(GridBox);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.BoxRouterM1) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(BoxRouterM1);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.BoxBridge) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(BoxBridge);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.FluidBridge) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(FluidBridge);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.FluidRouterM1) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(FluidRouterM1);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.FluidContainer) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(FluidContainer);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.FluidPumpIn) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(FluidPumpIn);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.Battle) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(Battle);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.BatteryBurn) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(BatteryBurn);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.FluidSpray) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(FluidSpray);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.FluidPumpOut) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(FluidPumpOut);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.FluidConsume) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(FluidConsume);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.FluidReaction) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(FluidReaction);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.WaterCollector) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(WaterCollector);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactoryHsFb other) {
    if (other == null) {
      return;
    }
    if (other.ComponentId != 0) {
      ComponentId = other.ComponentId;
    }
    switch (other.ComponentPayloadCase) {
      case ComponentPayloadOneofCase.Cache:
        if (Cache == null) {
          Cache = new global::ScdFactoryHsFbCache();
        }
        Cache.MergeFrom(other.Cache);
        break;
      case ComponentPayloadOneofCase.Producer:
        if (Producer == null) {
          Producer = new global::ScdFactoryHsFbProducer();
        }
        Producer.MergeFrom(other.Producer);
        break;
      case ComponentPayloadOneofCase.Collector:
        if (Collector == null) {
          Collector = new global::ScdFactoryHsFbCollector();
        }
        Collector.MergeFrom(other.Collector);
        break;
      case ComponentPayloadOneofCase.BurnPower:
        if (BurnPower == null) {
          BurnPower = new global::ScdFactoryHsFbBurnPower();
        }
        BurnPower.MergeFrom(other.BurnPower);
        break;
      case ComponentPayloadOneofCase.CacheTransport:
        if (CacheTransport == null) {
          CacheTransport = new global::ScdFactoryHsFbCacheTransport();
        }
        CacheTransport.MergeFrom(other.CacheTransport);
        break;
      case ComponentPayloadOneofCase.GridBox:
        if (GridBox == null) {
          GridBox = new global::ScdFactoryHsFbGridBox();
        }
        GridBox.MergeFrom(other.GridBox);
        break;
      case ComponentPayloadOneofCase.BoxRouterM1:
        if (BoxRouterM1 == null) {
          BoxRouterM1 = new global::ScdFactoryHsFbBoxRouterM1();
        }
        BoxRouterM1.MergeFrom(other.BoxRouterM1);
        break;
      case ComponentPayloadOneofCase.BoxBridge:
        if (BoxBridge == null) {
          BoxBridge = new global::ScdFactoryHsFbBoxBridge();
        }
        BoxBridge.MergeFrom(other.BoxBridge);
        break;
      case ComponentPayloadOneofCase.FluidBridge:
        if (FluidBridge == null) {
          FluidBridge = new global::ScdFactoryHsFbFluidBridge();
        }
        FluidBridge.MergeFrom(other.FluidBridge);
        break;
      case ComponentPayloadOneofCase.FluidRouterM1:
        if (FluidRouterM1 == null) {
          FluidRouterM1 = new global::ScdFactoryHsFbFluidRouterM1();
        }
        FluidRouterM1.MergeFrom(other.FluidRouterM1);
        break;
      case ComponentPayloadOneofCase.FluidContainer:
        if (FluidContainer == null) {
          FluidContainer = new global::ScdFactoryHsFbFluidContainer();
        }
        FluidContainer.MergeFrom(other.FluidContainer);
        break;
      case ComponentPayloadOneofCase.FluidPumpIn:
        if (FluidPumpIn == null) {
          FluidPumpIn = new global::ScdFactoryHsFbFluidPumpIn();
        }
        FluidPumpIn.MergeFrom(other.FluidPumpIn);
        break;
      case ComponentPayloadOneofCase.Battle:
        if (Battle == null) {
          Battle = new global::ScdFactoryHsFbBattle();
        }
        Battle.MergeFrom(other.Battle);
        break;
      case ComponentPayloadOneofCase.BatteryBurn:
        if (BatteryBurn == null) {
          BatteryBurn = new global::ScdFactoryHsFbBatteryBurn();
        }
        BatteryBurn.MergeFrom(other.BatteryBurn);
        break;
      case ComponentPayloadOneofCase.FluidSpray:
        if (FluidSpray == null) {
          FluidSpray = new global::ScdFactoryHsFbFluidSpray();
        }
        FluidSpray.MergeFrom(other.FluidSpray);
        break;
      case ComponentPayloadOneofCase.FluidPumpOut:
        if (FluidPumpOut == null) {
          FluidPumpOut = new global::ScdFactoryHsFbFluidPumpOut();
        }
        FluidPumpOut.MergeFrom(other.FluidPumpOut);
        break;
      case ComponentPayloadOneofCase.FluidConsume:
        if (FluidConsume == null) {
          FluidConsume = new global::ScdFactoryHsFbFluidConsume();
        }
        FluidConsume.MergeFrom(other.FluidConsume);
        break;
      case ComponentPayloadOneofCase.FluidReaction:
        if (FluidReaction == null) {
          FluidReaction = new global::ScdFactoryHsFbFluidReaction();
        }
        FluidReaction.MergeFrom(other.FluidReaction);
        break;
      case ComponentPayloadOneofCase.WaterCollector:
        if (WaterCollector == null) {
          WaterCollector = new global::ScdFactoryHsFbWaterCollector();
        }
        WaterCollector.MergeFrom(other.WaterCollector);
        break;
    }

    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ComponentId = input.ReadUInt32();
          break;
        }
        case 18: {
          global::ScdFactoryHsFbCache subBuilder = new global::ScdFactoryHsFbCache();
          if (componentPayloadCase_ == ComponentPayloadOneofCase.Cache) {
            subBuilder.MergeFrom(Cache);
          }
          input.ReadMessage(subBuilder);
          Cache = subBuilder;
          break;
        }
        case 26: {
          global::ScdFactoryHsFbProducer subBuilder = new global::ScdFactoryHsFbProducer();
          if (componentPayloadCase_ == ComponentPayloadOneofCase.Producer) {
            subBuilder.MergeFrom(Producer);
          }
          input.ReadMessage(subBuilder);
          Producer = subBuilder;
          break;
        }
        case 34: {
          global::ScdFactoryHsFbCollector subBuilder = new global::ScdFactoryHsFbCollector();
          if (componentPayloadCase_ == ComponentPayloadOneofCase.Collector) {
            subBuilder.MergeFrom(Collector);
          }
          input.ReadMessage(subBuilder);
          Collector = subBuilder;
          break;
        }
        case 42: {
          global::ScdFactoryHsFbBurnPower subBuilder = new global::ScdFactoryHsFbBurnPower();
          if (componentPayloadCase_ == ComponentPayloadOneofCase.BurnPower) {
            subBuilder.MergeFrom(BurnPower);
          }
          input.ReadMessage(subBuilder);
          BurnPower = subBuilder;
          break;
        }
        case 50: {
          global::ScdFactoryHsFbCacheTransport subBuilder = new global::ScdFactoryHsFbCacheTransport();
          if (componentPayloadCase_ == ComponentPayloadOneofCase.CacheTransport) {
            subBuilder.MergeFrom(CacheTransport);
          }
          input.ReadMessage(subBuilder);
          CacheTransport = subBuilder;
          break;
        }
        case 58: {
          global::ScdFactoryHsFbGridBox subBuilder = new global::ScdFactoryHsFbGridBox();
          if (componentPayloadCase_ == ComponentPayloadOneofCase.GridBox) {
            subBuilder.MergeFrom(GridBox);
          }
          input.ReadMessage(subBuilder);
          GridBox = subBuilder;
          break;
        }
        case 66: {
          global::ScdFactoryHsFbBoxRouterM1 subBuilder = new global::ScdFactoryHsFbBoxRouterM1();
          if (componentPayloadCase_ == ComponentPayloadOneofCase.BoxRouterM1) {
            subBuilder.MergeFrom(BoxRouterM1);
          }
          input.ReadMessage(subBuilder);
          BoxRouterM1 = subBuilder;
          break;
        }
        case 74: {
          global::ScdFactoryHsFbBoxBridge subBuilder = new global::ScdFactoryHsFbBoxBridge();
          if (componentPayloadCase_ == ComponentPayloadOneofCase.BoxBridge) {
            subBuilder.MergeFrom(BoxBridge);
          }
          input.ReadMessage(subBuilder);
          BoxBridge = subBuilder;
          break;
        }
        case 98: {
          global::ScdFactoryHsFbFluidBridge subBuilder = new global::ScdFactoryHsFbFluidBridge();
          if (componentPayloadCase_ == ComponentPayloadOneofCase.FluidBridge) {
            subBuilder.MergeFrom(FluidBridge);
          }
          input.ReadMessage(subBuilder);
          FluidBridge = subBuilder;
          break;
        }
        case 106: {
          global::ScdFactoryHsFbFluidRouterM1 subBuilder = new global::ScdFactoryHsFbFluidRouterM1();
          if (componentPayloadCase_ == ComponentPayloadOneofCase.FluidRouterM1) {
            subBuilder.MergeFrom(FluidRouterM1);
          }
          input.ReadMessage(subBuilder);
          FluidRouterM1 = subBuilder;
          break;
        }
        case 114: {
          global::ScdFactoryHsFbFluidContainer subBuilder = new global::ScdFactoryHsFbFluidContainer();
          if (componentPayloadCase_ == ComponentPayloadOneofCase.FluidContainer) {
            subBuilder.MergeFrom(FluidContainer);
          }
          input.ReadMessage(subBuilder);
          FluidContainer = subBuilder;
          break;
        }
        case 122: {
          global::ScdFactoryHsFbFluidPumpIn subBuilder = new global::ScdFactoryHsFbFluidPumpIn();
          if (componentPayloadCase_ == ComponentPayloadOneofCase.FluidPumpIn) {
            subBuilder.MergeFrom(FluidPumpIn);
          }
          input.ReadMessage(subBuilder);
          FluidPumpIn = subBuilder;
          break;
        }
        case 130: {
          global::ScdFactoryHsFbBattle subBuilder = new global::ScdFactoryHsFbBattle();
          if (componentPayloadCase_ == ComponentPayloadOneofCase.Battle) {
            subBuilder.MergeFrom(Battle);
          }
          input.ReadMessage(subBuilder);
          Battle = subBuilder;
          break;
        }
        case 138: {
          global::ScdFactoryHsFbBatteryBurn subBuilder = new global::ScdFactoryHsFbBatteryBurn();
          if (componentPayloadCase_ == ComponentPayloadOneofCase.BatteryBurn) {
            subBuilder.MergeFrom(BatteryBurn);
          }
          input.ReadMessage(subBuilder);
          BatteryBurn = subBuilder;
          break;
        }
        case 146: {
          global::ScdFactoryHsFbFluidSpray subBuilder = new global::ScdFactoryHsFbFluidSpray();
          if (componentPayloadCase_ == ComponentPayloadOneofCase.FluidSpray) {
            subBuilder.MergeFrom(FluidSpray);
          }
          input.ReadMessage(subBuilder);
          FluidSpray = subBuilder;
          break;
        }
        case 154: {
          global::ScdFactoryHsFbFluidPumpOut subBuilder = new global::ScdFactoryHsFbFluidPumpOut();
          if (componentPayloadCase_ == ComponentPayloadOneofCase.FluidPumpOut) {
            subBuilder.MergeFrom(FluidPumpOut);
          }
          input.ReadMessage(subBuilder);
          FluidPumpOut = subBuilder;
          break;
        }
        case 162: {
          global::ScdFactoryHsFbFluidConsume subBuilder = new global::ScdFactoryHsFbFluidConsume();
          if (componentPayloadCase_ == ComponentPayloadOneofCase.FluidConsume) {
            subBuilder.MergeFrom(FluidConsume);
          }
          input.ReadMessage(subBuilder);
          FluidConsume = subBuilder;
          break;
        }
        case 170: {
          global::ScdFactoryHsFbFluidReaction subBuilder = new global::ScdFactoryHsFbFluidReaction();
          if (componentPayloadCase_ == ComponentPayloadOneofCase.FluidReaction) {
            subBuilder.MergeFrom(FluidReaction);
          }
          input.ReadMessage(subBuilder);
          FluidReaction = subBuilder;
          break;
        }
        case 178: {
          global::ScdFactoryHsFbWaterCollector subBuilder = new global::ScdFactoryHsFbWaterCollector();
          if (componentPayloadCase_ == ComponentPayloadOneofCase.WaterCollector) {
            subBuilder.MergeFrom(WaterCollector);
          }
          input.ReadMessage(subBuilder);
          WaterCollector = subBuilder;
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFactoryHsFbCache : pb::IMessage<ScdFactoryHsFbCache> {
  private static readonly pb::MessageParser<ScdFactoryHsFbCache> _parser = new pb::MessageParser<ScdFactoryHsFbCache>(() => new ScdFactoryHsFbCache());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactoryHsFbCache> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[404]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryHsFbCache() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryHsFbCache(ScdFactoryHsFbCache other) : this() {
    items_ = other.items_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryHsFbCache Clone() {
    return new ScdFactoryHsFbCache(this);
  }

  /// <summary>Field number for the "items" field.</summary>
  public const int ItemsFieldNumber = 1;
  private static readonly pb::FieldCodec<uint> _repeated_items_codec
      = pb::FieldCodec.ForUInt32(10);
  private readonly pbc::RepeatedField<uint> items_ = new pbc::RepeatedField<uint>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<uint> Items {
    get { return items_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactoryHsFbCache);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactoryHsFbCache other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!items_.Equals(other.items_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= items_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    items_.WriteTo(output, _repeated_items_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += items_.CalculateSize(_repeated_items_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactoryHsFbCache other) {
    if (other == null) {
      return;
    }
    items_.Add(other.items_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10:
        case 8: {
          items_.AddEntriesFrom(input, _repeated_items_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFactoryHsFbProducer : pb::IMessage<ScdFactoryHsFbProducer> {
  private static readonly pb::MessageParser<ScdFactoryHsFbProducer> _parser = new pb::MessageParser<ScdFactoryHsFbProducer>(() => new ScdFactoryHsFbProducer());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactoryHsFbProducer> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[405]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryHsFbProducer() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryHsFbProducer(ScdFactoryHsFbProducer other) : this() {
    progressIncrPerMs_ = other.progressIncrPerMs_;
    formulaId_ = other.formulaId_;
    currentProgress_ = other.currentProgress_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryHsFbProducer Clone() {
    return new ScdFactoryHsFbProducer(this);
  }

  /// <summary>Field number for the "progress_incr_per_ms" field.</summary>
  public const int ProgressIncrPerMsFieldNumber = 1;
  private long progressIncrPerMs_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long ProgressIncrPerMs {
    get { return progressIncrPerMs_; }
    set {
      progressIncrPerMs_ = value;
    }
  }

  /// <summary>Field number for the "formula_id" field.</summary>
  public const int FormulaIdFieldNumber = 2;
  private string formulaId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string FormulaId {
    get { return formulaId_; }
    set {
      formulaId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "current_progress" field.</summary>
  public const int CurrentProgressFieldNumber = 3;
  private long currentProgress_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long CurrentProgress {
    get { return currentProgress_; }
    set {
      currentProgress_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactoryHsFbProducer);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactoryHsFbProducer other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ProgressIncrPerMs != other.ProgressIncrPerMs) return false;
    if (FormulaId != other.FormulaId) return false;
    if (CurrentProgress != other.CurrentProgress) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ProgressIncrPerMs != 0L) hash ^= ProgressIncrPerMs.GetHashCode();
    if (FormulaId.Length != 0) hash ^= FormulaId.GetHashCode();
    if (CurrentProgress != 0L) hash ^= CurrentProgress.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ProgressIncrPerMs != 0L) {
      output.WriteRawTag(8);
      output.WriteInt64(ProgressIncrPerMs);
    }
    if (FormulaId.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(FormulaId);
    }
    if (CurrentProgress != 0L) {
      output.WriteRawTag(24);
      output.WriteInt64(CurrentProgress);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ProgressIncrPerMs != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(ProgressIncrPerMs);
    }
    if (FormulaId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(FormulaId);
    }
    if (CurrentProgress != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(CurrentProgress);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactoryHsFbProducer other) {
    if (other == null) {
      return;
    }
    if (other.ProgressIncrPerMs != 0L) {
      ProgressIncrPerMs = other.ProgressIncrPerMs;
    }
    if (other.FormulaId.Length != 0) {
      FormulaId = other.FormulaId;
    }
    if (other.CurrentProgress != 0L) {
      CurrentProgress = other.CurrentProgress;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ProgressIncrPerMs = input.ReadInt64();
          break;
        }
        case 18: {
          FormulaId = input.ReadString();
          break;
        }
        case 24: {
          CurrentProgress = input.ReadInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFactoryHsFbCollector : pb::IMessage<ScdFactoryHsFbCollector> {
  private static readonly pb::MessageParser<ScdFactoryHsFbCollector> _parser = new pb::MessageParser<ScdFactoryHsFbCollector>(() => new ScdFactoryHsFbCollector());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactoryHsFbCollector> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[406]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryHsFbCollector() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryHsFbCollector(ScdFactoryHsFbCollector other) : this() {
    progressIncrPerMs_ = other.progressIncrPerMs_;
    currentProgress_ = other.currentProgress_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryHsFbCollector Clone() {
    return new ScdFactoryHsFbCollector(this);
  }

  /// <summary>Field number for the "progress_incr_per_ms" field.</summary>
  public const int ProgressIncrPerMsFieldNumber = 1;
  private long progressIncrPerMs_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long ProgressIncrPerMs {
    get { return progressIncrPerMs_; }
    set {
      progressIncrPerMs_ = value;
    }
  }

  /// <summary>Field number for the "current_progress" field.</summary>
  public const int CurrentProgressFieldNumber = 2;
  private long currentProgress_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long CurrentProgress {
    get { return currentProgress_; }
    set {
      currentProgress_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactoryHsFbCollector);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactoryHsFbCollector other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ProgressIncrPerMs != other.ProgressIncrPerMs) return false;
    if (CurrentProgress != other.CurrentProgress) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ProgressIncrPerMs != 0L) hash ^= ProgressIncrPerMs.GetHashCode();
    if (CurrentProgress != 0L) hash ^= CurrentProgress.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ProgressIncrPerMs != 0L) {
      output.WriteRawTag(8);
      output.WriteInt64(ProgressIncrPerMs);
    }
    if (CurrentProgress != 0L) {
      output.WriteRawTag(16);
      output.WriteInt64(CurrentProgress);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ProgressIncrPerMs != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(ProgressIncrPerMs);
    }
    if (CurrentProgress != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(CurrentProgress);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactoryHsFbCollector other) {
    if (other == null) {
      return;
    }
    if (other.ProgressIncrPerMs != 0L) {
      ProgressIncrPerMs = other.ProgressIncrPerMs;
    }
    if (other.CurrentProgress != 0L) {
      CurrentProgress = other.CurrentProgress;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ProgressIncrPerMs = input.ReadInt64();
          break;
        }
        case 16: {
          CurrentProgress = input.ReadInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFactoryHsFbBurnPower : pb::IMessage<ScdFactoryHsFbBurnPower> {
  private static readonly pb::MessageParser<ScdFactoryHsFbBurnPower> _parser = new pb::MessageParser<ScdFactoryHsFbBurnPower>(() => new ScdFactoryHsFbBurnPower());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactoryHsFbBurnPower> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[407]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryHsFbBurnPower() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryHsFbBurnPower(ScdFactoryHsFbBurnPower other) : this() {
    progressDecrPerMs_ = other.progressDecrPerMs_;
    currentLeastProgress_ = other.currentLeastProgress_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryHsFbBurnPower Clone() {
    return new ScdFactoryHsFbBurnPower(this);
  }

  /// <summary>Field number for the "progress_decr_per_ms" field.</summary>
  public const int ProgressDecrPerMsFieldNumber = 1;
  private long progressDecrPerMs_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long ProgressDecrPerMs {
    get { return progressDecrPerMs_; }
    set {
      progressDecrPerMs_ = value;
    }
  }

  /// <summary>Field number for the "current_least_progress" field.</summary>
  public const int CurrentLeastProgressFieldNumber = 2;
  private long currentLeastProgress_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long CurrentLeastProgress {
    get { return currentLeastProgress_; }
    set {
      currentLeastProgress_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactoryHsFbBurnPower);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactoryHsFbBurnPower other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ProgressDecrPerMs != other.ProgressDecrPerMs) return false;
    if (CurrentLeastProgress != other.CurrentLeastProgress) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ProgressDecrPerMs != 0L) hash ^= ProgressDecrPerMs.GetHashCode();
    if (CurrentLeastProgress != 0L) hash ^= CurrentLeastProgress.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ProgressDecrPerMs != 0L) {
      output.WriteRawTag(8);
      output.WriteInt64(ProgressDecrPerMs);
    }
    if (CurrentLeastProgress != 0L) {
      output.WriteRawTag(16);
      output.WriteInt64(CurrentLeastProgress);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ProgressDecrPerMs != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(ProgressDecrPerMs);
    }
    if (CurrentLeastProgress != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(CurrentLeastProgress);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactoryHsFbBurnPower other) {
    if (other == null) {
      return;
    }
    if (other.ProgressDecrPerMs != 0L) {
      ProgressDecrPerMs = other.ProgressDecrPerMs;
    }
    if (other.CurrentLeastProgress != 0L) {
      CurrentLeastProgress = other.CurrentLeastProgress;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ProgressDecrPerMs = input.ReadInt64();
          break;
        }
        case 16: {
          CurrentLeastProgress = input.ReadInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFactoryHsFbCacheTransport : pb::IMessage<ScdFactoryHsFbCacheTransport> {
  private static readonly pb::MessageParser<ScdFactoryHsFbCacheTransport> _parser = new pb::MessageParser<ScdFactoryHsFbCacheTransport>(() => new ScdFactoryHsFbCacheTransport());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactoryHsFbCacheTransport> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[408]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryHsFbCacheTransport() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryHsFbCacheTransport(ScdFactoryHsFbCacheTransport other) : this() {
    progressIncrPerMs_ = other.progressIncrPerMs_;
    currentProgress_ = other.currentProgress_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryHsFbCacheTransport Clone() {
    return new ScdFactoryHsFbCacheTransport(this);
  }

  /// <summary>Field number for the "progress_incr_per_ms" field.</summary>
  public const int ProgressIncrPerMsFieldNumber = 1;
  private long progressIncrPerMs_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long ProgressIncrPerMs {
    get { return progressIncrPerMs_; }
    set {
      progressIncrPerMs_ = value;
    }
  }

  /// <summary>Field number for the "current_progress" field.</summary>
  public const int CurrentProgressFieldNumber = 2;
  private long currentProgress_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long CurrentProgress {
    get { return currentProgress_; }
    set {
      currentProgress_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactoryHsFbCacheTransport);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactoryHsFbCacheTransport other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ProgressIncrPerMs != other.ProgressIncrPerMs) return false;
    if (CurrentProgress != other.CurrentProgress) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ProgressIncrPerMs != 0L) hash ^= ProgressIncrPerMs.GetHashCode();
    if (CurrentProgress != 0L) hash ^= CurrentProgress.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ProgressIncrPerMs != 0L) {
      output.WriteRawTag(8);
      output.WriteInt64(ProgressIncrPerMs);
    }
    if (CurrentProgress != 0L) {
      output.WriteRawTag(16);
      output.WriteInt64(CurrentProgress);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ProgressIncrPerMs != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(ProgressIncrPerMs);
    }
    if (CurrentProgress != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(CurrentProgress);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactoryHsFbCacheTransport other) {
    if (other == null) {
      return;
    }
    if (other.ProgressIncrPerMs != 0L) {
      ProgressIncrPerMs = other.ProgressIncrPerMs;
    }
    if (other.CurrentProgress != 0L) {
      CurrentProgress = other.CurrentProgress;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ProgressIncrPerMs = input.ReadInt64();
          break;
        }
        case 16: {
          CurrentProgress = input.ReadInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFactoryHsFbGridBox : pb::IMessage<ScdFactoryHsFbGridBox> {
  private static readonly pb::MessageParser<ScdFactoryHsFbGridBox> _parser = new pb::MessageParser<ScdFactoryHsFbGridBox>(() => new ScdFactoryHsFbGridBox());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactoryHsFbGridBox> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[409]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryHsFbGridBox() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryHsFbGridBox(ScdFactoryHsFbGridBox other) : this() {
    items_ = other.items_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryHsFbGridBox Clone() {
    return new ScdFactoryHsFbGridBox(this);
  }

  /// <summary>Field number for the "items" field.</summary>
  public const int ItemsFieldNumber = 1;
  private static readonly pb::FieldCodec<uint> _repeated_items_codec
      = pb::FieldCodec.ForUInt32(10);
  private readonly pbc::RepeatedField<uint> items_ = new pbc::RepeatedField<uint>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<uint> Items {
    get { return items_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactoryHsFbGridBox);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactoryHsFbGridBox other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!items_.Equals(other.items_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= items_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    items_.WriteTo(output, _repeated_items_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += items_.CalculateSize(_repeated_items_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactoryHsFbGridBox other) {
    if (other == null) {
      return;
    }
    items_.Add(other.items_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10:
        case 8: {
          items_.AddEntriesFrom(input, _repeated_items_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFactoryHsFbBoxRouterM1 : pb::IMessage<ScdFactoryHsFbBoxRouterM1> {
  private static readonly pb::MessageParser<ScdFactoryHsFbBoxRouterM1> _parser = new pb::MessageParser<ScdFactoryHsFbBoxRouterM1>(() => new ScdFactoryHsFbBoxRouterM1());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactoryHsFbBoxRouterM1> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[410]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryHsFbBoxRouterM1() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryHsFbBoxRouterM1(ScdFactoryHsFbBoxRouterM1 other) : this() {
    items_ = other.items_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryHsFbBoxRouterM1 Clone() {
    return new ScdFactoryHsFbBoxRouterM1(this);
  }

  /// <summary>Field number for the "items" field.</summary>
  public const int ItemsFieldNumber = 1;
  private static readonly pb::FieldCodec<uint> _repeated_items_codec
      = pb::FieldCodec.ForUInt32(10);
  private readonly pbc::RepeatedField<uint> items_ = new pbc::RepeatedField<uint>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<uint> Items {
    get { return items_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactoryHsFbBoxRouterM1);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactoryHsFbBoxRouterM1 other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!items_.Equals(other.items_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= items_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    items_.WriteTo(output, _repeated_items_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += items_.CalculateSize(_repeated_items_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactoryHsFbBoxRouterM1 other) {
    if (other == null) {
      return;
    }
    items_.Add(other.items_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10:
        case 8: {
          items_.AddEntriesFrom(input, _repeated_items_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFactoryHsFbBoxBridge : pb::IMessage<ScdFactoryHsFbBoxBridge> {
  private static readonly pb::MessageParser<ScdFactoryHsFbBoxBridge> _parser = new pb::MessageParser<ScdFactoryHsFbBoxBridge>(() => new ScdFactoryHsFbBoxBridge());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactoryHsFbBoxBridge> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[411]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryHsFbBoxBridge() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryHsFbBoxBridge(ScdFactoryHsFbBoxBridge other) : this() {
    items_ = other.items_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryHsFbBoxBridge Clone() {
    return new ScdFactoryHsFbBoxBridge(this);
  }

  /// <summary>Field number for the "items" field.</summary>
  public const int ItemsFieldNumber = 1;
  private static readonly pb::FieldCodec<uint> _repeated_items_codec
      = pb::FieldCodec.ForUInt32(10);
  private readonly pbc::RepeatedField<uint> items_ = new pbc::RepeatedField<uint>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<uint> Items {
    get { return items_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactoryHsFbBoxBridge);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactoryHsFbBoxBridge other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!items_.Equals(other.items_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= items_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    items_.WriteTo(output, _repeated_items_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += items_.CalculateSize(_repeated_items_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactoryHsFbBoxBridge other) {
    if (other == null) {
      return;
    }
    items_.Add(other.items_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10:
        case 8: {
          items_.AddEntriesFrom(input, _repeated_items_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFactoryHsFbFluidBridge : pb::IMessage<ScdFactoryHsFbFluidBridge> {
  private static readonly pb::MessageParser<ScdFactoryHsFbFluidBridge> _parser = new pb::MessageParser<ScdFactoryHsFbFluidBridge>(() => new ScdFactoryHsFbFluidBridge());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactoryHsFbFluidBridge> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[412]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryHsFbFluidBridge() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryHsFbFluidBridge(ScdFactoryHsFbFluidBridge other) : this() {
    items_ = other.items_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryHsFbFluidBridge Clone() {
    return new ScdFactoryHsFbFluidBridge(this);
  }

  /// <summary>Field number for the "items" field.</summary>
  public const int ItemsFieldNumber = 1;
  private static readonly pb::FieldCodec<uint> _repeated_items_codec
      = pb::FieldCodec.ForUInt32(10);
  private readonly pbc::RepeatedField<uint> items_ = new pbc::RepeatedField<uint>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<uint> Items {
    get { return items_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactoryHsFbFluidBridge);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactoryHsFbFluidBridge other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!items_.Equals(other.items_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= items_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    items_.WriteTo(output, _repeated_items_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += items_.CalculateSize(_repeated_items_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactoryHsFbFluidBridge other) {
    if (other == null) {
      return;
    }
    items_.Add(other.items_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10:
        case 8: {
          items_.AddEntriesFrom(input, _repeated_items_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFactoryHsFbFluidRouterM1 : pb::IMessage<ScdFactoryHsFbFluidRouterM1> {
  private static readonly pb::MessageParser<ScdFactoryHsFbFluidRouterM1> _parser = new pb::MessageParser<ScdFactoryHsFbFluidRouterM1>(() => new ScdFactoryHsFbFluidRouterM1());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactoryHsFbFluidRouterM1> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[413]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryHsFbFluidRouterM1() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryHsFbFluidRouterM1(ScdFactoryHsFbFluidRouterM1 other) : this() {
    items_ = other.items_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryHsFbFluidRouterM1 Clone() {
    return new ScdFactoryHsFbFluidRouterM1(this);
  }

  /// <summary>Field number for the "items" field.</summary>
  public const int ItemsFieldNumber = 1;
  private static readonly pb::FieldCodec<uint> _repeated_items_codec
      = pb::FieldCodec.ForUInt32(10);
  private readonly pbc::RepeatedField<uint> items_ = new pbc::RepeatedField<uint>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<uint> Items {
    get { return items_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactoryHsFbFluidRouterM1);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactoryHsFbFluidRouterM1 other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!items_.Equals(other.items_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= items_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    items_.WriteTo(output, _repeated_items_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += items_.CalculateSize(_repeated_items_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactoryHsFbFluidRouterM1 other) {
    if (other == null) {
      return;
    }
    items_.Add(other.items_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10:
        case 8: {
          items_.AddEntriesFrom(input, _repeated_items_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFactoryHsFbFluidContainer : pb::IMessage<ScdFactoryHsFbFluidContainer> {
  private static readonly pb::MessageParser<ScdFactoryHsFbFluidContainer> _parser = new pb::MessageParser<ScdFactoryHsFbFluidContainer>(() => new ScdFactoryHsFbFluidContainer());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactoryHsFbFluidContainer> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[414]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryHsFbFluidContainer() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryHsFbFluidContainer(ScdFactoryHsFbFluidContainer other) : this() {
    items_ = other.items_.Clone();
    infinite_ = other.infinite_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryHsFbFluidContainer Clone() {
    return new ScdFactoryHsFbFluidContainer(this);
  }

  /// <summary>Field number for the "items" field.</summary>
  public const int ItemsFieldNumber = 1;
  private static readonly pb::FieldCodec<uint> _repeated_items_codec
      = pb::FieldCodec.ForUInt32(10);
  private readonly pbc::RepeatedField<uint> items_ = new pbc::RepeatedField<uint>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<uint> Items {
    get { return items_; }
  }

  /// <summary>Field number for the "infinite" field.</summary>
  public const int InfiniteFieldNumber = 2;
  private bool infinite_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Infinite {
    get { return infinite_; }
    set {
      infinite_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactoryHsFbFluidContainer);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactoryHsFbFluidContainer other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!items_.Equals(other.items_)) return false;
    if (Infinite != other.Infinite) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= items_.GetHashCode();
    if (Infinite != false) hash ^= Infinite.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    items_.WriteTo(output, _repeated_items_codec);
    if (Infinite != false) {
      output.WriteRawTag(16);
      output.WriteBool(Infinite);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += items_.CalculateSize(_repeated_items_codec);
    if (Infinite != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactoryHsFbFluidContainer other) {
    if (other == null) {
      return;
    }
    items_.Add(other.items_);
    if (other.Infinite != false) {
      Infinite = other.Infinite;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10:
        case 8: {
          items_.AddEntriesFrom(input, _repeated_items_codec);
          break;
        }
        case 16: {
          Infinite = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFactoryHsFbFluidPumpIn : pb::IMessage<ScdFactoryHsFbFluidPumpIn> {
  private static readonly pb::MessageParser<ScdFactoryHsFbFluidPumpIn> _parser = new pb::MessageParser<ScdFactoryHsFbFluidPumpIn>(() => new ScdFactoryHsFbFluidPumpIn());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactoryHsFbFluidPumpIn> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[415]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryHsFbFluidPumpIn() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryHsFbFluidPumpIn(ScdFactoryHsFbFluidPumpIn other) : this() {
    progressIncrPerMs_ = other.progressIncrPerMs_;
    currentProgress_ = other.currentProgress_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryHsFbFluidPumpIn Clone() {
    return new ScdFactoryHsFbFluidPumpIn(this);
  }

  /// <summary>Field number for the "progress_incr_per_ms" field.</summary>
  public const int ProgressIncrPerMsFieldNumber = 1;
  private long progressIncrPerMs_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long ProgressIncrPerMs {
    get { return progressIncrPerMs_; }
    set {
      progressIncrPerMs_ = value;
    }
  }

  /// <summary>Field number for the "current_progress" field.</summary>
  public const int CurrentProgressFieldNumber = 2;
  private long currentProgress_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long CurrentProgress {
    get { return currentProgress_; }
    set {
      currentProgress_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactoryHsFbFluidPumpIn);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactoryHsFbFluidPumpIn other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ProgressIncrPerMs != other.ProgressIncrPerMs) return false;
    if (CurrentProgress != other.CurrentProgress) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ProgressIncrPerMs != 0L) hash ^= ProgressIncrPerMs.GetHashCode();
    if (CurrentProgress != 0L) hash ^= CurrentProgress.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ProgressIncrPerMs != 0L) {
      output.WriteRawTag(8);
      output.WriteInt64(ProgressIncrPerMs);
    }
    if (CurrentProgress != 0L) {
      output.WriteRawTag(16);
      output.WriteInt64(CurrentProgress);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ProgressIncrPerMs != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(ProgressIncrPerMs);
    }
    if (CurrentProgress != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(CurrentProgress);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactoryHsFbFluidPumpIn other) {
    if (other == null) {
      return;
    }
    if (other.ProgressIncrPerMs != 0L) {
      ProgressIncrPerMs = other.ProgressIncrPerMs;
    }
    if (other.CurrentProgress != 0L) {
      CurrentProgress = other.CurrentProgress;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ProgressIncrPerMs = input.ReadInt64();
          break;
        }
        case 16: {
          CurrentProgress = input.ReadInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFactoryHsFbBattle : pb::IMessage<ScdFactoryHsFbBattle> {
  private static readonly pb::MessageParser<ScdFactoryHsFbBattle> _parser = new pb::MessageParser<ScdFactoryHsFbBattle>(() => new ScdFactoryHsFbBattle());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactoryHsFbBattle> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[416]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryHsFbBattle() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryHsFbBattle(ScdFactoryHsFbBattle other) : this() {
    energyCurrent_ = other.energyCurrent_;
    energyMax_ = other.energyMax_;
    inOverloading_ = other.inOverloading_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryHsFbBattle Clone() {
    return new ScdFactoryHsFbBattle(this);
  }

  /// <summary>Field number for the "energy_current" field.</summary>
  public const int EnergyCurrentFieldNumber = 1;
  private int energyCurrent_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int EnergyCurrent {
    get { return energyCurrent_; }
    set {
      energyCurrent_ = value;
    }
  }

  /// <summary>Field number for the "energy_max" field.</summary>
  public const int EnergyMaxFieldNumber = 2;
  private int energyMax_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int EnergyMax {
    get { return energyMax_; }
    set {
      energyMax_ = value;
    }
  }

  /// <summary>Field number for the "in_overloading" field.</summary>
  public const int InOverloadingFieldNumber = 3;
  private bool inOverloading_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool InOverloading {
    get { return inOverloading_; }
    set {
      inOverloading_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactoryHsFbBattle);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactoryHsFbBattle other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (EnergyCurrent != other.EnergyCurrent) return false;
    if (EnergyMax != other.EnergyMax) return false;
    if (InOverloading != other.InOverloading) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (EnergyCurrent != 0) hash ^= EnergyCurrent.GetHashCode();
    if (EnergyMax != 0) hash ^= EnergyMax.GetHashCode();
    if (InOverloading != false) hash ^= InOverloading.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (EnergyCurrent != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(EnergyCurrent);
    }
    if (EnergyMax != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(EnergyMax);
    }
    if (InOverloading != false) {
      output.WriteRawTag(24);
      output.WriteBool(InOverloading);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (EnergyCurrent != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(EnergyCurrent);
    }
    if (EnergyMax != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(EnergyMax);
    }
    if (InOverloading != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactoryHsFbBattle other) {
    if (other == null) {
      return;
    }
    if (other.EnergyCurrent != 0) {
      EnergyCurrent = other.EnergyCurrent;
    }
    if (other.EnergyMax != 0) {
      EnergyMax = other.EnergyMax;
    }
    if (other.InOverloading != false) {
      InOverloading = other.InOverloading;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          EnergyCurrent = input.ReadInt32();
          break;
        }
        case 16: {
          EnergyMax = input.ReadInt32();
          break;
        }
        case 24: {
          InOverloading = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFactoryHsFbBatteryBurn : pb::IMessage<ScdFactoryHsFbBatteryBurn> {
  private static readonly pb::MessageParser<ScdFactoryHsFbBatteryBurn> _parser = new pb::MessageParser<ScdFactoryHsFbBatteryBurn>(() => new ScdFactoryHsFbBatteryBurn());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactoryHsFbBatteryBurn> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[417]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryHsFbBatteryBurn() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryHsFbBatteryBurn(ScdFactoryHsFbBatteryBurn other) : this() {
    energyLoaded_ = other.energyLoaded_;
    energyCurrent_ = other.energyCurrent_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryHsFbBatteryBurn Clone() {
    return new ScdFactoryHsFbBatteryBurn(this);
  }

  /// <summary>Field number for the "energy_loaded" field.</summary>
  public const int EnergyLoadedFieldNumber = 1;
  private int energyLoaded_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int EnergyLoaded {
    get { return energyLoaded_; }
    set {
      energyLoaded_ = value;
    }
  }

  /// <summary>Field number for the "energy_current" field.</summary>
  public const int EnergyCurrentFieldNumber = 2;
  private int energyCurrent_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int EnergyCurrent {
    get { return energyCurrent_; }
    set {
      energyCurrent_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactoryHsFbBatteryBurn);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactoryHsFbBatteryBurn other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (EnergyLoaded != other.EnergyLoaded) return false;
    if (EnergyCurrent != other.EnergyCurrent) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (EnergyLoaded != 0) hash ^= EnergyLoaded.GetHashCode();
    if (EnergyCurrent != 0) hash ^= EnergyCurrent.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (EnergyLoaded != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(EnergyLoaded);
    }
    if (EnergyCurrent != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(EnergyCurrent);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (EnergyLoaded != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(EnergyLoaded);
    }
    if (EnergyCurrent != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(EnergyCurrent);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactoryHsFbBatteryBurn other) {
    if (other == null) {
      return;
    }
    if (other.EnergyLoaded != 0) {
      EnergyLoaded = other.EnergyLoaded;
    }
    if (other.EnergyCurrent != 0) {
      EnergyCurrent = other.EnergyCurrent;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          EnergyLoaded = input.ReadInt32();
          break;
        }
        case 16: {
          EnergyCurrent = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFactoryHsFbFluidSpray : pb::IMessage<ScdFactoryHsFbFluidSpray> {
  private static readonly pb::MessageParser<ScdFactoryHsFbFluidSpray> _parser = new pb::MessageParser<ScdFactoryHsFbFluidSpray>(() => new ScdFactoryHsFbFluidSpray());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactoryHsFbFluidSpray> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[418]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryHsFbFluidSpray() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryHsFbFluidSpray(ScdFactoryHsFbFluidSpray other) : this() {
    progressIncrPerMs_ = other.progressIncrPerMs_;
    currentProgress_ = other.currentProgress_;
    lastRoundSprayCount_ = other.lastRoundSprayCount_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryHsFbFluidSpray Clone() {
    return new ScdFactoryHsFbFluidSpray(this);
  }

  /// <summary>Field number for the "progress_incr_per_ms" field.</summary>
  public const int ProgressIncrPerMsFieldNumber = 1;
  private long progressIncrPerMs_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long ProgressIncrPerMs {
    get { return progressIncrPerMs_; }
    set {
      progressIncrPerMs_ = value;
    }
  }

  /// <summary>Field number for the "current_progress" field.</summary>
  public const int CurrentProgressFieldNumber = 2;
  private long currentProgress_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long CurrentProgress {
    get { return currentProgress_; }
    set {
      currentProgress_ = value;
    }
  }

  /// <summary>Field number for the "last_round_spray_count" field.</summary>
  public const int LastRoundSprayCountFieldNumber = 3;
  private int lastRoundSprayCount_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int LastRoundSprayCount {
    get { return lastRoundSprayCount_; }
    set {
      lastRoundSprayCount_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactoryHsFbFluidSpray);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactoryHsFbFluidSpray other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ProgressIncrPerMs != other.ProgressIncrPerMs) return false;
    if (CurrentProgress != other.CurrentProgress) return false;
    if (LastRoundSprayCount != other.LastRoundSprayCount) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ProgressIncrPerMs != 0L) hash ^= ProgressIncrPerMs.GetHashCode();
    if (CurrentProgress != 0L) hash ^= CurrentProgress.GetHashCode();
    if (LastRoundSprayCount != 0) hash ^= LastRoundSprayCount.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ProgressIncrPerMs != 0L) {
      output.WriteRawTag(8);
      output.WriteInt64(ProgressIncrPerMs);
    }
    if (CurrentProgress != 0L) {
      output.WriteRawTag(16);
      output.WriteInt64(CurrentProgress);
    }
    if (LastRoundSprayCount != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(LastRoundSprayCount);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ProgressIncrPerMs != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(ProgressIncrPerMs);
    }
    if (CurrentProgress != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(CurrentProgress);
    }
    if (LastRoundSprayCount != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(LastRoundSprayCount);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactoryHsFbFluidSpray other) {
    if (other == null) {
      return;
    }
    if (other.ProgressIncrPerMs != 0L) {
      ProgressIncrPerMs = other.ProgressIncrPerMs;
    }
    if (other.CurrentProgress != 0L) {
      CurrentProgress = other.CurrentProgress;
    }
    if (other.LastRoundSprayCount != 0) {
      LastRoundSprayCount = other.LastRoundSprayCount;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ProgressIncrPerMs = input.ReadInt64();
          break;
        }
        case 16: {
          CurrentProgress = input.ReadInt64();
          break;
        }
        case 24: {
          LastRoundSprayCount = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFactoryHsFbFluidPumpOut : pb::IMessage<ScdFactoryHsFbFluidPumpOut> {
  private static readonly pb::MessageParser<ScdFactoryHsFbFluidPumpOut> _parser = new pb::MessageParser<ScdFactoryHsFbFluidPumpOut>(() => new ScdFactoryHsFbFluidPumpOut());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactoryHsFbFluidPumpOut> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[419]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryHsFbFluidPumpOut() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryHsFbFluidPumpOut(ScdFactoryHsFbFluidPumpOut other) : this() {
    progressIncrPerMs_ = other.progressIncrPerMs_;
    currentProgress_ = other.currentProgress_;
    lastRoundPumpCount_ = other.lastRoundPumpCount_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryHsFbFluidPumpOut Clone() {
    return new ScdFactoryHsFbFluidPumpOut(this);
  }

  /// <summary>Field number for the "progress_incr_per_ms" field.</summary>
  public const int ProgressIncrPerMsFieldNumber = 1;
  private long progressIncrPerMs_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long ProgressIncrPerMs {
    get { return progressIncrPerMs_; }
    set {
      progressIncrPerMs_ = value;
    }
  }

  /// <summary>Field number for the "current_progress" field.</summary>
  public const int CurrentProgressFieldNumber = 2;
  private long currentProgress_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long CurrentProgress {
    get { return currentProgress_; }
    set {
      currentProgress_ = value;
    }
  }

  /// <summary>Field number for the "last_round_pump_count" field.</summary>
  public const int LastRoundPumpCountFieldNumber = 3;
  private int lastRoundPumpCount_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int LastRoundPumpCount {
    get { return lastRoundPumpCount_; }
    set {
      lastRoundPumpCount_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactoryHsFbFluidPumpOut);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactoryHsFbFluidPumpOut other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ProgressIncrPerMs != other.ProgressIncrPerMs) return false;
    if (CurrentProgress != other.CurrentProgress) return false;
    if (LastRoundPumpCount != other.LastRoundPumpCount) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ProgressIncrPerMs != 0L) hash ^= ProgressIncrPerMs.GetHashCode();
    if (CurrentProgress != 0L) hash ^= CurrentProgress.GetHashCode();
    if (LastRoundPumpCount != 0) hash ^= LastRoundPumpCount.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ProgressIncrPerMs != 0L) {
      output.WriteRawTag(8);
      output.WriteInt64(ProgressIncrPerMs);
    }
    if (CurrentProgress != 0L) {
      output.WriteRawTag(16);
      output.WriteInt64(CurrentProgress);
    }
    if (LastRoundPumpCount != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(LastRoundPumpCount);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ProgressIncrPerMs != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(ProgressIncrPerMs);
    }
    if (CurrentProgress != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(CurrentProgress);
    }
    if (LastRoundPumpCount != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(LastRoundPumpCount);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactoryHsFbFluidPumpOut other) {
    if (other == null) {
      return;
    }
    if (other.ProgressIncrPerMs != 0L) {
      ProgressIncrPerMs = other.ProgressIncrPerMs;
    }
    if (other.CurrentProgress != 0L) {
      CurrentProgress = other.CurrentProgress;
    }
    if (other.LastRoundPumpCount != 0) {
      LastRoundPumpCount = other.LastRoundPumpCount;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ProgressIncrPerMs = input.ReadInt64();
          break;
        }
        case 16: {
          CurrentProgress = input.ReadInt64();
          break;
        }
        case 24: {
          LastRoundPumpCount = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFactoryHsFbFluidConsume : pb::IMessage<ScdFactoryHsFbFluidConsume> {
  private static readonly pb::MessageParser<ScdFactoryHsFbFluidConsume> _parser = new pb::MessageParser<ScdFactoryHsFbFluidConsume>(() => new ScdFactoryHsFbFluidConsume());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactoryHsFbFluidConsume> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[420]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryHsFbFluidConsume() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryHsFbFluidConsume(ScdFactoryHsFbFluidConsume other) : this() {
    progressIncrPerMs_ = other.progressIncrPerMs_;
    currentProgress_ = other.currentProgress_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryHsFbFluidConsume Clone() {
    return new ScdFactoryHsFbFluidConsume(this);
  }

  /// <summary>Field number for the "progress_incr_per_ms" field.</summary>
  public const int ProgressIncrPerMsFieldNumber = 1;
  private long progressIncrPerMs_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long ProgressIncrPerMs {
    get { return progressIncrPerMs_; }
    set {
      progressIncrPerMs_ = value;
    }
  }

  /// <summary>Field number for the "current_progress" field.</summary>
  public const int CurrentProgressFieldNumber = 2;
  private long currentProgress_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long CurrentProgress {
    get { return currentProgress_; }
    set {
      currentProgress_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactoryHsFbFluidConsume);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactoryHsFbFluidConsume other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ProgressIncrPerMs != other.ProgressIncrPerMs) return false;
    if (CurrentProgress != other.CurrentProgress) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ProgressIncrPerMs != 0L) hash ^= ProgressIncrPerMs.GetHashCode();
    if (CurrentProgress != 0L) hash ^= CurrentProgress.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ProgressIncrPerMs != 0L) {
      output.WriteRawTag(8);
      output.WriteInt64(ProgressIncrPerMs);
    }
    if (CurrentProgress != 0L) {
      output.WriteRawTag(16);
      output.WriteInt64(CurrentProgress);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ProgressIncrPerMs != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(ProgressIncrPerMs);
    }
    if (CurrentProgress != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(CurrentProgress);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactoryHsFbFluidConsume other) {
    if (other == null) {
      return;
    }
    if (other.ProgressIncrPerMs != 0L) {
      ProgressIncrPerMs = other.ProgressIncrPerMs;
    }
    if (other.CurrentProgress != 0L) {
      CurrentProgress = other.CurrentProgress;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ProgressIncrPerMs = input.ReadInt64();
          break;
        }
        case 16: {
          CurrentProgress = input.ReadInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFactoryHsFbFluidReaction : pb::IMessage<ScdFactoryHsFbFluidReaction> {
  private static readonly pb::MessageParser<ScdFactoryHsFbFluidReaction> _parser = new pb::MessageParser<ScdFactoryHsFbFluidReaction>(() => new ScdFactoryHsFbFluidReaction());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactoryHsFbFluidReaction> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[421]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryHsFbFluidReaction() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryHsFbFluidReaction(ScdFactoryHsFbFluidReaction other) : this() {
    formulas_ = other.formulas_.Clone();
    progressIncrPerMs_ = other.progressIncrPerMs_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryHsFbFluidReaction Clone() {
    return new ScdFactoryHsFbFluidReaction(this);
  }

  /// <summary>Field number for the "formulas" field.</summary>
  public const int FormulasFieldNumber = 1;
  private static readonly pb::FieldCodec<global::ScdFacFluidReactionFormula> _repeated_formulas_codec
      = pb::FieldCodec.ForMessage(10, global::ScdFacFluidReactionFormula.Parser);
  private readonly pbc::RepeatedField<global::ScdFacFluidReactionFormula> formulas_ = new pbc::RepeatedField<global::ScdFacFluidReactionFormula>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdFacFluidReactionFormula> Formulas {
    get { return formulas_; }
  }

  /// <summary>Field number for the "progress_incr_per_ms" field.</summary>
  public const int ProgressIncrPerMsFieldNumber = 2;
  private long progressIncrPerMs_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long ProgressIncrPerMs {
    get { return progressIncrPerMs_; }
    set {
      progressIncrPerMs_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactoryHsFbFluidReaction);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactoryHsFbFluidReaction other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!formulas_.Equals(other.formulas_)) return false;
    if (ProgressIncrPerMs != other.ProgressIncrPerMs) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= formulas_.GetHashCode();
    if (ProgressIncrPerMs != 0L) hash ^= ProgressIncrPerMs.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    formulas_.WriteTo(output, _repeated_formulas_codec);
    if (ProgressIncrPerMs != 0L) {
      output.WriteRawTag(16);
      output.WriteInt64(ProgressIncrPerMs);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += formulas_.CalculateSize(_repeated_formulas_codec);
    if (ProgressIncrPerMs != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(ProgressIncrPerMs);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactoryHsFbFluidReaction other) {
    if (other == null) {
      return;
    }
    formulas_.Add(other.formulas_);
    if (other.ProgressIncrPerMs != 0L) {
      ProgressIncrPerMs = other.ProgressIncrPerMs;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          formulas_.AddEntriesFrom(input, _repeated_formulas_codec);
          break;
        }
        case 16: {
          ProgressIncrPerMs = input.ReadInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFactoryHsFbWaterCollector : pb::IMessage<ScdFactoryHsFbWaterCollector> {
  private static readonly pb::MessageParser<ScdFactoryHsFbWaterCollector> _parser = new pb::MessageParser<ScdFactoryHsFbWaterCollector>(() => new ScdFactoryHsFbWaterCollector());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactoryHsFbWaterCollector> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[422]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryHsFbWaterCollector() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryHsFbWaterCollector(ScdFactoryHsFbWaterCollector other) : this() {
    progressIncrPerMs_ = other.progressIncrPerMs_;
    currentProgress_ = other.currentProgress_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryHsFbWaterCollector Clone() {
    return new ScdFactoryHsFbWaterCollector(this);
  }

  /// <summary>Field number for the "progress_incr_per_ms" field.</summary>
  public const int ProgressIncrPerMsFieldNumber = 1;
  private long progressIncrPerMs_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long ProgressIncrPerMs {
    get { return progressIncrPerMs_; }
    set {
      progressIncrPerMs_ = value;
    }
  }

  /// <summary>Field number for the "current_progress" field.</summary>
  public const int CurrentProgressFieldNumber = 2;
  private long currentProgress_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long CurrentProgress {
    get { return currentProgress_; }
    set {
      currentProgress_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactoryHsFbWaterCollector);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactoryHsFbWaterCollector other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ProgressIncrPerMs != other.ProgressIncrPerMs) return false;
    if (CurrentProgress != other.CurrentProgress) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ProgressIncrPerMs != 0L) hash ^= ProgressIncrPerMs.GetHashCode();
    if (CurrentProgress != 0L) hash ^= CurrentProgress.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ProgressIncrPerMs != 0L) {
      output.WriteRawTag(8);
      output.WriteInt64(ProgressIncrPerMs);
    }
    if (CurrentProgress != 0L) {
      output.WriteRawTag(16);
      output.WriteInt64(CurrentProgress);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ProgressIncrPerMs != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(ProgressIncrPerMs);
    }
    if (CurrentProgress != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(CurrentProgress);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactoryHsFbWaterCollector other) {
    if (other == null) {
      return;
    }
    if (other.ProgressIncrPerMs != 0L) {
      ProgressIncrPerMs = other.ProgressIncrPerMs;
    }
    if (other.CurrentProgress != 0L) {
      CurrentProgress = other.CurrentProgress;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ProgressIncrPerMs = input.ReadInt64();
          break;
        }
        case 16: {
          CurrentProgress = input.ReadInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFactoryHsCe : pb::IMessage<ScdFactoryHsCe> {
  private static readonly pb::MessageParser<ScdFactoryHsCe> _parser = new pb::MessageParser<ScdFactoryHsCe>(() => new ScdFactoryHsCe());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactoryHsCe> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[423]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryHsCe() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryHsCe(ScdFactoryHsCe other) : this() {
    eventType_ = other.eventType_;
    eventParam_ = other.eventParam_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryHsCe Clone() {
    return new ScdFactoryHsCe(this);
  }

  /// <summary>Field number for the "event_type" field.</summary>
  public const int EventTypeFieldNumber = 1;
  private global::SCD_FACTORY_HS_CE_EventType eventType_ = 0;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::SCD_FACTORY_HS_CE_EventType EventType {
    get { return eventType_; }
    set {
      eventType_ = value;
    }
  }

  /// <summary>Field number for the "event_param" field.</summary>
  public const int EventParamFieldNumber = 2;
  private static readonly pb::FieldCodec<uint> _repeated_eventParam_codec
      = pb::FieldCodec.ForUInt32(18);
  private readonly pbc::RepeatedField<uint> eventParam_ = new pbc::RepeatedField<uint>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<uint> EventParam {
    get { return eventParam_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactoryHsCe);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactoryHsCe other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (EventType != other.EventType) return false;
    if(!eventParam_.Equals(other.eventParam_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (EventType != 0) hash ^= EventType.GetHashCode();
    hash ^= eventParam_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (EventType != 0) {
      output.WriteRawTag(8);
      output.WriteEnum((int) EventType);
    }
    eventParam_.WriteTo(output, _repeated_eventParam_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (EventType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) EventType);
    }
    size += eventParam_.CalculateSize(_repeated_eventParam_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactoryHsCe other) {
    if (other == null) {
      return;
    }
    if (other.EventType != 0) {
      EventType = other.EventType;
    }
    eventParam_.Add(other.eventParam_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          eventType_ = (global::SCD_FACTORY_HS_CE_EventType) input.ReadEnum();
          break;
        }
        case 18:
        case 16: {
          eventParam_.AddEntriesFrom(input, _repeated_eventParam_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFactoryHsBb : pb::IMessage<ScdFactoryHsBb> {
  private static readonly pb::MessageParser<ScdFactoryHsBb> _parser = new pb::MessageParser<ScdFactoryHsBb>(() => new ScdFactoryHsBb());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactoryHsBb> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[424]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryHsBb() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryHsBb(ScdFactoryHsBb other) : this() {
    power_ = other.power_ != null ? other.power_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryHsBb Clone() {
    return new ScdFactoryHsBb(this);
  }

  /// <summary>Field number for the "power" field.</summary>
  public const int PowerFieldNumber = 1;
  private global::ScdFactoryHsBbPower power_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactoryHsBbPower Power {
    get { return power_; }
    set {
      power_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactoryHsBb);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactoryHsBb other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!object.Equals(Power, other.Power)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (power_ != null) hash ^= Power.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (power_ != null) {
      output.WriteRawTag(10);
      output.WriteMessage(Power);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (power_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Power);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactoryHsBb other) {
    if (other == null) {
      return;
    }
    if (other.power_ != null) {
      if (power_ == null) {
        power_ = new global::ScdFactoryHsBbPower();
      }
      Power.MergeFrom(other.Power);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          if (power_ == null) {
            power_ = new global::ScdFactoryHsBbPower();
          }
          input.ReadMessage(power_);
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFactoryHsBbPower : pb::IMessage<ScdFactoryHsBbPower> {
  private static readonly pb::MessageParser<ScdFactoryHsBbPower> _parser = new pb::MessageParser<ScdFactoryHsBbPower>(() => new ScdFactoryHsBbPower());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactoryHsBbPower> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[425]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryHsBbPower() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryHsBbPower(ScdFactoryHsBbPower other) : this() {
    isStopByPower_ = other.isStopByPower_;
    powerCostSum_ = other.powerCostSum_;
    powerSaveMax_ = other.powerSaveMax_;
    powerSaveCurrent_ = other.powerSaveCurrent_;
    powerGenLastSec_ = other.powerGenLastSec_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryHsBbPower Clone() {
    return new ScdFactoryHsBbPower(this);
  }

  /// <summary>Field number for the "is_stop_by_power" field.</summary>
  public const int IsStopByPowerFieldNumber = 1;
  private bool isStopByPower_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool IsStopByPower {
    get { return isStopByPower_; }
    set {
      isStopByPower_ = value;
    }
  }

  /// <summary>Field number for the "power_cost_sum" field.</summary>
  public const int PowerCostSumFieldNumber = 2;
  private long powerCostSum_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long PowerCostSum {
    get { return powerCostSum_; }
    set {
      powerCostSum_ = value;
    }
  }

  /// <summary>Field number for the "power_save_max" field.</summary>
  public const int PowerSaveMaxFieldNumber = 3;
  private long powerSaveMax_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long PowerSaveMax {
    get { return powerSaveMax_; }
    set {
      powerSaveMax_ = value;
    }
  }

  /// <summary>Field number for the "power_save_current" field.</summary>
  public const int PowerSaveCurrentFieldNumber = 4;
  private long powerSaveCurrent_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long PowerSaveCurrent {
    get { return powerSaveCurrent_; }
    set {
      powerSaveCurrent_ = value;
    }
  }

  /// <summary>Field number for the "power_gen_last_sec" field.</summary>
  public const int PowerGenLastSecFieldNumber = 5;
  private long powerGenLastSec_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long PowerGenLastSec {
    get { return powerGenLastSec_; }
    set {
      powerGenLastSec_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactoryHsBbPower);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactoryHsBbPower other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (IsStopByPower != other.IsStopByPower) return false;
    if (PowerCostSum != other.PowerCostSum) return false;
    if (PowerSaveMax != other.PowerSaveMax) return false;
    if (PowerSaveCurrent != other.PowerSaveCurrent) return false;
    if (PowerGenLastSec != other.PowerGenLastSec) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (IsStopByPower != false) hash ^= IsStopByPower.GetHashCode();
    if (PowerCostSum != 0L) hash ^= PowerCostSum.GetHashCode();
    if (PowerSaveMax != 0L) hash ^= PowerSaveMax.GetHashCode();
    if (PowerSaveCurrent != 0L) hash ^= PowerSaveCurrent.GetHashCode();
    if (PowerGenLastSec != 0L) hash ^= PowerGenLastSec.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (IsStopByPower != false) {
      output.WriteRawTag(8);
      output.WriteBool(IsStopByPower);
    }
    if (PowerCostSum != 0L) {
      output.WriteRawTag(16);
      output.WriteInt64(PowerCostSum);
    }
    if (PowerSaveMax != 0L) {
      output.WriteRawTag(24);
      output.WriteInt64(PowerSaveMax);
    }
    if (PowerSaveCurrent != 0L) {
      output.WriteRawTag(32);
      output.WriteInt64(PowerSaveCurrent);
    }
    if (PowerGenLastSec != 0L) {
      output.WriteRawTag(40);
      output.WriteInt64(PowerGenLastSec);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (IsStopByPower != false) {
      size += 1 + 1;
    }
    if (PowerCostSum != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(PowerCostSum);
    }
    if (PowerSaveMax != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(PowerSaveMax);
    }
    if (PowerSaveCurrent != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(PowerSaveCurrent);
    }
    if (PowerGenLastSec != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(PowerGenLastSec);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactoryHsBbPower other) {
    if (other == null) {
      return;
    }
    if (other.IsStopByPower != false) {
      IsStopByPower = other.IsStopByPower;
    }
    if (other.PowerCostSum != 0L) {
      PowerCostSum = other.PowerCostSum;
    }
    if (other.PowerSaveMax != 0L) {
      PowerSaveMax = other.PowerSaveMax;
    }
    if (other.PowerSaveCurrent != 0L) {
      PowerSaveCurrent = other.PowerSaveCurrent;
    }
    if (other.PowerGenLastSec != 0L) {
      PowerGenLastSec = other.PowerGenLastSec;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          IsStopByPower = input.ReadBool();
          break;
        }
        case 16: {
          PowerCostSum = input.ReadInt64();
          break;
        }
        case 24: {
          PowerSaveMax = input.ReadInt64();
          break;
        }
        case 32: {
          PowerSaveCurrent = input.ReadInt64();
          break;
        }
        case 40: {
          PowerGenLastSec = input.ReadInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFacCom : pb::IMessage<ScdFacCom> {
  private static readonly pb::MessageParser<ScdFacCom> _parser = new pb::MessageParser<ScdFacCom>(() => new ScdFacCom());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFacCom> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[426]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacCom() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacCom(ScdFacCom other) : this() {
    componentId_ = other.componentId_;
    componentType_ = other.componentType_;
    switch (other.ComponentPayloadCase) {
      case ComponentPayloadOneofCase.PortManager:
        PortManager = other.PortManager.Clone();
        break;
      case ComponentPayloadOneofCase.Inventory:
        Inventory = other.Inventory.Clone();
        break;
      case ComponentPayloadOneofCase.Cache:
        Cache = other.Cache.Clone();
        break;
      case ComponentPayloadOneofCase.Selector:
        Selector = other.Selector.Clone();
        break;
      case ComponentPayloadOneofCase.Collector:
        Collector = other.Collector.Clone();
        break;
      case ComponentPayloadOneofCase.Producer:
        Producer = other.Producer.Clone();
        break;
      case ComponentPayloadOneofCase.BoxConveyor:
        BoxConveyor = other.BoxConveyor.Clone();
        break;
      case ComponentPayloadOneofCase.BoxRouterM1:
        BoxRouterM1 = other.BoxRouterM1.Clone();
        break;
      case ComponentPayloadOneofCase.BurnPower:
        BurnPower = other.BurnPower.Clone();
        break;
      case ComponentPayloadOneofCase.CacheTransport:
        CacheTransport = other.CacheTransport.Clone();
        break;
      case ComponentPayloadOneofCase.StablePower:
        StablePower = other.StablePower.Clone();
        break;
      case ComponentPayloadOneofCase.PowerPole:
        PowerPole = other.PowerPole.Clone();
        break;
      case ComponentPayloadOneofCase.PowerSave:
        PowerSave = other.PowerSave.Clone();
        break;
      case ComponentPayloadOneofCase.BusLoader:
        BusLoader = other.BusLoader.Clone();
        break;
      case ComponentPayloadOneofCase.TravelPole:
        TravelPole = other.TravelPole.Clone();
        break;
      case ComponentPayloadOneofCase.GridBox:
        GridBox = other.GridBox.Clone();
        break;
      case ComponentPayloadOneofCase.BoxBridge:
        BoxBridge = other.BoxBridge.Clone();
        break;
      case ComponentPayloadOneofCase.Battle:
        Battle = other.Battle.Clone();
        break;
      case ComponentPayloadOneofCase.FluidConveyor:
        FluidConveyor = other.FluidConveyor.Clone();
        break;
      case ComponentPayloadOneofCase.FluidBridge:
        FluidBridge = other.FluidBridge.Clone();
        break;
      case ComponentPayloadOneofCase.FluidRouterM1:
        FluidRouterM1 = other.FluidRouterM1.Clone();
        break;
      case ComponentPayloadOneofCase.FormulaMan:
        FormulaMan = other.FormulaMan.Clone();
        break;
      case ComponentPayloadOneofCase.FluidContainer:
        FluidContainer = other.FluidContainer.Clone();
        break;
      case ComponentPayloadOneofCase.FluidPumpIn:
        FluidPumpIn = other.FluidPumpIn.Clone();
        break;
      case ComponentPayloadOneofCase.BatteryBurn:
        BatteryBurn = other.BatteryBurn.Clone();
        break;
      case ComponentPayloadOneofCase.SubHub:
        SubHub = other.SubHub.Clone();
        break;
      case ComponentPayloadOneofCase.WaterCollector:
        WaterCollector = other.WaterCollector.Clone();
        break;
      case ComponentPayloadOneofCase.Soil:
        Soil = other.Soil.Clone();
        break;
      case ComponentPayloadOneofCase.FluidSpray:
        FluidSpray = other.FluidSpray.Clone();
        break;
      case ComponentPayloadOneofCase.FluidPumpOut:
        FluidPumpOut = other.FluidPumpOut.Clone();
        break;
      case ComponentPayloadOneofCase.FluidConsume:
        FluidConsume = other.FluidConsume.Clone();
        break;
      case ComponentPayloadOneofCase.FluidReaction:
        FluidReaction = other.FluidReaction.Clone();
        break;
    }

    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacCom Clone() {
    return new ScdFacCom(this);
  }

  /// <summary>Field number for the "component_id" field.</summary>
  public const int ComponentIdFieldNumber = 1;
  private uint componentId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint ComponentId {
    get { return componentId_; }
    set {
      componentId_ = value;
    }
  }

  /// <summary>Field number for the "component_type" field.</summary>
  public const int ComponentTypeFieldNumber = 2;
  private int componentType_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ComponentType {
    get { return componentType_; }
    set {
      componentType_ = value;
    }
  }

  /// <summary>Field number for the "port_manager" field.</summary>
  public const int PortManagerFieldNumber = 9;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFacComPortManager PortManager {
    get { return componentPayloadCase_ == ComponentPayloadOneofCase.PortManager ? (global::ScdFacComPortManager) componentPayload_ : null; }
    set {
      componentPayload_ = value;
      componentPayloadCase_ = value == null ? ComponentPayloadOneofCase.None : ComponentPayloadOneofCase.PortManager;
    }
  }

  /// <summary>Field number for the "inventory" field.</summary>
  public const int InventoryFieldNumber = 10;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFacComInventory Inventory {
    get { return componentPayloadCase_ == ComponentPayloadOneofCase.Inventory ? (global::ScdFacComInventory) componentPayload_ : null; }
    set {
      componentPayload_ = value;
      componentPayloadCase_ = value == null ? ComponentPayloadOneofCase.None : ComponentPayloadOneofCase.Inventory;
    }
  }

  /// <summary>Field number for the "cache" field.</summary>
  public const int CacheFieldNumber = 11;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFacComCache Cache {
    get { return componentPayloadCase_ == ComponentPayloadOneofCase.Cache ? (global::ScdFacComCache) componentPayload_ : null; }
    set {
      componentPayload_ = value;
      componentPayloadCase_ = value == null ? ComponentPayloadOneofCase.None : ComponentPayloadOneofCase.Cache;
    }
  }

  /// <summary>Field number for the "selector" field.</summary>
  public const int SelectorFieldNumber = 12;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFacComSelector Selector {
    get { return componentPayloadCase_ == ComponentPayloadOneofCase.Selector ? (global::ScdFacComSelector) componentPayload_ : null; }
    set {
      componentPayload_ = value;
      componentPayloadCase_ = value == null ? ComponentPayloadOneofCase.None : ComponentPayloadOneofCase.Selector;
    }
  }

  /// <summary>Field number for the "collector" field.</summary>
  public const int CollectorFieldNumber = 13;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFacComCollector Collector {
    get { return componentPayloadCase_ == ComponentPayloadOneofCase.Collector ? (global::ScdFacComCollector) componentPayload_ : null; }
    set {
      componentPayload_ = value;
      componentPayloadCase_ = value == null ? ComponentPayloadOneofCase.None : ComponentPayloadOneofCase.Collector;
    }
  }

  /// <summary>Field number for the "producer" field.</summary>
  public const int ProducerFieldNumber = 14;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFacComProducer Producer {
    get { return componentPayloadCase_ == ComponentPayloadOneofCase.Producer ? (global::ScdFacComProducer) componentPayload_ : null; }
    set {
      componentPayload_ = value;
      componentPayloadCase_ = value == null ? ComponentPayloadOneofCase.None : ComponentPayloadOneofCase.Producer;
    }
  }

  /// <summary>Field number for the "box_conveyor" field.</summary>
  public const int BoxConveyorFieldNumber = 15;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFacComBoxConveyor BoxConveyor {
    get { return componentPayloadCase_ == ComponentPayloadOneofCase.BoxConveyor ? (global::ScdFacComBoxConveyor) componentPayload_ : null; }
    set {
      componentPayload_ = value;
      componentPayloadCase_ = value == null ? ComponentPayloadOneofCase.None : ComponentPayloadOneofCase.BoxConveyor;
    }
  }

  /// <summary>Field number for the "box_router_m1" field.</summary>
  public const int BoxRouterM1FieldNumber = 16;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFacComBoxRouterM1 BoxRouterM1 {
    get { return componentPayloadCase_ == ComponentPayloadOneofCase.BoxRouterM1 ? (global::ScdFacComBoxRouterM1) componentPayload_ : null; }
    set {
      componentPayload_ = value;
      componentPayloadCase_ = value == null ? ComponentPayloadOneofCase.None : ComponentPayloadOneofCase.BoxRouterM1;
    }
  }

  /// <summary>Field number for the "burn_power" field.</summary>
  public const int BurnPowerFieldNumber = 17;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFacComBurnPower BurnPower {
    get { return componentPayloadCase_ == ComponentPayloadOneofCase.BurnPower ? (global::ScdFacComBurnPower) componentPayload_ : null; }
    set {
      componentPayload_ = value;
      componentPayloadCase_ = value == null ? ComponentPayloadOneofCase.None : ComponentPayloadOneofCase.BurnPower;
    }
  }

  /// <summary>Field number for the "cache_transport" field.</summary>
  public const int CacheTransportFieldNumber = 18;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFacComCacheTransport CacheTransport {
    get { return componentPayloadCase_ == ComponentPayloadOneofCase.CacheTransport ? (global::ScdFacComCacheTransport) componentPayload_ : null; }
    set {
      componentPayload_ = value;
      componentPayloadCase_ = value == null ? ComponentPayloadOneofCase.None : ComponentPayloadOneofCase.CacheTransport;
    }
  }

  /// <summary>Field number for the "stable_power" field.</summary>
  public const int StablePowerFieldNumber = 19;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFacComStablePower StablePower {
    get { return componentPayloadCase_ == ComponentPayloadOneofCase.StablePower ? (global::ScdFacComStablePower) componentPayload_ : null; }
    set {
      componentPayload_ = value;
      componentPayloadCase_ = value == null ? ComponentPayloadOneofCase.None : ComponentPayloadOneofCase.StablePower;
    }
  }

  /// <summary>Field number for the "power_pole" field.</summary>
  public const int PowerPoleFieldNumber = 20;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFacComPowerPole PowerPole {
    get { return componentPayloadCase_ == ComponentPayloadOneofCase.PowerPole ? (global::ScdFacComPowerPole) componentPayload_ : null; }
    set {
      componentPayload_ = value;
      componentPayloadCase_ = value == null ? ComponentPayloadOneofCase.None : ComponentPayloadOneofCase.PowerPole;
    }
  }

  /// <summary>Field number for the "power_save" field.</summary>
  public const int PowerSaveFieldNumber = 22;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFacComPowerSave PowerSave {
    get { return componentPayloadCase_ == ComponentPayloadOneofCase.PowerSave ? (global::ScdFacComPowerSave) componentPayload_ : null; }
    set {
      componentPayload_ = value;
      componentPayloadCase_ = value == null ? ComponentPayloadOneofCase.None : ComponentPayloadOneofCase.PowerSave;
    }
  }

  /// <summary>Field number for the "bus_loader" field.</summary>
  public const int BusLoaderFieldNumber = 23;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFacComBusLoader BusLoader {
    get { return componentPayloadCase_ == ComponentPayloadOneofCase.BusLoader ? (global::ScdFacComBusLoader) componentPayload_ : null; }
    set {
      componentPayload_ = value;
      componentPayloadCase_ = value == null ? ComponentPayloadOneofCase.None : ComponentPayloadOneofCase.BusLoader;
    }
  }

  /// <summary>Field number for the "travel_pole" field.</summary>
  public const int TravelPoleFieldNumber = 24;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFacComTravelPole TravelPole {
    get { return componentPayloadCase_ == ComponentPayloadOneofCase.TravelPole ? (global::ScdFacComTravelPole) componentPayload_ : null; }
    set {
      componentPayload_ = value;
      componentPayloadCase_ = value == null ? ComponentPayloadOneofCase.None : ComponentPayloadOneofCase.TravelPole;
    }
  }

  /// <summary>Field number for the "grid_box" field.</summary>
  public const int GridBoxFieldNumber = 25;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFacComGridBox GridBox {
    get { return componentPayloadCase_ == ComponentPayloadOneofCase.GridBox ? (global::ScdFacComGridBox) componentPayload_ : null; }
    set {
      componentPayload_ = value;
      componentPayloadCase_ = value == null ? ComponentPayloadOneofCase.None : ComponentPayloadOneofCase.GridBox;
    }
  }

  /// <summary>Field number for the "box_bridge" field.</summary>
  public const int BoxBridgeFieldNumber = 26;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFacComBoxBridge BoxBridge {
    get { return componentPayloadCase_ == ComponentPayloadOneofCase.BoxBridge ? (global::ScdFacComBoxBridge) componentPayload_ : null; }
    set {
      componentPayload_ = value;
      componentPayloadCase_ = value == null ? ComponentPayloadOneofCase.None : ComponentPayloadOneofCase.BoxBridge;
    }
  }

  /// <summary>Field number for the "battle" field.</summary>
  public const int BattleFieldNumber = 27;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFacComBattle Battle {
    get { return componentPayloadCase_ == ComponentPayloadOneofCase.Battle ? (global::ScdFacComBattle) componentPayload_ : null; }
    set {
      componentPayload_ = value;
      componentPayloadCase_ = value == null ? ComponentPayloadOneofCase.None : ComponentPayloadOneofCase.Battle;
    }
  }

  /// <summary>Field number for the "fluid_conveyor" field.</summary>
  public const int FluidConveyorFieldNumber = 28;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFacComFluidConveyor FluidConveyor {
    get { return componentPayloadCase_ == ComponentPayloadOneofCase.FluidConveyor ? (global::ScdFacComFluidConveyor) componentPayload_ : null; }
    set {
      componentPayload_ = value;
      componentPayloadCase_ = value == null ? ComponentPayloadOneofCase.None : ComponentPayloadOneofCase.FluidConveyor;
    }
  }

  /// <summary>Field number for the "fluid_bridge" field.</summary>
  public const int FluidBridgeFieldNumber = 29;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFacComFluidBridge FluidBridge {
    get { return componentPayloadCase_ == ComponentPayloadOneofCase.FluidBridge ? (global::ScdFacComFluidBridge) componentPayload_ : null; }
    set {
      componentPayload_ = value;
      componentPayloadCase_ = value == null ? ComponentPayloadOneofCase.None : ComponentPayloadOneofCase.FluidBridge;
    }
  }

  /// <summary>Field number for the "fluid_router_m1" field.</summary>
  public const int FluidRouterM1FieldNumber = 30;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFacComFluidRouterM1 FluidRouterM1 {
    get { return componentPayloadCase_ == ComponentPayloadOneofCase.FluidRouterM1 ? (global::ScdFacComFluidRouterM1) componentPayload_ : null; }
    set {
      componentPayload_ = value;
      componentPayloadCase_ = value == null ? ComponentPayloadOneofCase.None : ComponentPayloadOneofCase.FluidRouterM1;
    }
  }

  /// <summary>Field number for the "formula_man" field.</summary>
  public const int FormulaManFieldNumber = 31;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFacComFormulaMan FormulaMan {
    get { return componentPayloadCase_ == ComponentPayloadOneofCase.FormulaMan ? (global::ScdFacComFormulaMan) componentPayload_ : null; }
    set {
      componentPayload_ = value;
      componentPayloadCase_ = value == null ? ComponentPayloadOneofCase.None : ComponentPayloadOneofCase.FormulaMan;
    }
  }

  /// <summary>Field number for the "fluid_container" field.</summary>
  public const int FluidContainerFieldNumber = 32;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFacComFluidContainer FluidContainer {
    get { return componentPayloadCase_ == ComponentPayloadOneofCase.FluidContainer ? (global::ScdFacComFluidContainer) componentPayload_ : null; }
    set {
      componentPayload_ = value;
      componentPayloadCase_ = value == null ? ComponentPayloadOneofCase.None : ComponentPayloadOneofCase.FluidContainer;
    }
  }

  /// <summary>Field number for the "fluid_pump_in" field.</summary>
  public const int FluidPumpInFieldNumber = 33;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFacComFluidPumpIn FluidPumpIn {
    get { return componentPayloadCase_ == ComponentPayloadOneofCase.FluidPumpIn ? (global::ScdFacComFluidPumpIn) componentPayload_ : null; }
    set {
      componentPayload_ = value;
      componentPayloadCase_ = value == null ? ComponentPayloadOneofCase.None : ComponentPayloadOneofCase.FluidPumpIn;
    }
  }

  /// <summary>Field number for the "battery_burn" field.</summary>
  public const int BatteryBurnFieldNumber = 34;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFacComBatteryBurn BatteryBurn {
    get { return componentPayloadCase_ == ComponentPayloadOneofCase.BatteryBurn ? (global::ScdFacComBatteryBurn) componentPayload_ : null; }
    set {
      componentPayload_ = value;
      componentPayloadCase_ = value == null ? ComponentPayloadOneofCase.None : ComponentPayloadOneofCase.BatteryBurn;
    }
  }

  /// <summary>Field number for the "sub_hub" field.</summary>
  public const int SubHubFieldNumber = 35;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFacComSubHub SubHub {
    get { return componentPayloadCase_ == ComponentPayloadOneofCase.SubHub ? (global::ScdFacComSubHub) componentPayload_ : null; }
    set {
      componentPayload_ = value;
      componentPayloadCase_ = value == null ? ComponentPayloadOneofCase.None : ComponentPayloadOneofCase.SubHub;
    }
  }

  /// <summary>Field number for the "water_collector" field.</summary>
  public const int WaterCollectorFieldNumber = 36;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFacComWaterCollector WaterCollector {
    get { return componentPayloadCase_ == ComponentPayloadOneofCase.WaterCollector ? (global::ScdFacComWaterCollector) componentPayload_ : null; }
    set {
      componentPayload_ = value;
      componentPayloadCase_ = value == null ? ComponentPayloadOneofCase.None : ComponentPayloadOneofCase.WaterCollector;
    }
  }

  /// <summary>Field number for the "soil" field.</summary>
  public const int SoilFieldNumber = 37;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFacComSoil Soil {
    get { return componentPayloadCase_ == ComponentPayloadOneofCase.Soil ? (global::ScdFacComSoil) componentPayload_ : null; }
    set {
      componentPayload_ = value;
      componentPayloadCase_ = value == null ? ComponentPayloadOneofCase.None : ComponentPayloadOneofCase.Soil;
    }
  }

  /// <summary>Field number for the "fluid_spray" field.</summary>
  public const int FluidSprayFieldNumber = 38;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFacComFluidSpray FluidSpray {
    get { return componentPayloadCase_ == ComponentPayloadOneofCase.FluidSpray ? (global::ScdFacComFluidSpray) componentPayload_ : null; }
    set {
      componentPayload_ = value;
      componentPayloadCase_ = value == null ? ComponentPayloadOneofCase.None : ComponentPayloadOneofCase.FluidSpray;
    }
  }

  /// <summary>Field number for the "fluid_pump_out" field.</summary>
  public const int FluidPumpOutFieldNumber = 39;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFacComFluidPumpOut FluidPumpOut {
    get { return componentPayloadCase_ == ComponentPayloadOneofCase.FluidPumpOut ? (global::ScdFacComFluidPumpOut) componentPayload_ : null; }
    set {
      componentPayload_ = value;
      componentPayloadCase_ = value == null ? ComponentPayloadOneofCase.None : ComponentPayloadOneofCase.FluidPumpOut;
    }
  }

  /// <summary>Field number for the "fluid_consume" field.</summary>
  public const int FluidConsumeFieldNumber = 40;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFacComFluidConsume FluidConsume {
    get { return componentPayloadCase_ == ComponentPayloadOneofCase.FluidConsume ? (global::ScdFacComFluidConsume) componentPayload_ : null; }
    set {
      componentPayload_ = value;
      componentPayloadCase_ = value == null ? ComponentPayloadOneofCase.None : ComponentPayloadOneofCase.FluidConsume;
    }
  }

  /// <summary>Field number for the "fluid_reaction" field.</summary>
  public const int FluidReactionFieldNumber = 41;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFacComFluidReaction FluidReaction {
    get { return componentPayloadCase_ == ComponentPayloadOneofCase.FluidReaction ? (global::ScdFacComFluidReaction) componentPayload_ : null; }
    set {
      componentPayload_ = value;
      componentPayloadCase_ = value == null ? ComponentPayloadOneofCase.None : ComponentPayloadOneofCase.FluidReaction;
    }
  }

  private object componentPayload_;
  /// <summary>Enum of possible cases for the "component_payload" oneof.</summary>
  public enum ComponentPayloadOneofCase {
    None = 0,
    PortManager = 9,
    Inventory = 10,
    Cache = 11,
    Selector = 12,
    Collector = 13,
    Producer = 14,
    BoxConveyor = 15,
    BoxRouterM1 = 16,
    BurnPower = 17,
    CacheTransport = 18,
    StablePower = 19,
    PowerPole = 20,
    PowerSave = 22,
    BusLoader = 23,
    TravelPole = 24,
    GridBox = 25,
    BoxBridge = 26,
    Battle = 27,
    FluidConveyor = 28,
    FluidBridge = 29,
    FluidRouterM1 = 30,
    FormulaMan = 31,
    FluidContainer = 32,
    FluidPumpIn = 33,
    BatteryBurn = 34,
    SubHub = 35,
    WaterCollector = 36,
    Soil = 37,
    FluidSpray = 38,
    FluidPumpOut = 39,
    FluidConsume = 40,
    FluidReaction = 41,
  }
  private ComponentPayloadOneofCase componentPayloadCase_ = ComponentPayloadOneofCase.None;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ComponentPayloadOneofCase ComponentPayloadCase {
    get { return componentPayloadCase_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void ClearComponentPayload() {
    componentPayloadCase_ = ComponentPayloadOneofCase.None;
    componentPayload_ = null;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFacCom);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFacCom other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ComponentId != other.ComponentId) return false;
    if (ComponentType != other.ComponentType) return false;
    if (!object.Equals(PortManager, other.PortManager)) return false;
    if (!object.Equals(Inventory, other.Inventory)) return false;
    if (!object.Equals(Cache, other.Cache)) return false;
    if (!object.Equals(Selector, other.Selector)) return false;
    if (!object.Equals(Collector, other.Collector)) return false;
    if (!object.Equals(Producer, other.Producer)) return false;
    if (!object.Equals(BoxConveyor, other.BoxConveyor)) return false;
    if (!object.Equals(BoxRouterM1, other.BoxRouterM1)) return false;
    if (!object.Equals(BurnPower, other.BurnPower)) return false;
    if (!object.Equals(CacheTransport, other.CacheTransport)) return false;
    if (!object.Equals(StablePower, other.StablePower)) return false;
    if (!object.Equals(PowerPole, other.PowerPole)) return false;
    if (!object.Equals(PowerSave, other.PowerSave)) return false;
    if (!object.Equals(BusLoader, other.BusLoader)) return false;
    if (!object.Equals(TravelPole, other.TravelPole)) return false;
    if (!object.Equals(GridBox, other.GridBox)) return false;
    if (!object.Equals(BoxBridge, other.BoxBridge)) return false;
    if (!object.Equals(Battle, other.Battle)) return false;
    if (!object.Equals(FluidConveyor, other.FluidConveyor)) return false;
    if (!object.Equals(FluidBridge, other.FluidBridge)) return false;
    if (!object.Equals(FluidRouterM1, other.FluidRouterM1)) return false;
    if (!object.Equals(FormulaMan, other.FormulaMan)) return false;
    if (!object.Equals(FluidContainer, other.FluidContainer)) return false;
    if (!object.Equals(FluidPumpIn, other.FluidPumpIn)) return false;
    if (!object.Equals(BatteryBurn, other.BatteryBurn)) return false;
    if (!object.Equals(SubHub, other.SubHub)) return false;
    if (!object.Equals(WaterCollector, other.WaterCollector)) return false;
    if (!object.Equals(Soil, other.Soil)) return false;
    if (!object.Equals(FluidSpray, other.FluidSpray)) return false;
    if (!object.Equals(FluidPumpOut, other.FluidPumpOut)) return false;
    if (!object.Equals(FluidConsume, other.FluidConsume)) return false;
    if (!object.Equals(FluidReaction, other.FluidReaction)) return false;
    if (ComponentPayloadCase != other.ComponentPayloadCase) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ComponentId != 0) hash ^= ComponentId.GetHashCode();
    if (ComponentType != 0) hash ^= ComponentType.GetHashCode();
    if (componentPayloadCase_ == ComponentPayloadOneofCase.PortManager) hash ^= PortManager.GetHashCode();
    if (componentPayloadCase_ == ComponentPayloadOneofCase.Inventory) hash ^= Inventory.GetHashCode();
    if (componentPayloadCase_ == ComponentPayloadOneofCase.Cache) hash ^= Cache.GetHashCode();
    if (componentPayloadCase_ == ComponentPayloadOneofCase.Selector) hash ^= Selector.GetHashCode();
    if (componentPayloadCase_ == ComponentPayloadOneofCase.Collector) hash ^= Collector.GetHashCode();
    if (componentPayloadCase_ == ComponentPayloadOneofCase.Producer) hash ^= Producer.GetHashCode();
    if (componentPayloadCase_ == ComponentPayloadOneofCase.BoxConveyor) hash ^= BoxConveyor.GetHashCode();
    if (componentPayloadCase_ == ComponentPayloadOneofCase.BoxRouterM1) hash ^= BoxRouterM1.GetHashCode();
    if (componentPayloadCase_ == ComponentPayloadOneofCase.BurnPower) hash ^= BurnPower.GetHashCode();
    if (componentPayloadCase_ == ComponentPayloadOneofCase.CacheTransport) hash ^= CacheTransport.GetHashCode();
    if (componentPayloadCase_ == ComponentPayloadOneofCase.StablePower) hash ^= StablePower.GetHashCode();
    if (componentPayloadCase_ == ComponentPayloadOneofCase.PowerPole) hash ^= PowerPole.GetHashCode();
    if (componentPayloadCase_ == ComponentPayloadOneofCase.PowerSave) hash ^= PowerSave.GetHashCode();
    if (componentPayloadCase_ == ComponentPayloadOneofCase.BusLoader) hash ^= BusLoader.GetHashCode();
    if (componentPayloadCase_ == ComponentPayloadOneofCase.TravelPole) hash ^= TravelPole.GetHashCode();
    if (componentPayloadCase_ == ComponentPayloadOneofCase.GridBox) hash ^= GridBox.GetHashCode();
    if (componentPayloadCase_ == ComponentPayloadOneofCase.BoxBridge) hash ^= BoxBridge.GetHashCode();
    if (componentPayloadCase_ == ComponentPayloadOneofCase.Battle) hash ^= Battle.GetHashCode();
    if (componentPayloadCase_ == ComponentPayloadOneofCase.FluidConveyor) hash ^= FluidConveyor.GetHashCode();
    if (componentPayloadCase_ == ComponentPayloadOneofCase.FluidBridge) hash ^= FluidBridge.GetHashCode();
    if (componentPayloadCase_ == ComponentPayloadOneofCase.FluidRouterM1) hash ^= FluidRouterM1.GetHashCode();
    if (componentPayloadCase_ == ComponentPayloadOneofCase.FormulaMan) hash ^= FormulaMan.GetHashCode();
    if (componentPayloadCase_ == ComponentPayloadOneofCase.FluidContainer) hash ^= FluidContainer.GetHashCode();
    if (componentPayloadCase_ == ComponentPayloadOneofCase.FluidPumpIn) hash ^= FluidPumpIn.GetHashCode();
    if (componentPayloadCase_ == ComponentPayloadOneofCase.BatteryBurn) hash ^= BatteryBurn.GetHashCode();
    if (componentPayloadCase_ == ComponentPayloadOneofCase.SubHub) hash ^= SubHub.GetHashCode();
    if (componentPayloadCase_ == ComponentPayloadOneofCase.WaterCollector) hash ^= WaterCollector.GetHashCode();
    if (componentPayloadCase_ == ComponentPayloadOneofCase.Soil) hash ^= Soil.GetHashCode();
    if (componentPayloadCase_ == ComponentPayloadOneofCase.FluidSpray) hash ^= FluidSpray.GetHashCode();
    if (componentPayloadCase_ == ComponentPayloadOneofCase.FluidPumpOut) hash ^= FluidPumpOut.GetHashCode();
    if (componentPayloadCase_ == ComponentPayloadOneofCase.FluidConsume) hash ^= FluidConsume.GetHashCode();
    if (componentPayloadCase_ == ComponentPayloadOneofCase.FluidReaction) hash ^= FluidReaction.GetHashCode();
    hash ^= (int) componentPayloadCase_;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ComponentId != 0) {
      output.WriteRawTag(8);
      output.WriteUInt32(ComponentId);
    }
    if (ComponentType != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(ComponentType);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.PortManager) {
      output.WriteRawTag(74);
      output.WriteMessage(PortManager);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.Inventory) {
      output.WriteRawTag(82);
      output.WriteMessage(Inventory);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.Cache) {
      output.WriteRawTag(90);
      output.WriteMessage(Cache);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.Selector) {
      output.WriteRawTag(98);
      output.WriteMessage(Selector);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.Collector) {
      output.WriteRawTag(106);
      output.WriteMessage(Collector);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.Producer) {
      output.WriteRawTag(114);
      output.WriteMessage(Producer);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.BoxConveyor) {
      output.WriteRawTag(122);
      output.WriteMessage(BoxConveyor);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.BoxRouterM1) {
      output.WriteRawTag(130, 1);
      output.WriteMessage(BoxRouterM1);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.BurnPower) {
      output.WriteRawTag(138, 1);
      output.WriteMessage(BurnPower);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.CacheTransport) {
      output.WriteRawTag(146, 1);
      output.WriteMessage(CacheTransport);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.StablePower) {
      output.WriteRawTag(154, 1);
      output.WriteMessage(StablePower);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.PowerPole) {
      output.WriteRawTag(162, 1);
      output.WriteMessage(PowerPole);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.PowerSave) {
      output.WriteRawTag(178, 1);
      output.WriteMessage(PowerSave);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.BusLoader) {
      output.WriteRawTag(186, 1);
      output.WriteMessage(BusLoader);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.TravelPole) {
      output.WriteRawTag(194, 1);
      output.WriteMessage(TravelPole);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.GridBox) {
      output.WriteRawTag(202, 1);
      output.WriteMessage(GridBox);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.BoxBridge) {
      output.WriteRawTag(210, 1);
      output.WriteMessage(BoxBridge);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.Battle) {
      output.WriteRawTag(218, 1);
      output.WriteMessage(Battle);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.FluidConveyor) {
      output.WriteRawTag(226, 1);
      output.WriteMessage(FluidConveyor);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.FluidBridge) {
      output.WriteRawTag(234, 1);
      output.WriteMessage(FluidBridge);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.FluidRouterM1) {
      output.WriteRawTag(242, 1);
      output.WriteMessage(FluidRouterM1);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.FormulaMan) {
      output.WriteRawTag(250, 1);
      output.WriteMessage(FormulaMan);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.FluidContainer) {
      output.WriteRawTag(130, 2);
      output.WriteMessage(FluidContainer);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.FluidPumpIn) {
      output.WriteRawTag(138, 2);
      output.WriteMessage(FluidPumpIn);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.BatteryBurn) {
      output.WriteRawTag(146, 2);
      output.WriteMessage(BatteryBurn);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.SubHub) {
      output.WriteRawTag(154, 2);
      output.WriteMessage(SubHub);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.WaterCollector) {
      output.WriteRawTag(162, 2);
      output.WriteMessage(WaterCollector);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.Soil) {
      output.WriteRawTag(170, 2);
      output.WriteMessage(Soil);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.FluidSpray) {
      output.WriteRawTag(178, 2);
      output.WriteMessage(FluidSpray);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.FluidPumpOut) {
      output.WriteRawTag(186, 2);
      output.WriteMessage(FluidPumpOut);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.FluidConsume) {
      output.WriteRawTag(194, 2);
      output.WriteMessage(FluidConsume);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.FluidReaction) {
      output.WriteRawTag(202, 2);
      output.WriteMessage(FluidReaction);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ComponentId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(ComponentId);
    }
    if (ComponentType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ComponentType);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.PortManager) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(PortManager);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.Inventory) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Inventory);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.Cache) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Cache);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.Selector) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Selector);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.Collector) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Collector);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.Producer) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Producer);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.BoxConveyor) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(BoxConveyor);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.BoxRouterM1) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(BoxRouterM1);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.BurnPower) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(BurnPower);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.CacheTransport) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(CacheTransport);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.StablePower) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(StablePower);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.PowerPole) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(PowerPole);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.PowerSave) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(PowerSave);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.BusLoader) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(BusLoader);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.TravelPole) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(TravelPole);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.GridBox) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(GridBox);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.BoxBridge) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(BoxBridge);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.Battle) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(Battle);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.FluidConveyor) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(FluidConveyor);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.FluidBridge) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(FluidBridge);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.FluidRouterM1) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(FluidRouterM1);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.FormulaMan) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(FormulaMan);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.FluidContainer) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(FluidContainer);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.FluidPumpIn) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(FluidPumpIn);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.BatteryBurn) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(BatteryBurn);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.SubHub) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(SubHub);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.WaterCollector) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(WaterCollector);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.Soil) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(Soil);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.FluidSpray) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(FluidSpray);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.FluidPumpOut) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(FluidPumpOut);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.FluidConsume) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(FluidConsume);
    }
    if (componentPayloadCase_ == ComponentPayloadOneofCase.FluidReaction) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(FluidReaction);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFacCom other) {
    if (other == null) {
      return;
    }
    if (other.ComponentId != 0) {
      ComponentId = other.ComponentId;
    }
    if (other.ComponentType != 0) {
      ComponentType = other.ComponentType;
    }
    switch (other.ComponentPayloadCase) {
      case ComponentPayloadOneofCase.PortManager:
        if (PortManager == null) {
          PortManager = new global::ScdFacComPortManager();
        }
        PortManager.MergeFrom(other.PortManager);
        break;
      case ComponentPayloadOneofCase.Inventory:
        if (Inventory == null) {
          Inventory = new global::ScdFacComInventory();
        }
        Inventory.MergeFrom(other.Inventory);
        break;
      case ComponentPayloadOneofCase.Cache:
        if (Cache == null) {
          Cache = new global::ScdFacComCache();
        }
        Cache.MergeFrom(other.Cache);
        break;
      case ComponentPayloadOneofCase.Selector:
        if (Selector == null) {
          Selector = new global::ScdFacComSelector();
        }
        Selector.MergeFrom(other.Selector);
        break;
      case ComponentPayloadOneofCase.Collector:
        if (Collector == null) {
          Collector = new global::ScdFacComCollector();
        }
        Collector.MergeFrom(other.Collector);
        break;
      case ComponentPayloadOneofCase.Producer:
        if (Producer == null) {
          Producer = new global::ScdFacComProducer();
        }
        Producer.MergeFrom(other.Producer);
        break;
      case ComponentPayloadOneofCase.BoxConveyor:
        if (BoxConveyor == null) {
          BoxConveyor = new global::ScdFacComBoxConveyor();
        }
        BoxConveyor.MergeFrom(other.BoxConveyor);
        break;
      case ComponentPayloadOneofCase.BoxRouterM1:
        if (BoxRouterM1 == null) {
          BoxRouterM1 = new global::ScdFacComBoxRouterM1();
        }
        BoxRouterM1.MergeFrom(other.BoxRouterM1);
        break;
      case ComponentPayloadOneofCase.BurnPower:
        if (BurnPower == null) {
          BurnPower = new global::ScdFacComBurnPower();
        }
        BurnPower.MergeFrom(other.BurnPower);
        break;
      case ComponentPayloadOneofCase.CacheTransport:
        if (CacheTransport == null) {
          CacheTransport = new global::ScdFacComCacheTransport();
        }
        CacheTransport.MergeFrom(other.CacheTransport);
        break;
      case ComponentPayloadOneofCase.StablePower:
        if (StablePower == null) {
          StablePower = new global::ScdFacComStablePower();
        }
        StablePower.MergeFrom(other.StablePower);
        break;
      case ComponentPayloadOneofCase.PowerPole:
        if (PowerPole == null) {
          PowerPole = new global::ScdFacComPowerPole();
        }
        PowerPole.MergeFrom(other.PowerPole);
        break;
      case ComponentPayloadOneofCase.PowerSave:
        if (PowerSave == null) {
          PowerSave = new global::ScdFacComPowerSave();
        }
        PowerSave.MergeFrom(other.PowerSave);
        break;
      case ComponentPayloadOneofCase.BusLoader:
        if (BusLoader == null) {
          BusLoader = new global::ScdFacComBusLoader();
        }
        BusLoader.MergeFrom(other.BusLoader);
        break;
      case ComponentPayloadOneofCase.TravelPole:
        if (TravelPole == null) {
          TravelPole = new global::ScdFacComTravelPole();
        }
        TravelPole.MergeFrom(other.TravelPole);
        break;
      case ComponentPayloadOneofCase.GridBox:
        if (GridBox == null) {
          GridBox = new global::ScdFacComGridBox();
        }
        GridBox.MergeFrom(other.GridBox);
        break;
      case ComponentPayloadOneofCase.BoxBridge:
        if (BoxBridge == null) {
          BoxBridge = new global::ScdFacComBoxBridge();
        }
        BoxBridge.MergeFrom(other.BoxBridge);
        break;
      case ComponentPayloadOneofCase.Battle:
        if (Battle == null) {
          Battle = new global::ScdFacComBattle();
        }
        Battle.MergeFrom(other.Battle);
        break;
      case ComponentPayloadOneofCase.FluidConveyor:
        if (FluidConveyor == null) {
          FluidConveyor = new global::ScdFacComFluidConveyor();
        }
        FluidConveyor.MergeFrom(other.FluidConveyor);
        break;
      case ComponentPayloadOneofCase.FluidBridge:
        if (FluidBridge == null) {
          FluidBridge = new global::ScdFacComFluidBridge();
        }
        FluidBridge.MergeFrom(other.FluidBridge);
        break;
      case ComponentPayloadOneofCase.FluidRouterM1:
        if (FluidRouterM1 == null) {
          FluidRouterM1 = new global::ScdFacComFluidRouterM1();
        }
        FluidRouterM1.MergeFrom(other.FluidRouterM1);
        break;
      case ComponentPayloadOneofCase.FormulaMan:
        if (FormulaMan == null) {
          FormulaMan = new global::ScdFacComFormulaMan();
        }
        FormulaMan.MergeFrom(other.FormulaMan);
        break;
      case ComponentPayloadOneofCase.FluidContainer:
        if (FluidContainer == null) {
          FluidContainer = new global::ScdFacComFluidContainer();
        }
        FluidContainer.MergeFrom(other.FluidContainer);
        break;
      case ComponentPayloadOneofCase.FluidPumpIn:
        if (FluidPumpIn == null) {
          FluidPumpIn = new global::ScdFacComFluidPumpIn();
        }
        FluidPumpIn.MergeFrom(other.FluidPumpIn);
        break;
      case ComponentPayloadOneofCase.BatteryBurn:
        if (BatteryBurn == null) {
          BatteryBurn = new global::ScdFacComBatteryBurn();
        }
        BatteryBurn.MergeFrom(other.BatteryBurn);
        break;
      case ComponentPayloadOneofCase.SubHub:
        if (SubHub == null) {
          SubHub = new global::ScdFacComSubHub();
        }
        SubHub.MergeFrom(other.SubHub);
        break;
      case ComponentPayloadOneofCase.WaterCollector:
        if (WaterCollector == null) {
          WaterCollector = new global::ScdFacComWaterCollector();
        }
        WaterCollector.MergeFrom(other.WaterCollector);
        break;
      case ComponentPayloadOneofCase.Soil:
        if (Soil == null) {
          Soil = new global::ScdFacComSoil();
        }
        Soil.MergeFrom(other.Soil);
        break;
      case ComponentPayloadOneofCase.FluidSpray:
        if (FluidSpray == null) {
          FluidSpray = new global::ScdFacComFluidSpray();
        }
        FluidSpray.MergeFrom(other.FluidSpray);
        break;
      case ComponentPayloadOneofCase.FluidPumpOut:
        if (FluidPumpOut == null) {
          FluidPumpOut = new global::ScdFacComFluidPumpOut();
        }
        FluidPumpOut.MergeFrom(other.FluidPumpOut);
        break;
      case ComponentPayloadOneofCase.FluidConsume:
        if (FluidConsume == null) {
          FluidConsume = new global::ScdFacComFluidConsume();
        }
        FluidConsume.MergeFrom(other.FluidConsume);
        break;
      case ComponentPayloadOneofCase.FluidReaction:
        if (FluidReaction == null) {
          FluidReaction = new global::ScdFacComFluidReaction();
        }
        FluidReaction.MergeFrom(other.FluidReaction);
        break;
    }

    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ComponentId = input.ReadUInt32();
          break;
        }
        case 16: {
          ComponentType = input.ReadInt32();
          break;
        }
        case 74: {
          global::ScdFacComPortManager subBuilder = new global::ScdFacComPortManager();
          if (componentPayloadCase_ == ComponentPayloadOneofCase.PortManager) {
            subBuilder.MergeFrom(PortManager);
          }
          input.ReadMessage(subBuilder);
          PortManager = subBuilder;
          break;
        }
        case 82: {
          global::ScdFacComInventory subBuilder = new global::ScdFacComInventory();
          if (componentPayloadCase_ == ComponentPayloadOneofCase.Inventory) {
            subBuilder.MergeFrom(Inventory);
          }
          input.ReadMessage(subBuilder);
          Inventory = subBuilder;
          break;
        }
        case 90: {
          global::ScdFacComCache subBuilder = new global::ScdFacComCache();
          if (componentPayloadCase_ == ComponentPayloadOneofCase.Cache) {
            subBuilder.MergeFrom(Cache);
          }
          input.ReadMessage(subBuilder);
          Cache = subBuilder;
          break;
        }
        case 98: {
          global::ScdFacComSelector subBuilder = new global::ScdFacComSelector();
          if (componentPayloadCase_ == ComponentPayloadOneofCase.Selector) {
            subBuilder.MergeFrom(Selector);
          }
          input.ReadMessage(subBuilder);
          Selector = subBuilder;
          break;
        }
        case 106: {
          global::ScdFacComCollector subBuilder = new global::ScdFacComCollector();
          if (componentPayloadCase_ == ComponentPayloadOneofCase.Collector) {
            subBuilder.MergeFrom(Collector);
          }
          input.ReadMessage(subBuilder);
          Collector = subBuilder;
          break;
        }
        case 114: {
          global::ScdFacComProducer subBuilder = new global::ScdFacComProducer();
          if (componentPayloadCase_ == ComponentPayloadOneofCase.Producer) {
            subBuilder.MergeFrom(Producer);
          }
          input.ReadMessage(subBuilder);
          Producer = subBuilder;
          break;
        }
        case 122: {
          global::ScdFacComBoxConveyor subBuilder = new global::ScdFacComBoxConveyor();
          if (componentPayloadCase_ == ComponentPayloadOneofCase.BoxConveyor) {
            subBuilder.MergeFrom(BoxConveyor);
          }
          input.ReadMessage(subBuilder);
          BoxConveyor = subBuilder;
          break;
        }
        case 130: {
          global::ScdFacComBoxRouterM1 subBuilder = new global::ScdFacComBoxRouterM1();
          if (componentPayloadCase_ == ComponentPayloadOneofCase.BoxRouterM1) {
            subBuilder.MergeFrom(BoxRouterM1);
          }
          input.ReadMessage(subBuilder);
          BoxRouterM1 = subBuilder;
          break;
        }
        case 138: {
          global::ScdFacComBurnPower subBuilder = new global::ScdFacComBurnPower();
          if (componentPayloadCase_ == ComponentPayloadOneofCase.BurnPower) {
            subBuilder.MergeFrom(BurnPower);
          }
          input.ReadMessage(subBuilder);
          BurnPower = subBuilder;
          break;
        }
        case 146: {
          global::ScdFacComCacheTransport subBuilder = new global::ScdFacComCacheTransport();
          if (componentPayloadCase_ == ComponentPayloadOneofCase.CacheTransport) {
            subBuilder.MergeFrom(CacheTransport);
          }
          input.ReadMessage(subBuilder);
          CacheTransport = subBuilder;
          break;
        }
        case 154: {
          global::ScdFacComStablePower subBuilder = new global::ScdFacComStablePower();
          if (componentPayloadCase_ == ComponentPayloadOneofCase.StablePower) {
            subBuilder.MergeFrom(StablePower);
          }
          input.ReadMessage(subBuilder);
          StablePower = subBuilder;
          break;
        }
        case 162: {
          global::ScdFacComPowerPole subBuilder = new global::ScdFacComPowerPole();
          if (componentPayloadCase_ == ComponentPayloadOneofCase.PowerPole) {
            subBuilder.MergeFrom(PowerPole);
          }
          input.ReadMessage(subBuilder);
          PowerPole = subBuilder;
          break;
        }
        case 178: {
          global::ScdFacComPowerSave subBuilder = new global::ScdFacComPowerSave();
          if (componentPayloadCase_ == ComponentPayloadOneofCase.PowerSave) {
            subBuilder.MergeFrom(PowerSave);
          }
          input.ReadMessage(subBuilder);
          PowerSave = subBuilder;
          break;
        }
        case 186: {
          global::ScdFacComBusLoader subBuilder = new global::ScdFacComBusLoader();
          if (componentPayloadCase_ == ComponentPayloadOneofCase.BusLoader) {
            subBuilder.MergeFrom(BusLoader);
          }
          input.ReadMessage(subBuilder);
          BusLoader = subBuilder;
          break;
        }
        case 194: {
          global::ScdFacComTravelPole subBuilder = new global::ScdFacComTravelPole();
          if (componentPayloadCase_ == ComponentPayloadOneofCase.TravelPole) {
            subBuilder.MergeFrom(TravelPole);
          }
          input.ReadMessage(subBuilder);
          TravelPole = subBuilder;
          break;
        }
        case 202: {
          global::ScdFacComGridBox subBuilder = new global::ScdFacComGridBox();
          if (componentPayloadCase_ == ComponentPayloadOneofCase.GridBox) {
            subBuilder.MergeFrom(GridBox);
          }
          input.ReadMessage(subBuilder);
          GridBox = subBuilder;
          break;
        }
        case 210: {
          global::ScdFacComBoxBridge subBuilder = new global::ScdFacComBoxBridge();
          if (componentPayloadCase_ == ComponentPayloadOneofCase.BoxBridge) {
            subBuilder.MergeFrom(BoxBridge);
          }
          input.ReadMessage(subBuilder);
          BoxBridge = subBuilder;
          break;
        }
        case 218: {
          global::ScdFacComBattle subBuilder = new global::ScdFacComBattle();
          if (componentPayloadCase_ == ComponentPayloadOneofCase.Battle) {
            subBuilder.MergeFrom(Battle);
          }
          input.ReadMessage(subBuilder);
          Battle = subBuilder;
          break;
        }
        case 226: {
          global::ScdFacComFluidConveyor subBuilder = new global::ScdFacComFluidConveyor();
          if (componentPayloadCase_ == ComponentPayloadOneofCase.FluidConveyor) {
            subBuilder.MergeFrom(FluidConveyor);
          }
          input.ReadMessage(subBuilder);
          FluidConveyor = subBuilder;
          break;
        }
        case 234: {
          global::ScdFacComFluidBridge subBuilder = new global::ScdFacComFluidBridge();
          if (componentPayloadCase_ == ComponentPayloadOneofCase.FluidBridge) {
            subBuilder.MergeFrom(FluidBridge);
          }
          input.ReadMessage(subBuilder);
          FluidBridge = subBuilder;
          break;
        }
        case 242: {
          global::ScdFacComFluidRouterM1 subBuilder = new global::ScdFacComFluidRouterM1();
          if (componentPayloadCase_ == ComponentPayloadOneofCase.FluidRouterM1) {
            subBuilder.MergeFrom(FluidRouterM1);
          }
          input.ReadMessage(subBuilder);
          FluidRouterM1 = subBuilder;
          break;
        }
        case 250: {
          global::ScdFacComFormulaMan subBuilder = new global::ScdFacComFormulaMan();
          if (componentPayloadCase_ == ComponentPayloadOneofCase.FormulaMan) {
            subBuilder.MergeFrom(FormulaMan);
          }
          input.ReadMessage(subBuilder);
          FormulaMan = subBuilder;
          break;
        }
        case 258: {
          global::ScdFacComFluidContainer subBuilder = new global::ScdFacComFluidContainer();
          if (componentPayloadCase_ == ComponentPayloadOneofCase.FluidContainer) {
            subBuilder.MergeFrom(FluidContainer);
          }
          input.ReadMessage(subBuilder);
          FluidContainer = subBuilder;
          break;
        }
        case 266: {
          global::ScdFacComFluidPumpIn subBuilder = new global::ScdFacComFluidPumpIn();
          if (componentPayloadCase_ == ComponentPayloadOneofCase.FluidPumpIn) {
            subBuilder.MergeFrom(FluidPumpIn);
          }
          input.ReadMessage(subBuilder);
          FluidPumpIn = subBuilder;
          break;
        }
        case 274: {
          global::ScdFacComBatteryBurn subBuilder = new global::ScdFacComBatteryBurn();
          if (componentPayloadCase_ == ComponentPayloadOneofCase.BatteryBurn) {
            subBuilder.MergeFrom(BatteryBurn);
          }
          input.ReadMessage(subBuilder);
          BatteryBurn = subBuilder;
          break;
        }
        case 282: {
          global::ScdFacComSubHub subBuilder = new global::ScdFacComSubHub();
          if (componentPayloadCase_ == ComponentPayloadOneofCase.SubHub) {
            subBuilder.MergeFrom(SubHub);
          }
          input.ReadMessage(subBuilder);
          SubHub = subBuilder;
          break;
        }
        case 290: {
          global::ScdFacComWaterCollector subBuilder = new global::ScdFacComWaterCollector();
          if (componentPayloadCase_ == ComponentPayloadOneofCase.WaterCollector) {
            subBuilder.MergeFrom(WaterCollector);
          }
          input.ReadMessage(subBuilder);
          WaterCollector = subBuilder;
          break;
        }
        case 298: {
          global::ScdFacComSoil subBuilder = new global::ScdFacComSoil();
          if (componentPayloadCase_ == ComponentPayloadOneofCase.Soil) {
            subBuilder.MergeFrom(Soil);
          }
          input.ReadMessage(subBuilder);
          Soil = subBuilder;
          break;
        }
        case 306: {
          global::ScdFacComFluidSpray subBuilder = new global::ScdFacComFluidSpray();
          if (componentPayloadCase_ == ComponentPayloadOneofCase.FluidSpray) {
            subBuilder.MergeFrom(FluidSpray);
          }
          input.ReadMessage(subBuilder);
          FluidSpray = subBuilder;
          break;
        }
        case 314: {
          global::ScdFacComFluidPumpOut subBuilder = new global::ScdFacComFluidPumpOut();
          if (componentPayloadCase_ == ComponentPayloadOneofCase.FluidPumpOut) {
            subBuilder.MergeFrom(FluidPumpOut);
          }
          input.ReadMessage(subBuilder);
          FluidPumpOut = subBuilder;
          break;
        }
        case 322: {
          global::ScdFacComFluidConsume subBuilder = new global::ScdFacComFluidConsume();
          if (componentPayloadCase_ == ComponentPayloadOneofCase.FluidConsume) {
            subBuilder.MergeFrom(FluidConsume);
          }
          input.ReadMessage(subBuilder);
          FluidConsume = subBuilder;
          break;
        }
        case 330: {
          global::ScdFacComFluidReaction subBuilder = new global::ScdFacComFluidReaction();
          if (componentPayloadCase_ == ComponentPayloadOneofCase.FluidReaction) {
            subBuilder.MergeFrom(FluidReaction);
          }
          input.ReadMessage(subBuilder);
          FluidReaction = subBuilder;
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFacComPortManager : pb::IMessage<ScdFacComPortManager> {
  private static readonly pb::MessageParser<ScdFacComPortManager> _parser = new pb::MessageParser<ScdFacComPortManager>(() => new ScdFacComPortManager());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFacComPortManager> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[427]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComPortManager() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComPortManager(ScdFacComPortManager other) : this() {
    ports_ = other.ports_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComPortManager Clone() {
    return new ScdFacComPortManager(this);
  }

  /// <summary>Field number for the "ports" field.</summary>
  public const int PortsFieldNumber = 1;
  private static readonly pb::FieldCodec<global::ScdFacComSubPort> _repeated_ports_codec
      = pb::FieldCodec.ForMessage(10, global::ScdFacComSubPort.Parser);
  private readonly pbc::RepeatedField<global::ScdFacComSubPort> ports_ = new pbc::RepeatedField<global::ScdFacComSubPort>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdFacComSubPort> Ports {
    get { return ports_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFacComPortManager);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFacComPortManager other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!ports_.Equals(other.ports_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= ports_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    ports_.WriteTo(output, _repeated_ports_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += ports_.CalculateSize(_repeated_ports_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFacComPortManager other) {
    if (other == null) {
      return;
    }
    ports_.Add(other.ports_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          ports_.AddEntriesFrom(input, _repeated_ports_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFacComSubPort : pb::IMessage<ScdFacComSubPort> {
  private static readonly pb::MessageParser<ScdFacComSubPort> _parser = new pb::MessageParser<ScdFacComSubPort>(() => new ScdFacComSubPort());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFacComSubPort> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[428]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComSubPort() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComSubPort(ScdFacComSubPort other) : this() {
    index_ = other.index_;
    ownerComId_ = other.ownerComId_;
    touchComId_ = other.touchComId_;
    inBlock_ = other.inBlock_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComSubPort Clone() {
    return new ScdFacComSubPort(this);
  }

  /// <summary>Field number for the "index" field.</summary>
  public const int IndexFieldNumber = 1;
  private int index_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Index {
    get { return index_; }
    set {
      index_ = value;
    }
  }

  /// <summary>Field number for the "owner_com_id" field.</summary>
  public const int OwnerComIdFieldNumber = 2;
  private uint ownerComId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint OwnerComId {
    get { return ownerComId_; }
    set {
      ownerComId_ = value;
    }
  }

  /// <summary>Field number for the "touch_com_id" field.</summary>
  public const int TouchComIdFieldNumber = 3;
  private uint touchComId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint TouchComId {
    get { return touchComId_; }
    set {
      touchComId_ = value;
    }
  }

  /// <summary>Field number for the "in_block" field.</summary>
  public const int InBlockFieldNumber = 4;
  private bool inBlock_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool InBlock {
    get { return inBlock_; }
    set {
      inBlock_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFacComSubPort);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFacComSubPort other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Index != other.Index) return false;
    if (OwnerComId != other.OwnerComId) return false;
    if (TouchComId != other.TouchComId) return false;
    if (InBlock != other.InBlock) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Index != 0) hash ^= Index.GetHashCode();
    if (OwnerComId != 0) hash ^= OwnerComId.GetHashCode();
    if (TouchComId != 0) hash ^= TouchComId.GetHashCode();
    if (InBlock != false) hash ^= InBlock.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Index != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(Index);
    }
    if (OwnerComId != 0) {
      output.WriteRawTag(16);
      output.WriteUInt32(OwnerComId);
    }
    if (TouchComId != 0) {
      output.WriteRawTag(24);
      output.WriteUInt32(TouchComId);
    }
    if (InBlock != false) {
      output.WriteRawTag(32);
      output.WriteBool(InBlock);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Index != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Index);
    }
    if (OwnerComId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(OwnerComId);
    }
    if (TouchComId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(TouchComId);
    }
    if (InBlock != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFacComSubPort other) {
    if (other == null) {
      return;
    }
    if (other.Index != 0) {
      Index = other.Index;
    }
    if (other.OwnerComId != 0) {
      OwnerComId = other.OwnerComId;
    }
    if (other.TouchComId != 0) {
      TouchComId = other.TouchComId;
    }
    if (other.InBlock != false) {
      InBlock = other.InBlock;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Index = input.ReadInt32();
          break;
        }
        case 16: {
          OwnerComId = input.ReadUInt32();
          break;
        }
        case 24: {
          TouchComId = input.ReadUInt32();
          break;
        }
        case 32: {
          InBlock = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFacComInventory : pb::IMessage<ScdFacComInventory> {
  private static readonly pb::MessageParser<ScdFacComInventory> _parser = new pb::MessageParser<ScdFacComInventory>(() => new ScdFacComInventory());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFacComInventory> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[429]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComInventory() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComInventory(ScdFacComInventory other) : this() {
    items_ = other.items_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComInventory Clone() {
    return new ScdFacComInventory(this);
  }

  /// <summary>Field number for the "items" field.</summary>
  public const int ItemsFieldNumber = 1;
  private static readonly pbc::MapField<uint, int>.Codec _map_items_codec
      = new pbc::MapField<uint, int>.Codec(pb::FieldCodec.ForUInt32(8), pb::FieldCodec.ForInt32(16), 10);
  private readonly pbc::MapField<uint, int> items_ = new pbc::MapField<uint, int>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<uint, int> Items {
    get { return items_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFacComInventory);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFacComInventory other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!Items.Equals(other.Items)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= Items.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    items_.WriteTo(output, _map_items_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += items_.CalculateSize(_map_items_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFacComInventory other) {
    if (other == null) {
      return;
    }
    items_.Add(other.items_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          items_.AddEntriesFrom(input, _map_items_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFacComCache : pb::IMessage<ScdFacComCache> {
  private static readonly pb::MessageParser<ScdFacComCache> _parser = new pb::MessageParser<ScdFacComCache>(() => new ScdFacComCache());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFacComCache> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[430]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComCache() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComCache(ScdFacComCache other) : this() {
    items_ = other.items_.Clone();
    size_ = other.size_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComCache Clone() {
    return new ScdFacComCache(this);
  }

  /// <summary>Field number for the "items" field.</summary>
  public const int ItemsFieldNumber = 1;
  private static readonly pb::FieldCodec<global::ScdFactorySyncItem> _repeated_items_codec
      = pb::FieldCodec.ForMessage(10, global::ScdFactorySyncItem.Parser);
  private readonly pbc::RepeatedField<global::ScdFactorySyncItem> items_ = new pbc::RepeatedField<global::ScdFactorySyncItem>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdFactorySyncItem> Items {
    get { return items_; }
  }

  /// <summary>Field number for the "size" field.</summary>
  public const int SizeFieldNumber = 2;
  private int size_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Size {
    get { return size_; }
    set {
      size_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFacComCache);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFacComCache other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!items_.Equals(other.items_)) return false;
    if (Size != other.Size) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= items_.GetHashCode();
    if (Size != 0) hash ^= Size.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    items_.WriteTo(output, _repeated_items_codec);
    if (Size != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(Size);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += items_.CalculateSize(_repeated_items_codec);
    if (Size != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Size);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFacComCache other) {
    if (other == null) {
      return;
    }
    items_.Add(other.items_);
    if (other.Size != 0) {
      Size = other.Size;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          items_.AddEntriesFrom(input, _repeated_items_codec);
          break;
        }
        case 16: {
          Size = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFacComSelector : pb::IMessage<ScdFacComSelector> {
  private static readonly pb::MessageParser<ScdFacComSelector> _parser = new pb::MessageParser<ScdFacComSelector>(() => new ScdFacComSelector());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFacComSelector> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[431]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComSelector() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComSelector(ScdFacComSelector other) : this() {
    selectedItemId_ = other.selectedItemId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComSelector Clone() {
    return new ScdFacComSelector(this);
  }

  /// <summary>Field number for the "selected_item_id" field.</summary>
  public const int SelectedItemIdFieldNumber = 1;
  private string selectedItemId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string SelectedItemId {
    get { return selectedItemId_; }
    set {
      selectedItemId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFacComSelector);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFacComSelector other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SelectedItemId != other.SelectedItemId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SelectedItemId.Length != 0) hash ^= SelectedItemId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SelectedItemId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(SelectedItemId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SelectedItemId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(SelectedItemId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFacComSelector other) {
    if (other == null) {
      return;
    }
    if (other.SelectedItemId.Length != 0) {
      SelectedItemId = other.SelectedItemId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          SelectedItemId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFacComCollector : pb::IMessage<ScdFacComCollector> {
  private static readonly pb::MessageParser<ScdFacComCollector> _parser = new pb::MessageParser<ScdFacComCollector>(() => new ScdFacComCollector());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFacComCollector> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[432]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComCollector() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComCollector(ScdFacComCollector other) : this() {
    itemsRound_ = other.itemsRound_.Clone();
    currentProgress_ = other.currentProgress_;
    inBlock_ = other.inBlock_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComCollector Clone() {
    return new ScdFacComCollector(this);
  }

  /// <summary>Field number for the "items_round" field.</summary>
  public const int ItemsRoundFieldNumber = 1;
  private static readonly pb::FieldCodec<global::ScdFactorySyncItem> _repeated_itemsRound_codec
      = pb::FieldCodec.ForMessage(10, global::ScdFactorySyncItem.Parser);
  private readonly pbc::RepeatedField<global::ScdFactorySyncItem> itemsRound_ = new pbc::RepeatedField<global::ScdFactorySyncItem>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdFactorySyncItem> ItemsRound {
    get { return itemsRound_; }
  }

  /// <summary>Field number for the "current_progress" field.</summary>
  public const int CurrentProgressFieldNumber = 2;
  private long currentProgress_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long CurrentProgress {
    get { return currentProgress_; }
    set {
      currentProgress_ = value;
    }
  }

  /// <summary>Field number for the "in_block" field.</summary>
  public const int InBlockFieldNumber = 4;
  private bool inBlock_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool InBlock {
    get { return inBlock_; }
    set {
      inBlock_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFacComCollector);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFacComCollector other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!itemsRound_.Equals(other.itemsRound_)) return false;
    if (CurrentProgress != other.CurrentProgress) return false;
    if (InBlock != other.InBlock) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= itemsRound_.GetHashCode();
    if (CurrentProgress != 0L) hash ^= CurrentProgress.GetHashCode();
    if (InBlock != false) hash ^= InBlock.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    itemsRound_.WriteTo(output, _repeated_itemsRound_codec);
    if (CurrentProgress != 0L) {
      output.WriteRawTag(16);
      output.WriteInt64(CurrentProgress);
    }
    if (InBlock != false) {
      output.WriteRawTag(32);
      output.WriteBool(InBlock);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += itemsRound_.CalculateSize(_repeated_itemsRound_codec);
    if (CurrentProgress != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(CurrentProgress);
    }
    if (InBlock != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFacComCollector other) {
    if (other == null) {
      return;
    }
    itemsRound_.Add(other.itemsRound_);
    if (other.CurrentProgress != 0L) {
      CurrentProgress = other.CurrentProgress;
    }
    if (other.InBlock != false) {
      InBlock = other.InBlock;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          itemsRound_.AddEntriesFrom(input, _repeated_itemsRound_codec);
          break;
        }
        case 16: {
          CurrentProgress = input.ReadInt64();
          break;
        }
        case 32: {
          InBlock = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFacComProducer : pb::IMessage<ScdFacComProducer> {
  private static readonly pb::MessageParser<ScdFacComProducer> _parser = new pb::MessageParser<ScdFacComProducer>(() => new ScdFacComProducer());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFacComProducer> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[433]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComProducer() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComProducer(ScdFacComProducer other) : this() {
    formulaId_ = other.formulaId_;
    currentProgress_ = other.currentProgress_;
    inBlock_ = other.inBlock_;
    inProduce_ = other.inProduce_;
    lastFormulaId_ = other.lastFormulaId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComProducer Clone() {
    return new ScdFacComProducer(this);
  }

  /// <summary>Field number for the "formula_id" field.</summary>
  public const int FormulaIdFieldNumber = 1;
  private string formulaId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string FormulaId {
    get { return formulaId_; }
    set {
      formulaId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "current_progress" field.</summary>
  public const int CurrentProgressFieldNumber = 2;
  private long currentProgress_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long CurrentProgress {
    get { return currentProgress_; }
    set {
      currentProgress_ = value;
    }
  }

  /// <summary>Field number for the "in_block" field.</summary>
  public const int InBlockFieldNumber = 4;
  private bool inBlock_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool InBlock {
    get { return inBlock_; }
    set {
      inBlock_ = value;
    }
  }

  /// <summary>Field number for the "in_produce" field.</summary>
  public const int InProduceFieldNumber = 5;
  private bool inProduce_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool InProduce {
    get { return inProduce_; }
    set {
      inProduce_ = value;
    }
  }

  /// <summary>Field number for the "last_formula_id" field.</summary>
  public const int LastFormulaIdFieldNumber = 11;
  private string lastFormulaId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string LastFormulaId {
    get { return lastFormulaId_; }
    set {
      lastFormulaId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFacComProducer);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFacComProducer other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (FormulaId != other.FormulaId) return false;
    if (CurrentProgress != other.CurrentProgress) return false;
    if (InBlock != other.InBlock) return false;
    if (InProduce != other.InProduce) return false;
    if (LastFormulaId != other.LastFormulaId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (FormulaId.Length != 0) hash ^= FormulaId.GetHashCode();
    if (CurrentProgress != 0L) hash ^= CurrentProgress.GetHashCode();
    if (InBlock != false) hash ^= InBlock.GetHashCode();
    if (InProduce != false) hash ^= InProduce.GetHashCode();
    if (LastFormulaId.Length != 0) hash ^= LastFormulaId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (FormulaId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(FormulaId);
    }
    if (CurrentProgress != 0L) {
      output.WriteRawTag(16);
      output.WriteInt64(CurrentProgress);
    }
    if (InBlock != false) {
      output.WriteRawTag(32);
      output.WriteBool(InBlock);
    }
    if (InProduce != false) {
      output.WriteRawTag(40);
      output.WriteBool(InProduce);
    }
    if (LastFormulaId.Length != 0) {
      output.WriteRawTag(90);
      output.WriteString(LastFormulaId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (FormulaId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(FormulaId);
    }
    if (CurrentProgress != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(CurrentProgress);
    }
    if (InBlock != false) {
      size += 1 + 1;
    }
    if (InProduce != false) {
      size += 1 + 1;
    }
    if (LastFormulaId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(LastFormulaId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFacComProducer other) {
    if (other == null) {
      return;
    }
    if (other.FormulaId.Length != 0) {
      FormulaId = other.FormulaId;
    }
    if (other.CurrentProgress != 0L) {
      CurrentProgress = other.CurrentProgress;
    }
    if (other.InBlock != false) {
      InBlock = other.InBlock;
    }
    if (other.InProduce != false) {
      InProduce = other.InProduce;
    }
    if (other.LastFormulaId.Length != 0) {
      LastFormulaId = other.LastFormulaId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          FormulaId = input.ReadString();
          break;
        }
        case 16: {
          CurrentProgress = input.ReadInt64();
          break;
        }
        case 32: {
          InBlock = input.ReadBool();
          break;
        }
        case 40: {
          InProduce = input.ReadBool();
          break;
        }
        case 90: {
          LastFormulaId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFacComBoxConveyor : pb::IMessage<ScdFacComBoxConveyor> {
  private static readonly pb::MessageParser<ScdFacComBoxConveyor> _parser = new pb::MessageParser<ScdFacComBoxConveyor>(() => new ScdFacComBoxConveyor());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFacComBoxConveyor> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[434]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComBoxConveyor() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComBoxConveyor(ScdFacComBoxConveyor other) : this() {
    lastPopTms_ = other.lastPopTms_;
    items_ = other.items_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComBoxConveyor Clone() {
    return new ScdFacComBoxConveyor(this);
  }

  /// <summary>Field number for the "last_pop_tms" field.</summary>
  public const int LastPopTmsFieldNumber = 1;
  private long lastPopTms_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long LastPopTms {
    get { return lastPopTms_; }
    set {
      lastPopTms_ = value;
    }
  }

  /// <summary>Field number for the "items" field.</summary>
  public const int ItemsFieldNumber = 2;
  private static readonly pb::FieldCodec<global::ScdFactorySyncItem> _repeated_items_codec
      = pb::FieldCodec.ForMessage(18, global::ScdFactorySyncItem.Parser);
  private readonly pbc::RepeatedField<global::ScdFactorySyncItem> items_ = new pbc::RepeatedField<global::ScdFactorySyncItem>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdFactorySyncItem> Items {
    get { return items_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFacComBoxConveyor);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFacComBoxConveyor other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (LastPopTms != other.LastPopTms) return false;
    if(!items_.Equals(other.items_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (LastPopTms != 0L) hash ^= LastPopTms.GetHashCode();
    hash ^= items_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (LastPopTms != 0L) {
      output.WriteRawTag(8);
      output.WriteInt64(LastPopTms);
    }
    items_.WriteTo(output, _repeated_items_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (LastPopTms != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(LastPopTms);
    }
    size += items_.CalculateSize(_repeated_items_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFacComBoxConveyor other) {
    if (other == null) {
      return;
    }
    if (other.LastPopTms != 0L) {
      LastPopTms = other.LastPopTms;
    }
    items_.Add(other.items_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          LastPopTms = input.ReadInt64();
          break;
        }
        case 18: {
          items_.AddEntriesFrom(input, _repeated_items_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFacComBoxRouterM1 : pb::IMessage<ScdFacComBoxRouterM1> {
  private static readonly pb::MessageParser<ScdFacComBoxRouterM1> _parser = new pb::MessageParser<ScdFacComBoxRouterM1>(() => new ScdFacComBoxRouterM1());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFacComBoxRouterM1> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[435]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComBoxRouterM1() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComBoxRouterM1(ScdFacComBoxRouterM1 other) : this() {
    holdItem_ = other.holdItem_ != null ? other.holdItem_.Clone() : null;
    mIn_ = other.mIn_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComBoxRouterM1 Clone() {
    return new ScdFacComBoxRouterM1(this);
  }

  /// <summary>Field number for the "hold_item" field.</summary>
  public const int HoldItemFieldNumber = 1;
  private global::ScdFactorySyncItem holdItem_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactorySyncItem HoldItem {
    get { return holdItem_; }
    set {
      holdItem_ = value;
    }
  }

  /// <summary>Field number for the "m_in" field.</summary>
  public const int MInFieldNumber = 2;
  private bool mIn_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool MIn {
    get { return mIn_; }
    set {
      mIn_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFacComBoxRouterM1);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFacComBoxRouterM1 other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!object.Equals(HoldItem, other.HoldItem)) return false;
    if (MIn != other.MIn) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (holdItem_ != null) hash ^= HoldItem.GetHashCode();
    if (MIn != false) hash ^= MIn.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (holdItem_ != null) {
      output.WriteRawTag(10);
      output.WriteMessage(HoldItem);
    }
    if (MIn != false) {
      output.WriteRawTag(16);
      output.WriteBool(MIn);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (holdItem_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(HoldItem);
    }
    if (MIn != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFacComBoxRouterM1 other) {
    if (other == null) {
      return;
    }
    if (other.holdItem_ != null) {
      if (holdItem_ == null) {
        holdItem_ = new global::ScdFactorySyncItem();
      }
      HoldItem.MergeFrom(other.HoldItem);
    }
    if (other.MIn != false) {
      MIn = other.MIn;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          if (holdItem_ == null) {
            holdItem_ = new global::ScdFactorySyncItem();
          }
          input.ReadMessage(holdItem_);
          break;
        }
        case 16: {
          MIn = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFacComBurnPower : pb::IMessage<ScdFacComBurnPower> {
  private static readonly pb::MessageParser<ScdFacComBurnPower> _parser = new pb::MessageParser<ScdFacComBurnPower>(() => new ScdFacComBurnPower());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFacComBurnPower> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[436]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComBurnPower() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComBurnPower(ScdFacComBurnPower other) : this() {
    currentLeastProgress_ = other.currentLeastProgress_;
    currentBurnItemId_ = other.currentBurnItemId_;
    powerGenPerSec_ = other.powerGenPerSec_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComBurnPower Clone() {
    return new ScdFacComBurnPower(this);
  }

  /// <summary>Field number for the "current_least_progress" field.</summary>
  public const int CurrentLeastProgressFieldNumber = 1;
  private long currentLeastProgress_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long CurrentLeastProgress {
    get { return currentLeastProgress_; }
    set {
      currentLeastProgress_ = value;
    }
  }

  /// <summary>Field number for the "current_burn_item_id" field.</summary>
  public const int CurrentBurnItemIdFieldNumber = 2;
  private string currentBurnItemId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string CurrentBurnItemId {
    get { return currentBurnItemId_; }
    set {
      currentBurnItemId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "power_gen_per_sec" field.</summary>
  public const int PowerGenPerSecFieldNumber = 3;
  private long powerGenPerSec_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long PowerGenPerSec {
    get { return powerGenPerSec_; }
    set {
      powerGenPerSec_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFacComBurnPower);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFacComBurnPower other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (CurrentLeastProgress != other.CurrentLeastProgress) return false;
    if (CurrentBurnItemId != other.CurrentBurnItemId) return false;
    if (PowerGenPerSec != other.PowerGenPerSec) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (CurrentLeastProgress != 0L) hash ^= CurrentLeastProgress.GetHashCode();
    if (CurrentBurnItemId.Length != 0) hash ^= CurrentBurnItemId.GetHashCode();
    if (PowerGenPerSec != 0L) hash ^= PowerGenPerSec.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (CurrentLeastProgress != 0L) {
      output.WriteRawTag(8);
      output.WriteInt64(CurrentLeastProgress);
    }
    if (CurrentBurnItemId.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(CurrentBurnItemId);
    }
    if (PowerGenPerSec != 0L) {
      output.WriteRawTag(24);
      output.WriteInt64(PowerGenPerSec);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (CurrentLeastProgress != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(CurrentLeastProgress);
    }
    if (CurrentBurnItemId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(CurrentBurnItemId);
    }
    if (PowerGenPerSec != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(PowerGenPerSec);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFacComBurnPower other) {
    if (other == null) {
      return;
    }
    if (other.CurrentLeastProgress != 0L) {
      CurrentLeastProgress = other.CurrentLeastProgress;
    }
    if (other.CurrentBurnItemId.Length != 0) {
      CurrentBurnItemId = other.CurrentBurnItemId;
    }
    if (other.PowerGenPerSec != 0L) {
      PowerGenPerSec = other.PowerGenPerSec;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          CurrentLeastProgress = input.ReadInt64();
          break;
        }
        case 18: {
          CurrentBurnItemId = input.ReadString();
          break;
        }
        case 24: {
          PowerGenPerSec = input.ReadInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFacComCacheTransport : pb::IMessage<ScdFacComCacheTransport> {
  private static readonly pb::MessageParser<ScdFacComCacheTransport> _parser = new pb::MessageParser<ScdFacComCacheTransport>(() => new ScdFacComCacheTransport());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFacComCacheTransport> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[437]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComCacheTransport() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComCacheTransport(ScdFacComCacheTransport other) : this() {
    currentProgress_ = other.currentProgress_;
    totalProgress_ = other.totalProgress_;
    autoTransport_ = other.autoTransport_;
    inUse_ = other.inUse_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComCacheTransport Clone() {
    return new ScdFacComCacheTransport(this);
  }

  /// <summary>Field number for the "current_progress" field.</summary>
  public const int CurrentProgressFieldNumber = 1;
  private long currentProgress_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long CurrentProgress {
    get { return currentProgress_; }
    set {
      currentProgress_ = value;
    }
  }

  /// <summary>Field number for the "total_progress" field.</summary>
  public const int TotalProgressFieldNumber = 2;
  private long totalProgress_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long TotalProgress {
    get { return totalProgress_; }
    set {
      totalProgress_ = value;
    }
  }

  /// <summary>Field number for the "auto_transport" field.</summary>
  public const int AutoTransportFieldNumber = 3;
  private bool autoTransport_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool AutoTransport {
    get { return autoTransport_; }
    set {
      autoTransport_ = value;
    }
  }

  /// <summary>Field number for the "in_use" field.</summary>
  public const int InUseFieldNumber = 5;
  private bool inUse_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool InUse {
    get { return inUse_; }
    set {
      inUse_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFacComCacheTransport);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFacComCacheTransport other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (CurrentProgress != other.CurrentProgress) return false;
    if (TotalProgress != other.TotalProgress) return false;
    if (AutoTransport != other.AutoTransport) return false;
    if (InUse != other.InUse) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (CurrentProgress != 0L) hash ^= CurrentProgress.GetHashCode();
    if (TotalProgress != 0L) hash ^= TotalProgress.GetHashCode();
    if (AutoTransport != false) hash ^= AutoTransport.GetHashCode();
    if (InUse != false) hash ^= InUse.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (CurrentProgress != 0L) {
      output.WriteRawTag(8);
      output.WriteInt64(CurrentProgress);
    }
    if (TotalProgress != 0L) {
      output.WriteRawTag(16);
      output.WriteInt64(TotalProgress);
    }
    if (AutoTransport != false) {
      output.WriteRawTag(24);
      output.WriteBool(AutoTransport);
    }
    if (InUse != false) {
      output.WriteRawTag(40);
      output.WriteBool(InUse);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (CurrentProgress != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(CurrentProgress);
    }
    if (TotalProgress != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(TotalProgress);
    }
    if (AutoTransport != false) {
      size += 1 + 1;
    }
    if (InUse != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFacComCacheTransport other) {
    if (other == null) {
      return;
    }
    if (other.CurrentProgress != 0L) {
      CurrentProgress = other.CurrentProgress;
    }
    if (other.TotalProgress != 0L) {
      TotalProgress = other.TotalProgress;
    }
    if (other.AutoTransport != false) {
      AutoTransport = other.AutoTransport;
    }
    if (other.InUse != false) {
      InUse = other.InUse;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          CurrentProgress = input.ReadInt64();
          break;
        }
        case 16: {
          TotalProgress = input.ReadInt64();
          break;
        }
        case 24: {
          AutoTransport = input.ReadBool();
          break;
        }
        case 40: {
          InUse = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFacComStablePower : pb::IMessage<ScdFacComStablePower> {
  private static readonly pb::MessageParser<ScdFacComStablePower> _parser = new pb::MessageParser<ScdFacComStablePower>(() => new ScdFacComStablePower());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFacComStablePower> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[438]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComStablePower() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComStablePower(ScdFacComStablePower other) : this() {
    powerGenPerSec_ = other.powerGenPerSec_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComStablePower Clone() {
    return new ScdFacComStablePower(this);
  }

  /// <summary>Field number for the "power_gen_per_sec" field.</summary>
  public const int PowerGenPerSecFieldNumber = 3;
  private long powerGenPerSec_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long PowerGenPerSec {
    get { return powerGenPerSec_; }
    set {
      powerGenPerSec_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFacComStablePower);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFacComStablePower other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (PowerGenPerSec != other.PowerGenPerSec) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (PowerGenPerSec != 0L) hash ^= PowerGenPerSec.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (PowerGenPerSec != 0L) {
      output.WriteRawTag(24);
      output.WriteInt64(PowerGenPerSec);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (PowerGenPerSec != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(PowerGenPerSec);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFacComStablePower other) {
    if (other == null) {
      return;
    }
    if (other.PowerGenPerSec != 0L) {
      PowerGenPerSec = other.PowerGenPerSec;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 24: {
          PowerGenPerSec = input.ReadInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFacComPowerPole : pb::IMessage<ScdFacComPowerPole> {
  private static readonly pb::MessageParser<ScdFacComPowerPole> _parser = new pb::MessageParser<ScdFacComPowerPole>(() => new ScdFacComPowerPole());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFacComPowerPole> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[439]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComPowerPole() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComPowerPole(ScdFacComPowerPole other) : this() {
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComPowerPole Clone() {
    return new ScdFacComPowerPole(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFacComPowerPole);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFacComPowerPole other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFacComPowerPole other) {
    if (other == null) {
      return;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
      }
    }
  }

}

public sealed partial class ScdFacComPowerSave : pb::IMessage<ScdFacComPowerSave> {
  private static readonly pb::MessageParser<ScdFacComPowerSave> _parser = new pb::MessageParser<ScdFacComPowerSave>(() => new ScdFacComPowerSave());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFacComPowerSave> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[440]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComPowerSave() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComPowerSave(ScdFacComPowerSave other) : this() {
    powerSave_ = other.powerSave_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComPowerSave Clone() {
    return new ScdFacComPowerSave(this);
  }

  /// <summary>Field number for the "power_save" field.</summary>
  public const int PowerSaveFieldNumber = 1;
  private long powerSave_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long PowerSave {
    get { return powerSave_; }
    set {
      powerSave_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFacComPowerSave);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFacComPowerSave other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (PowerSave != other.PowerSave) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (PowerSave != 0L) hash ^= PowerSave.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (PowerSave != 0L) {
      output.WriteRawTag(8);
      output.WriteInt64(PowerSave);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (PowerSave != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(PowerSave);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFacComPowerSave other) {
    if (other == null) {
      return;
    }
    if (other.PowerSave != 0L) {
      PowerSave = other.PowerSave;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          PowerSave = input.ReadInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFacComBusLoader : pb::IMessage<ScdFacComBusLoader> {
  private static readonly pb::MessageParser<ScdFacComBusLoader> _parser = new pb::MessageParser<ScdFacComBusLoader>(() => new ScdFacComBusLoader());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFacComBusLoader> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[441]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComBusLoader() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComBusLoader(ScdFacComBusLoader other) : this() {
    lastPutinItemId_ = other.lastPutinItemId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComBusLoader Clone() {
    return new ScdFacComBusLoader(this);
  }

  /// <summary>Field number for the "last_putin_item_id" field.</summary>
  public const int LastPutinItemIdFieldNumber = 1;
  private string lastPutinItemId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string LastPutinItemId {
    get { return lastPutinItemId_; }
    set {
      lastPutinItemId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFacComBusLoader);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFacComBusLoader other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (LastPutinItemId != other.LastPutinItemId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (LastPutinItemId.Length != 0) hash ^= LastPutinItemId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (LastPutinItemId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(LastPutinItemId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (LastPutinItemId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(LastPutinItemId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFacComBusLoader other) {
    if (other == null) {
      return;
    }
    if (other.LastPutinItemId.Length != 0) {
      LastPutinItemId = other.LastPutinItemId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          LastPutinItemId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFacComTravelPole : pb::IMessage<ScdFacComTravelPole> {
  private static readonly pb::MessageParser<ScdFacComTravelPole> _parser = new pb::MessageParser<ScdFacComTravelPole>(() => new ScdFacComTravelPole());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFacComTravelPole> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[442]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComTravelPole() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComTravelPole(ScdFacComTravelPole other) : this() {
    defaultNext_ = other.defaultNext_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComTravelPole Clone() {
    return new ScdFacComTravelPole(this);
  }

  /// <summary>Field number for the "default_next" field.</summary>
  public const int DefaultNextFieldNumber = 11;
  private uint defaultNext_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint DefaultNext {
    get { return defaultNext_; }
    set {
      defaultNext_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFacComTravelPole);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFacComTravelPole other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (DefaultNext != other.DefaultNext) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (DefaultNext != 0) hash ^= DefaultNext.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (DefaultNext != 0) {
      output.WriteRawTag(88);
      output.WriteUInt32(DefaultNext);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (DefaultNext != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(DefaultNext);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFacComTravelPole other) {
    if (other == null) {
      return;
    }
    if (other.DefaultNext != 0) {
      DefaultNext = other.DefaultNext;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 88: {
          DefaultNext = input.ReadUInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFacComGridBox : pb::IMessage<ScdFacComGridBox> {
  private static readonly pb::MessageParser<ScdFacComGridBox> _parser = new pb::MessageParser<ScdFacComGridBox>(() => new ScdFacComGridBox());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFacComGridBox> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[443]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComGridBox() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComGridBox(ScdFacComGridBox other) : this() {
    items_ = other.items_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComGridBox Clone() {
    return new ScdFacComGridBox(this);
  }

  /// <summary>Field number for the "items" field.</summary>
  public const int ItemsFieldNumber = 1;
  private static readonly pb::FieldCodec<global::ScdFactorySyncItem> _repeated_items_codec
      = pb::FieldCodec.ForMessage(10, global::ScdFactorySyncItem.Parser);
  private readonly pbc::RepeatedField<global::ScdFactorySyncItem> items_ = new pbc::RepeatedField<global::ScdFactorySyncItem>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdFactorySyncItem> Items {
    get { return items_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFacComGridBox);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFacComGridBox other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!items_.Equals(other.items_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= items_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    items_.WriteTo(output, _repeated_items_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += items_.CalculateSize(_repeated_items_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFacComGridBox other) {
    if (other == null) {
      return;
    }
    items_.Add(other.items_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          items_.AddEntriesFrom(input, _repeated_items_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFacComBoxBridge : pb::IMessage<ScdFacComBoxBridge> {
  private static readonly pb::MessageParser<ScdFacComBoxBridge> _parser = new pb::MessageParser<ScdFacComBoxBridge>(() => new ScdFacComBoxBridge());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFacComBoxBridge> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[444]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComBoxBridge() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComBoxBridge(ScdFacComBoxBridge other) : this() {
    holdItem_ = other.holdItem_ != null ? other.holdItem_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComBoxBridge Clone() {
    return new ScdFacComBoxBridge(this);
  }

  /// <summary>Field number for the "hold_item" field.</summary>
  public const int HoldItemFieldNumber = 1;
  private global::ScdFactorySyncItem holdItem_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactorySyncItem HoldItem {
    get { return holdItem_; }
    set {
      holdItem_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFacComBoxBridge);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFacComBoxBridge other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!object.Equals(HoldItem, other.HoldItem)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (holdItem_ != null) hash ^= HoldItem.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (holdItem_ != null) {
      output.WriteRawTag(10);
      output.WriteMessage(HoldItem);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (holdItem_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(HoldItem);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFacComBoxBridge other) {
    if (other == null) {
      return;
    }
    if (other.holdItem_ != null) {
      if (holdItem_ == null) {
        holdItem_ = new global::ScdFactorySyncItem();
      }
      HoldItem.MergeFrom(other.HoldItem);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          if (holdItem_ == null) {
            holdItem_ = new global::ScdFactorySyncItem();
          }
          input.ReadMessage(holdItem_);
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFacComBattle : pb::IMessage<ScdFacComBattle> {
  private static readonly pb::MessageParser<ScdFacComBattle> _parser = new pb::MessageParser<ScdFacComBattle>(() => new ScdFacComBattle());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFacComBattle> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[445]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComBattle() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComBattle(ScdFacComBattle other) : this() {
    energyCurrent_ = other.energyCurrent_;
    energyMax_ = other.energyMax_;
    inOverloading_ = other.inOverloading_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComBattle Clone() {
    return new ScdFacComBattle(this);
  }

  /// <summary>Field number for the "energy_current" field.</summary>
  public const int EnergyCurrentFieldNumber = 1;
  private int energyCurrent_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int EnergyCurrent {
    get { return energyCurrent_; }
    set {
      energyCurrent_ = value;
    }
  }

  /// <summary>Field number for the "energy_max" field.</summary>
  public const int EnergyMaxFieldNumber = 2;
  private int energyMax_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int EnergyMax {
    get { return energyMax_; }
    set {
      energyMax_ = value;
    }
  }

  /// <summary>Field number for the "in_overloading" field.</summary>
  public const int InOverloadingFieldNumber = 3;
  private bool inOverloading_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool InOverloading {
    get { return inOverloading_; }
    set {
      inOverloading_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFacComBattle);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFacComBattle other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (EnergyCurrent != other.EnergyCurrent) return false;
    if (EnergyMax != other.EnergyMax) return false;
    if (InOverloading != other.InOverloading) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (EnergyCurrent != 0) hash ^= EnergyCurrent.GetHashCode();
    if (EnergyMax != 0) hash ^= EnergyMax.GetHashCode();
    if (InOverloading != false) hash ^= InOverloading.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (EnergyCurrent != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(EnergyCurrent);
    }
    if (EnergyMax != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(EnergyMax);
    }
    if (InOverloading != false) {
      output.WriteRawTag(24);
      output.WriteBool(InOverloading);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (EnergyCurrent != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(EnergyCurrent);
    }
    if (EnergyMax != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(EnergyMax);
    }
    if (InOverloading != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFacComBattle other) {
    if (other == null) {
      return;
    }
    if (other.EnergyCurrent != 0) {
      EnergyCurrent = other.EnergyCurrent;
    }
    if (other.EnergyMax != 0) {
      EnergyMax = other.EnergyMax;
    }
    if (other.InOverloading != false) {
      InOverloading = other.InOverloading;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          EnergyCurrent = input.ReadInt32();
          break;
        }
        case 16: {
          EnergyMax = input.ReadInt32();
          break;
        }
        case 24: {
          InOverloading = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFacComFluidConveyor : pb::IMessage<ScdFacComFluidConveyor> {
  private static readonly pb::MessageParser<ScdFacComFluidConveyor> _parser = new pb::MessageParser<ScdFacComFluidConveyor>(() => new ScdFacComFluidConveyor());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFacComFluidConveyor> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[446]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComFluidConveyor() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComFluidConveyor(ScdFacComFluidConveyor other) : this() {
    itemId_ = other.itemId_;
    fluidHeight_ = other.fluidHeight_;
    boxTmsList_ = other.boxTmsList_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComFluidConveyor Clone() {
    return new ScdFacComFluidConveyor(this);
  }

  /// <summary>Field number for the "item_id" field.</summary>
  public const int ItemIdFieldNumber = 1;
  private string itemId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ItemId {
    get { return itemId_; }
    set {
      itemId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "fluid_height" field.</summary>
  public const int FluidHeightFieldNumber = 2;
  private int fluidHeight_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int FluidHeight {
    get { return fluidHeight_; }
    set {
      fluidHeight_ = value;
    }
  }

  /// <summary>Field number for the "box_tms_list" field.</summary>
  public const int BoxTmsListFieldNumber = 3;
  private static readonly pb::FieldCodec<long> _repeated_boxTmsList_codec
      = pb::FieldCodec.ForInt64(26);
  private readonly pbc::RepeatedField<long> boxTmsList_ = new pbc::RepeatedField<long>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<long> BoxTmsList {
    get { return boxTmsList_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFacComFluidConveyor);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFacComFluidConveyor other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ItemId != other.ItemId) return false;
    if (FluidHeight != other.FluidHeight) return false;
    if(!boxTmsList_.Equals(other.boxTmsList_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ItemId.Length != 0) hash ^= ItemId.GetHashCode();
    if (FluidHeight != 0) hash ^= FluidHeight.GetHashCode();
    hash ^= boxTmsList_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ItemId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(ItemId);
    }
    if (FluidHeight != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(FluidHeight);
    }
    boxTmsList_.WriteTo(output, _repeated_boxTmsList_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ItemId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ItemId);
    }
    if (FluidHeight != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(FluidHeight);
    }
    size += boxTmsList_.CalculateSize(_repeated_boxTmsList_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFacComFluidConveyor other) {
    if (other == null) {
      return;
    }
    if (other.ItemId.Length != 0) {
      ItemId = other.ItemId;
    }
    if (other.FluidHeight != 0) {
      FluidHeight = other.FluidHeight;
    }
    boxTmsList_.Add(other.boxTmsList_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          ItemId = input.ReadString();
          break;
        }
        case 16: {
          FluidHeight = input.ReadInt32();
          break;
        }
        case 26:
        case 24: {
          boxTmsList_.AddEntriesFrom(input, _repeated_boxTmsList_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFacComFluidBridge : pb::IMessage<ScdFacComFluidBridge> {
  private static readonly pb::MessageParser<ScdFacComFluidBridge> _parser = new pb::MessageParser<ScdFacComFluidBridge>(() => new ScdFacComFluidBridge());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFacComFluidBridge> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[447]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComFluidBridge() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComFluidBridge(ScdFacComFluidBridge other) : this() {
    holdItem_ = other.holdItem_ != null ? other.holdItem_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComFluidBridge Clone() {
    return new ScdFacComFluidBridge(this);
  }

  /// <summary>Field number for the "hold_item" field.</summary>
  public const int HoldItemFieldNumber = 1;
  private global::ScdFactorySyncItem holdItem_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactorySyncItem HoldItem {
    get { return holdItem_; }
    set {
      holdItem_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFacComFluidBridge);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFacComFluidBridge other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!object.Equals(HoldItem, other.HoldItem)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (holdItem_ != null) hash ^= HoldItem.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (holdItem_ != null) {
      output.WriteRawTag(10);
      output.WriteMessage(HoldItem);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (holdItem_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(HoldItem);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFacComFluidBridge other) {
    if (other == null) {
      return;
    }
    if (other.holdItem_ != null) {
      if (holdItem_ == null) {
        holdItem_ = new global::ScdFactorySyncItem();
      }
      HoldItem.MergeFrom(other.HoldItem);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          if (holdItem_ == null) {
            holdItem_ = new global::ScdFactorySyncItem();
          }
          input.ReadMessage(holdItem_);
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFacComFluidRouterM1 : pb::IMessage<ScdFacComFluidRouterM1> {
  private static readonly pb::MessageParser<ScdFacComFluidRouterM1> _parser = new pb::MessageParser<ScdFacComFluidRouterM1>(() => new ScdFacComFluidRouterM1());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFacComFluidRouterM1> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[448]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComFluidRouterM1() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComFluidRouterM1(ScdFacComFluidRouterM1 other) : this() {
    holdItem_ = other.holdItem_ != null ? other.holdItem_.Clone() : null;
    mIn_ = other.mIn_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComFluidRouterM1 Clone() {
    return new ScdFacComFluidRouterM1(this);
  }

  /// <summary>Field number for the "hold_item" field.</summary>
  public const int HoldItemFieldNumber = 1;
  private global::ScdFactorySyncItem holdItem_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactorySyncItem HoldItem {
    get { return holdItem_; }
    set {
      holdItem_ = value;
    }
  }

  /// <summary>Field number for the "m_in" field.</summary>
  public const int MInFieldNumber = 2;
  private bool mIn_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool MIn {
    get { return mIn_; }
    set {
      mIn_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFacComFluidRouterM1);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFacComFluidRouterM1 other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!object.Equals(HoldItem, other.HoldItem)) return false;
    if (MIn != other.MIn) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (holdItem_ != null) hash ^= HoldItem.GetHashCode();
    if (MIn != false) hash ^= MIn.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (holdItem_ != null) {
      output.WriteRawTag(10);
      output.WriteMessage(HoldItem);
    }
    if (MIn != false) {
      output.WriteRawTag(16);
      output.WriteBool(MIn);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (holdItem_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(HoldItem);
    }
    if (MIn != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFacComFluidRouterM1 other) {
    if (other == null) {
      return;
    }
    if (other.holdItem_ != null) {
      if (holdItem_ == null) {
        holdItem_ = new global::ScdFactorySyncItem();
      }
      HoldItem.MergeFrom(other.HoldItem);
    }
    if (other.MIn != false) {
      MIn = other.MIn;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          if (holdItem_ == null) {
            holdItem_ = new global::ScdFactorySyncItem();
          }
          input.ReadMessage(holdItem_);
          break;
        }
        case 16: {
          MIn = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFacComFormulaMan : pb::IMessage<ScdFacComFormulaMan> {
  private static readonly pb::MessageParser<ScdFacComFormulaMan> _parser = new pb::MessageParser<ScdFacComFormulaMan>(() => new ScdFacComFormulaMan());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFacComFormulaMan> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[449]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComFormulaMan() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComFormulaMan(ScdFacComFormulaMan other) : this() {
    formulaIds_ = other.formulaIds_.Clone();
    lockedFormulaId_ = other.lockedFormulaId_;
    currentMode_ = other.currentMode_;
    currentGroup_ = other.currentGroup_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComFormulaMan Clone() {
    return new ScdFacComFormulaMan(this);
  }

  /// <summary>Field number for the "formula_ids" field.</summary>
  public const int FormulaIdsFieldNumber = 1;
  private static readonly pb::FieldCodec<string> _repeated_formulaIds_codec
      = pb::FieldCodec.ForString(10);
  private readonly pbc::RepeatedField<string> formulaIds_ = new pbc::RepeatedField<string>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<string> FormulaIds {
    get { return formulaIds_; }
  }

  /// <summary>Field number for the "locked_formula_id" field.</summary>
  public const int LockedFormulaIdFieldNumber = 2;
  private string lockedFormulaId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string LockedFormulaId {
    get { return lockedFormulaId_; }
    set {
      lockedFormulaId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "current_mode" field.</summary>
  public const int CurrentModeFieldNumber = 11;
  private string currentMode_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string CurrentMode {
    get { return currentMode_; }
    set {
      currentMode_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "current_group" field.</summary>
  public const int CurrentGroupFieldNumber = 12;
  private string currentGroup_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string CurrentGroup {
    get { return currentGroup_; }
    set {
      currentGroup_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFacComFormulaMan);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFacComFormulaMan other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!formulaIds_.Equals(other.formulaIds_)) return false;
    if (LockedFormulaId != other.LockedFormulaId) return false;
    if (CurrentMode != other.CurrentMode) return false;
    if (CurrentGroup != other.CurrentGroup) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= formulaIds_.GetHashCode();
    if (LockedFormulaId.Length != 0) hash ^= LockedFormulaId.GetHashCode();
    if (CurrentMode.Length != 0) hash ^= CurrentMode.GetHashCode();
    if (CurrentGroup.Length != 0) hash ^= CurrentGroup.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    formulaIds_.WriteTo(output, _repeated_formulaIds_codec);
    if (LockedFormulaId.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(LockedFormulaId);
    }
    if (CurrentMode.Length != 0) {
      output.WriteRawTag(90);
      output.WriteString(CurrentMode);
    }
    if (CurrentGroup.Length != 0) {
      output.WriteRawTag(98);
      output.WriteString(CurrentGroup);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += formulaIds_.CalculateSize(_repeated_formulaIds_codec);
    if (LockedFormulaId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(LockedFormulaId);
    }
    if (CurrentMode.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(CurrentMode);
    }
    if (CurrentGroup.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(CurrentGroup);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFacComFormulaMan other) {
    if (other == null) {
      return;
    }
    formulaIds_.Add(other.formulaIds_);
    if (other.LockedFormulaId.Length != 0) {
      LockedFormulaId = other.LockedFormulaId;
    }
    if (other.CurrentMode.Length != 0) {
      CurrentMode = other.CurrentMode;
    }
    if (other.CurrentGroup.Length != 0) {
      CurrentGroup = other.CurrentGroup;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          formulaIds_.AddEntriesFrom(input, _repeated_formulaIds_codec);
          break;
        }
        case 18: {
          LockedFormulaId = input.ReadString();
          break;
        }
        case 90: {
          CurrentMode = input.ReadString();
          break;
        }
        case 98: {
          CurrentGroup = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFacComFluidContainer : pb::IMessage<ScdFacComFluidContainer> {
  private static readonly pb::MessageParser<ScdFacComFluidContainer> _parser = new pb::MessageParser<ScdFacComFluidContainer>(() => new ScdFacComFluidContainer());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFacComFluidContainer> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[450]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComFluidContainer() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComFluidContainer(ScdFacComFluidContainer other) : this() {
    holdItem_ = other.holdItem_ != null ? other.holdItem_.Clone() : null;
    infinite_ = other.infinite_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComFluidContainer Clone() {
    return new ScdFacComFluidContainer(this);
  }

  /// <summary>Field number for the "hold_item" field.</summary>
  public const int HoldItemFieldNumber = 1;
  private global::ScdFactorySyncItem holdItem_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactorySyncItem HoldItem {
    get { return holdItem_; }
    set {
      holdItem_ = value;
    }
  }

  /// <summary>Field number for the "infinite" field.</summary>
  public const int InfiniteFieldNumber = 2;
  private bool infinite_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Infinite {
    get { return infinite_; }
    set {
      infinite_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFacComFluidContainer);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFacComFluidContainer other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!object.Equals(HoldItem, other.HoldItem)) return false;
    if (Infinite != other.Infinite) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (holdItem_ != null) hash ^= HoldItem.GetHashCode();
    if (Infinite != false) hash ^= Infinite.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (holdItem_ != null) {
      output.WriteRawTag(10);
      output.WriteMessage(HoldItem);
    }
    if (Infinite != false) {
      output.WriteRawTag(16);
      output.WriteBool(Infinite);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (holdItem_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(HoldItem);
    }
    if (Infinite != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFacComFluidContainer other) {
    if (other == null) {
      return;
    }
    if (other.holdItem_ != null) {
      if (holdItem_ == null) {
        holdItem_ = new global::ScdFactorySyncItem();
      }
      HoldItem.MergeFrom(other.HoldItem);
    }
    if (other.Infinite != false) {
      Infinite = other.Infinite;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          if (holdItem_ == null) {
            holdItem_ = new global::ScdFactorySyncItem();
          }
          input.ReadMessage(holdItem_);
          break;
        }
        case 16: {
          Infinite = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFacComFluidPumpIn : pb::IMessage<ScdFacComFluidPumpIn> {
  private static readonly pb::MessageParser<ScdFacComFluidPumpIn> _parser = new pb::MessageParser<ScdFacComFluidPumpIn>(() => new ScdFacComFluidPumpIn());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFacComFluidPumpIn> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[451]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComFluidPumpIn() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComFluidPumpIn(ScdFacComFluidPumpIn other) : this() {
    itemRound_ = other.itemRound_ != null ? other.itemRound_.Clone() : null;
    currentProgress_ = other.currentProgress_;
    sourceInstKey_ = other.sourceInstKey_;
    inBlock_ = other.inBlock_;
    inProduce_ = other.inProduce_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComFluidPumpIn Clone() {
    return new ScdFacComFluidPumpIn(this);
  }

  /// <summary>Field number for the "item_round" field.</summary>
  public const int ItemRoundFieldNumber = 1;
  private global::ScdFactorySyncItem itemRound_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactorySyncItem ItemRound {
    get { return itemRound_; }
    set {
      itemRound_ = value;
    }
  }

  /// <summary>Field number for the "current_progress" field.</summary>
  public const int CurrentProgressFieldNumber = 2;
  private long currentProgress_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long CurrentProgress {
    get { return currentProgress_; }
    set {
      currentProgress_ = value;
    }
  }

  /// <summary>Field number for the "source_inst_key" field.</summary>
  public const int SourceInstKeyFieldNumber = 3;
  private string sourceInstKey_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string SourceInstKey {
    get { return sourceInstKey_; }
    set {
      sourceInstKey_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "in_block" field.</summary>
  public const int InBlockFieldNumber = 4;
  private bool inBlock_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool InBlock {
    get { return inBlock_; }
    set {
      inBlock_ = value;
    }
  }

  /// <summary>Field number for the "in_produce" field.</summary>
  public const int InProduceFieldNumber = 5;
  private bool inProduce_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool InProduce {
    get { return inProduce_; }
    set {
      inProduce_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFacComFluidPumpIn);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFacComFluidPumpIn other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!object.Equals(ItemRound, other.ItemRound)) return false;
    if (CurrentProgress != other.CurrentProgress) return false;
    if (SourceInstKey != other.SourceInstKey) return false;
    if (InBlock != other.InBlock) return false;
    if (InProduce != other.InProduce) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (itemRound_ != null) hash ^= ItemRound.GetHashCode();
    if (CurrentProgress != 0L) hash ^= CurrentProgress.GetHashCode();
    if (SourceInstKey.Length != 0) hash ^= SourceInstKey.GetHashCode();
    if (InBlock != false) hash ^= InBlock.GetHashCode();
    if (InProduce != false) hash ^= InProduce.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (itemRound_ != null) {
      output.WriteRawTag(10);
      output.WriteMessage(ItemRound);
    }
    if (CurrentProgress != 0L) {
      output.WriteRawTag(16);
      output.WriteInt64(CurrentProgress);
    }
    if (SourceInstKey.Length != 0) {
      output.WriteRawTag(26);
      output.WriteString(SourceInstKey);
    }
    if (InBlock != false) {
      output.WriteRawTag(32);
      output.WriteBool(InBlock);
    }
    if (InProduce != false) {
      output.WriteRawTag(40);
      output.WriteBool(InProduce);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (itemRound_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(ItemRound);
    }
    if (CurrentProgress != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(CurrentProgress);
    }
    if (SourceInstKey.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(SourceInstKey);
    }
    if (InBlock != false) {
      size += 1 + 1;
    }
    if (InProduce != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFacComFluidPumpIn other) {
    if (other == null) {
      return;
    }
    if (other.itemRound_ != null) {
      if (itemRound_ == null) {
        itemRound_ = new global::ScdFactorySyncItem();
      }
      ItemRound.MergeFrom(other.ItemRound);
    }
    if (other.CurrentProgress != 0L) {
      CurrentProgress = other.CurrentProgress;
    }
    if (other.SourceInstKey.Length != 0) {
      SourceInstKey = other.SourceInstKey;
    }
    if (other.InBlock != false) {
      InBlock = other.InBlock;
    }
    if (other.InProduce != false) {
      InProduce = other.InProduce;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          if (itemRound_ == null) {
            itemRound_ = new global::ScdFactorySyncItem();
          }
          input.ReadMessage(itemRound_);
          break;
        }
        case 16: {
          CurrentProgress = input.ReadInt64();
          break;
        }
        case 26: {
          SourceInstKey = input.ReadString();
          break;
        }
        case 32: {
          InBlock = input.ReadBool();
          break;
        }
        case 40: {
          InProduce = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFacComBatteryBurn : pb::IMessage<ScdFacComBatteryBurn> {
  private static readonly pb::MessageParser<ScdFacComBatteryBurn> _parser = new pb::MessageParser<ScdFacComBatteryBurn>(() => new ScdFacComBatteryBurn());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFacComBatteryBurn> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[452]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComBatteryBurn() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComBatteryBurn(ScdFacComBatteryBurn other) : this() {
    energyLoaded_ = other.energyLoaded_;
    energyCurrent_ = other.energyCurrent_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComBatteryBurn Clone() {
    return new ScdFacComBatteryBurn(this);
  }

  /// <summary>Field number for the "energy_loaded" field.</summary>
  public const int EnergyLoadedFieldNumber = 1;
  private int energyLoaded_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int EnergyLoaded {
    get { return energyLoaded_; }
    set {
      energyLoaded_ = value;
    }
  }

  /// <summary>Field number for the "energy_current" field.</summary>
  public const int EnergyCurrentFieldNumber = 2;
  private int energyCurrent_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int EnergyCurrent {
    get { return energyCurrent_; }
    set {
      energyCurrent_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFacComBatteryBurn);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFacComBatteryBurn other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (EnergyLoaded != other.EnergyLoaded) return false;
    if (EnergyCurrent != other.EnergyCurrent) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (EnergyLoaded != 0) hash ^= EnergyLoaded.GetHashCode();
    if (EnergyCurrent != 0) hash ^= EnergyCurrent.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (EnergyLoaded != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(EnergyLoaded);
    }
    if (EnergyCurrent != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(EnergyCurrent);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (EnergyLoaded != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(EnergyLoaded);
    }
    if (EnergyCurrent != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(EnergyCurrent);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFacComBatteryBurn other) {
    if (other == null) {
      return;
    }
    if (other.EnergyLoaded != 0) {
      EnergyLoaded = other.EnergyLoaded;
    }
    if (other.EnergyCurrent != 0) {
      EnergyCurrent = other.EnergyCurrent;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          EnergyLoaded = input.ReadInt32();
          break;
        }
        case 16: {
          EnergyCurrent = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFacComSubHub : pb::IMessage<ScdFacComSubHub> {
  private static readonly pb::MessageParser<ScdFacComSubHub> _parser = new pb::MessageParser<ScdFacComSubHub>(() => new ScdFacComSubHub());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFacComSubHub> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[453]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComSubHub() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComSubHub(ScdFacComSubHub other) : this() {
    level_ = other.level_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComSubHub Clone() {
    return new ScdFacComSubHub(this);
  }

  /// <summary>Field number for the "level" field.</summary>
  public const int LevelFieldNumber = 1;
  private int level_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Level {
    get { return level_; }
    set {
      level_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFacComSubHub);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFacComSubHub other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Level != other.Level) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Level != 0) hash ^= Level.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Level != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(Level);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Level != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Level);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFacComSubHub other) {
    if (other == null) {
      return;
    }
    if (other.Level != 0) {
      Level = other.Level;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Level = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFacComWaterCollector : pb::IMessage<ScdFacComWaterCollector> {
  private static readonly pb::MessageParser<ScdFacComWaterCollector> _parser = new pb::MessageParser<ScdFacComWaterCollector>(() => new ScdFacComWaterCollector());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFacComWaterCollector> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[454]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComWaterCollector() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComWaterCollector(ScdFacComWaterCollector other) : this() {
    itemsRound_ = other.itemsRound_.Clone();
    currentProgress_ = other.currentProgress_;
    inBlock_ = other.inBlock_;
    inProduce_ = other.inProduce_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComWaterCollector Clone() {
    return new ScdFacComWaterCollector(this);
  }

  /// <summary>Field number for the "items_round" field.</summary>
  public const int ItemsRoundFieldNumber = 1;
  private static readonly pb::FieldCodec<global::ScdFactorySyncItem> _repeated_itemsRound_codec
      = pb::FieldCodec.ForMessage(10, global::ScdFactorySyncItem.Parser);
  private readonly pbc::RepeatedField<global::ScdFactorySyncItem> itemsRound_ = new pbc::RepeatedField<global::ScdFactorySyncItem>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdFactorySyncItem> ItemsRound {
    get { return itemsRound_; }
  }

  /// <summary>Field number for the "current_progress" field.</summary>
  public const int CurrentProgressFieldNumber = 2;
  private long currentProgress_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long CurrentProgress {
    get { return currentProgress_; }
    set {
      currentProgress_ = value;
    }
  }

  /// <summary>Field number for the "in_block" field.</summary>
  public const int InBlockFieldNumber = 4;
  private bool inBlock_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool InBlock {
    get { return inBlock_; }
    set {
      inBlock_ = value;
    }
  }

  /// <summary>Field number for the "in_produce" field.</summary>
  public const int InProduceFieldNumber = 5;
  private bool inProduce_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool InProduce {
    get { return inProduce_; }
    set {
      inProduce_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFacComWaterCollector);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFacComWaterCollector other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!itemsRound_.Equals(other.itemsRound_)) return false;
    if (CurrentProgress != other.CurrentProgress) return false;
    if (InBlock != other.InBlock) return false;
    if (InProduce != other.InProduce) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= itemsRound_.GetHashCode();
    if (CurrentProgress != 0L) hash ^= CurrentProgress.GetHashCode();
    if (InBlock != false) hash ^= InBlock.GetHashCode();
    if (InProduce != false) hash ^= InProduce.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    itemsRound_.WriteTo(output, _repeated_itemsRound_codec);
    if (CurrentProgress != 0L) {
      output.WriteRawTag(16);
      output.WriteInt64(CurrentProgress);
    }
    if (InBlock != false) {
      output.WriteRawTag(32);
      output.WriteBool(InBlock);
    }
    if (InProduce != false) {
      output.WriteRawTag(40);
      output.WriteBool(InProduce);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += itemsRound_.CalculateSize(_repeated_itemsRound_codec);
    if (CurrentProgress != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(CurrentProgress);
    }
    if (InBlock != false) {
      size += 1 + 1;
    }
    if (InProduce != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFacComWaterCollector other) {
    if (other == null) {
      return;
    }
    itemsRound_.Add(other.itemsRound_);
    if (other.CurrentProgress != 0L) {
      CurrentProgress = other.CurrentProgress;
    }
    if (other.InBlock != false) {
      InBlock = other.InBlock;
    }
    if (other.InProduce != false) {
      InProduce = other.InProduce;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          itemsRound_.AddEntriesFrom(input, _repeated_itemsRound_codec);
          break;
        }
        case 16: {
          CurrentProgress = input.ReadInt64();
          break;
        }
        case 32: {
          InBlock = input.ReadBool();
          break;
        }
        case 40: {
          InProduce = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFacComSoil : pb::IMessage<ScdFacComSoil> {
  private static readonly pb::MessageParser<ScdFacComSoil> _parser = new pb::MessageParser<ScdFacComSoil>(() => new ScdFacComSoil());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFacComSoil> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[455]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComSoil() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComSoil(ScdFacComSoil other) : this() {
    stepCursor_ = other.stepCursor_;
    waterGot_ = other.waterGot_;
    inGrowTms_ = other.inGrowTms_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComSoil Clone() {
    return new ScdFacComSoil(this);
  }

  /// <summary>Field number for the "step_cursor" field.</summary>
  public const int StepCursorFieldNumber = 1;
  private int stepCursor_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int StepCursor {
    get { return stepCursor_; }
    set {
      stepCursor_ = value;
    }
  }

  /// <summary>Field number for the "water_got" field.</summary>
  public const int WaterGotFieldNumber = 2;
  private int waterGot_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int WaterGot {
    get { return waterGot_; }
    set {
      waterGot_ = value;
    }
  }

  /// <summary>Field number for the "in_grow_tms" field.</summary>
  public const int InGrowTmsFieldNumber = 3;
  private long inGrowTms_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long InGrowTms {
    get { return inGrowTms_; }
    set {
      inGrowTms_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFacComSoil);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFacComSoil other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (StepCursor != other.StepCursor) return false;
    if (WaterGot != other.WaterGot) return false;
    if (InGrowTms != other.InGrowTms) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (StepCursor != 0) hash ^= StepCursor.GetHashCode();
    if (WaterGot != 0) hash ^= WaterGot.GetHashCode();
    if (InGrowTms != 0L) hash ^= InGrowTms.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (StepCursor != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(StepCursor);
    }
    if (WaterGot != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(WaterGot);
    }
    if (InGrowTms != 0L) {
      output.WriteRawTag(24);
      output.WriteInt64(InGrowTms);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (StepCursor != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(StepCursor);
    }
    if (WaterGot != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(WaterGot);
    }
    if (InGrowTms != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(InGrowTms);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFacComSoil other) {
    if (other == null) {
      return;
    }
    if (other.StepCursor != 0) {
      StepCursor = other.StepCursor;
    }
    if (other.WaterGot != 0) {
      WaterGot = other.WaterGot;
    }
    if (other.InGrowTms != 0L) {
      InGrowTms = other.InGrowTms;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          StepCursor = input.ReadInt32();
          break;
        }
        case 16: {
          WaterGot = input.ReadInt32();
          break;
        }
        case 24: {
          InGrowTms = input.ReadInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFacComFluidSpray : pb::IMessage<ScdFacComFluidSpray> {
  private static readonly pb::MessageParser<ScdFacComFluidSpray> _parser = new pb::MessageParser<ScdFacComFluidSpray>(() => new ScdFacComFluidSpray());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFacComFluidSpray> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[456]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComFluidSpray() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComFluidSpray(ScdFacComFluidSpray other) : this() {
    currentProgress_ = other.currentProgress_;
    inProduce_ = other.inProduce_;
    lastRoundSprayCount_ = other.lastRoundSprayCount_;
    inBlock_ = other.inBlock_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComFluidSpray Clone() {
    return new ScdFacComFluidSpray(this);
  }

  /// <summary>Field number for the "current_progress" field.</summary>
  public const int CurrentProgressFieldNumber = 1;
  private long currentProgress_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long CurrentProgress {
    get { return currentProgress_; }
    set {
      currentProgress_ = value;
    }
  }

  /// <summary>Field number for the "in_produce" field.</summary>
  public const int InProduceFieldNumber = 2;
  private bool inProduce_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool InProduce {
    get { return inProduce_; }
    set {
      inProduce_ = value;
    }
  }

  /// <summary>Field number for the "last_round_spray_count" field.</summary>
  public const int LastRoundSprayCountFieldNumber = 3;
  private int lastRoundSprayCount_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int LastRoundSprayCount {
    get { return lastRoundSprayCount_; }
    set {
      lastRoundSprayCount_ = value;
    }
  }

  /// <summary>Field number for the "in_block" field.</summary>
  public const int InBlockFieldNumber = 11;
  private bool inBlock_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool InBlock {
    get { return inBlock_; }
    set {
      inBlock_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFacComFluidSpray);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFacComFluidSpray other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (CurrentProgress != other.CurrentProgress) return false;
    if (InProduce != other.InProduce) return false;
    if (LastRoundSprayCount != other.LastRoundSprayCount) return false;
    if (InBlock != other.InBlock) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (CurrentProgress != 0L) hash ^= CurrentProgress.GetHashCode();
    if (InProduce != false) hash ^= InProduce.GetHashCode();
    if (LastRoundSprayCount != 0) hash ^= LastRoundSprayCount.GetHashCode();
    if (InBlock != false) hash ^= InBlock.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (CurrentProgress != 0L) {
      output.WriteRawTag(8);
      output.WriteInt64(CurrentProgress);
    }
    if (InProduce != false) {
      output.WriteRawTag(16);
      output.WriteBool(InProduce);
    }
    if (LastRoundSprayCount != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(LastRoundSprayCount);
    }
    if (InBlock != false) {
      output.WriteRawTag(88);
      output.WriteBool(InBlock);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (CurrentProgress != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(CurrentProgress);
    }
    if (InProduce != false) {
      size += 1 + 1;
    }
    if (LastRoundSprayCount != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(LastRoundSprayCount);
    }
    if (InBlock != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFacComFluidSpray other) {
    if (other == null) {
      return;
    }
    if (other.CurrentProgress != 0L) {
      CurrentProgress = other.CurrentProgress;
    }
    if (other.InProduce != false) {
      InProduce = other.InProduce;
    }
    if (other.LastRoundSprayCount != 0) {
      LastRoundSprayCount = other.LastRoundSprayCount;
    }
    if (other.InBlock != false) {
      InBlock = other.InBlock;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          CurrentProgress = input.ReadInt64();
          break;
        }
        case 16: {
          InProduce = input.ReadBool();
          break;
        }
        case 24: {
          LastRoundSprayCount = input.ReadInt32();
          break;
        }
        case 88: {
          InBlock = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFacComFluidPumpOut : pb::IMessage<ScdFacComFluidPumpOut> {
  private static readonly pb::MessageParser<ScdFacComFluidPumpOut> _parser = new pb::MessageParser<ScdFacComFluidPumpOut>(() => new ScdFacComFluidPumpOut());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFacComFluidPumpOut> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[457]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComFluidPumpOut() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComFluidPumpOut(ScdFacComFluidPumpOut other) : this() {
    roundCount_ = other.roundCount_;
    currentProgress_ = other.currentProgress_;
    targetInstKey_ = other.targetInstKey_;
    inBlock_ = other.inBlock_;
    inProduce_ = other.inProduce_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComFluidPumpOut Clone() {
    return new ScdFacComFluidPumpOut(this);
  }

  /// <summary>Field number for the "round_count" field.</summary>
  public const int RoundCountFieldNumber = 1;
  private int roundCount_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int RoundCount {
    get { return roundCount_; }
    set {
      roundCount_ = value;
    }
  }

  /// <summary>Field number for the "current_progress" field.</summary>
  public const int CurrentProgressFieldNumber = 2;
  private long currentProgress_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long CurrentProgress {
    get { return currentProgress_; }
    set {
      currentProgress_ = value;
    }
  }

  /// <summary>Field number for the "target_inst_key" field.</summary>
  public const int TargetInstKeyFieldNumber = 3;
  private string targetInstKey_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string TargetInstKey {
    get { return targetInstKey_; }
    set {
      targetInstKey_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "in_block" field.</summary>
  public const int InBlockFieldNumber = 4;
  private bool inBlock_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool InBlock {
    get { return inBlock_; }
    set {
      inBlock_ = value;
    }
  }

  /// <summary>Field number for the "in_produce" field.</summary>
  public const int InProduceFieldNumber = 5;
  private bool inProduce_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool InProduce {
    get { return inProduce_; }
    set {
      inProduce_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFacComFluidPumpOut);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFacComFluidPumpOut other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (RoundCount != other.RoundCount) return false;
    if (CurrentProgress != other.CurrentProgress) return false;
    if (TargetInstKey != other.TargetInstKey) return false;
    if (InBlock != other.InBlock) return false;
    if (InProduce != other.InProduce) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (RoundCount != 0) hash ^= RoundCount.GetHashCode();
    if (CurrentProgress != 0L) hash ^= CurrentProgress.GetHashCode();
    if (TargetInstKey.Length != 0) hash ^= TargetInstKey.GetHashCode();
    if (InBlock != false) hash ^= InBlock.GetHashCode();
    if (InProduce != false) hash ^= InProduce.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (RoundCount != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(RoundCount);
    }
    if (CurrentProgress != 0L) {
      output.WriteRawTag(16);
      output.WriteInt64(CurrentProgress);
    }
    if (TargetInstKey.Length != 0) {
      output.WriteRawTag(26);
      output.WriteString(TargetInstKey);
    }
    if (InBlock != false) {
      output.WriteRawTag(32);
      output.WriteBool(InBlock);
    }
    if (InProduce != false) {
      output.WriteRawTag(40);
      output.WriteBool(InProduce);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (RoundCount != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(RoundCount);
    }
    if (CurrentProgress != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(CurrentProgress);
    }
    if (TargetInstKey.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(TargetInstKey);
    }
    if (InBlock != false) {
      size += 1 + 1;
    }
    if (InProduce != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFacComFluidPumpOut other) {
    if (other == null) {
      return;
    }
    if (other.RoundCount != 0) {
      RoundCount = other.RoundCount;
    }
    if (other.CurrentProgress != 0L) {
      CurrentProgress = other.CurrentProgress;
    }
    if (other.TargetInstKey.Length != 0) {
      TargetInstKey = other.TargetInstKey;
    }
    if (other.InBlock != false) {
      InBlock = other.InBlock;
    }
    if (other.InProduce != false) {
      InProduce = other.InProduce;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          RoundCount = input.ReadInt32();
          break;
        }
        case 16: {
          CurrentProgress = input.ReadInt64();
          break;
        }
        case 26: {
          TargetInstKey = input.ReadString();
          break;
        }
        case 32: {
          InBlock = input.ReadBool();
          break;
        }
        case 40: {
          InProduce = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFacComFluidConsume : pb::IMessage<ScdFacComFluidConsume> {
  private static readonly pb::MessageParser<ScdFacComFluidConsume> _parser = new pb::MessageParser<ScdFacComFluidConsume>(() => new ScdFacComFluidConsume());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFacComFluidConsume> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[458]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComFluidConsume() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComFluidConsume(ScdFacComFluidConsume other) : this() {
    roundCount_ = other.roundCount_;
    currentProgress_ = other.currentProgress_;
    inBlock_ = other.inBlock_;
    inProduce_ = other.inProduce_;
    latestItemId_ = other.latestItemId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComFluidConsume Clone() {
    return new ScdFacComFluidConsume(this);
  }

  /// <summary>Field number for the "round_count" field.</summary>
  public const int RoundCountFieldNumber = 1;
  private int roundCount_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int RoundCount {
    get { return roundCount_; }
    set {
      roundCount_ = value;
    }
  }

  /// <summary>Field number for the "current_progress" field.</summary>
  public const int CurrentProgressFieldNumber = 2;
  private long currentProgress_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long CurrentProgress {
    get { return currentProgress_; }
    set {
      currentProgress_ = value;
    }
  }

  /// <summary>Field number for the "in_block" field.</summary>
  public const int InBlockFieldNumber = 3;
  private bool inBlock_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool InBlock {
    get { return inBlock_; }
    set {
      inBlock_ = value;
    }
  }

  /// <summary>Field number for the "in_produce" field.</summary>
  public const int InProduceFieldNumber = 4;
  private bool inProduce_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool InProduce {
    get { return inProduce_; }
    set {
      inProduce_ = value;
    }
  }

  /// <summary>Field number for the "latest_item_id" field.</summary>
  public const int LatestItemIdFieldNumber = 5;
  private string latestItemId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string LatestItemId {
    get { return latestItemId_; }
    set {
      latestItemId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFacComFluidConsume);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFacComFluidConsume other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (RoundCount != other.RoundCount) return false;
    if (CurrentProgress != other.CurrentProgress) return false;
    if (InBlock != other.InBlock) return false;
    if (InProduce != other.InProduce) return false;
    if (LatestItemId != other.LatestItemId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (RoundCount != 0) hash ^= RoundCount.GetHashCode();
    if (CurrentProgress != 0L) hash ^= CurrentProgress.GetHashCode();
    if (InBlock != false) hash ^= InBlock.GetHashCode();
    if (InProduce != false) hash ^= InProduce.GetHashCode();
    if (LatestItemId.Length != 0) hash ^= LatestItemId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (RoundCount != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(RoundCount);
    }
    if (CurrentProgress != 0L) {
      output.WriteRawTag(16);
      output.WriteInt64(CurrentProgress);
    }
    if (InBlock != false) {
      output.WriteRawTag(24);
      output.WriteBool(InBlock);
    }
    if (InProduce != false) {
      output.WriteRawTag(32);
      output.WriteBool(InProduce);
    }
    if (LatestItemId.Length != 0) {
      output.WriteRawTag(42);
      output.WriteString(LatestItemId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (RoundCount != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(RoundCount);
    }
    if (CurrentProgress != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(CurrentProgress);
    }
    if (InBlock != false) {
      size += 1 + 1;
    }
    if (InProduce != false) {
      size += 1 + 1;
    }
    if (LatestItemId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(LatestItemId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFacComFluidConsume other) {
    if (other == null) {
      return;
    }
    if (other.RoundCount != 0) {
      RoundCount = other.RoundCount;
    }
    if (other.CurrentProgress != 0L) {
      CurrentProgress = other.CurrentProgress;
    }
    if (other.InBlock != false) {
      InBlock = other.InBlock;
    }
    if (other.InProduce != false) {
      InProduce = other.InProduce;
    }
    if (other.LatestItemId.Length != 0) {
      LatestItemId = other.LatestItemId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          RoundCount = input.ReadInt32();
          break;
        }
        case 16: {
          CurrentProgress = input.ReadInt64();
          break;
        }
        case 24: {
          InBlock = input.ReadBool();
          break;
        }
        case 32: {
          InProduce = input.ReadBool();
          break;
        }
        case 42: {
          LatestItemId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFacComFluidReaction : pb::IMessage<ScdFacComFluidReaction> {
  private static readonly pb::MessageParser<ScdFacComFluidReaction> _parser = new pb::MessageParser<ScdFacComFluidReaction>(() => new ScdFacComFluidReaction());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFacComFluidReaction> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[459]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComFluidReaction() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComFluidReaction(ScdFacComFluidReaction other) : this() {
    formulas_ = other.formulas_.Clone();
    inBlock_ = other.inBlock_;
    inProduce_ = other.inProduce_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacComFluidReaction Clone() {
    return new ScdFacComFluidReaction(this);
  }

  /// <summary>Field number for the "formulas" field.</summary>
  public const int FormulasFieldNumber = 1;
  private static readonly pb::FieldCodec<global::ScdFacFluidReactionFormula> _repeated_formulas_codec
      = pb::FieldCodec.ForMessage(10, global::ScdFacFluidReactionFormula.Parser);
  private readonly pbc::RepeatedField<global::ScdFacFluidReactionFormula> formulas_ = new pbc::RepeatedField<global::ScdFacFluidReactionFormula>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdFacFluidReactionFormula> Formulas {
    get { return formulas_; }
  }

  /// <summary>Field number for the "in_block" field.</summary>
  public const int InBlockFieldNumber = 2;
  private bool inBlock_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool InBlock {
    get { return inBlock_; }
    set {
      inBlock_ = value;
    }
  }

  /// <summary>Field number for the "in_produce" field.</summary>
  public const int InProduceFieldNumber = 3;
  private bool inProduce_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool InProduce {
    get { return inProduce_; }
    set {
      inProduce_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFacComFluidReaction);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFacComFluidReaction other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!formulas_.Equals(other.formulas_)) return false;
    if (InBlock != other.InBlock) return false;
    if (InProduce != other.InProduce) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= formulas_.GetHashCode();
    if (InBlock != false) hash ^= InBlock.GetHashCode();
    if (InProduce != false) hash ^= InProduce.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    formulas_.WriteTo(output, _repeated_formulas_codec);
    if (InBlock != false) {
      output.WriteRawTag(16);
      output.WriteBool(InBlock);
    }
    if (InProduce != false) {
      output.WriteRawTag(24);
      output.WriteBool(InProduce);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += formulas_.CalculateSize(_repeated_formulas_codec);
    if (InBlock != false) {
      size += 1 + 1;
    }
    if (InProduce != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFacComFluidReaction other) {
    if (other == null) {
      return;
    }
    formulas_.Add(other.formulas_);
    if (other.InBlock != false) {
      InBlock = other.InBlock;
    }
    if (other.InProduce != false) {
      InProduce = other.InProduce;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          formulas_.AddEntriesFrom(input, _repeated_formulas_codec);
          break;
        }
        case 16: {
          InBlock = input.ReadBool();
          break;
        }
        case 24: {
          InProduce = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFacNode : pb::IMessage<ScdFacNode> {
  private static readonly pb::MessageParser<ScdFacNode> _parser = new pb::MessageParser<ScdFacNode>(() => new ScdFacNode());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFacNode> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[460]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacNode() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacNode(ScdFacNode other) : this() {
    nodeId_ = other.nodeId_;
    nodeType_ = other.nodeType_;
    templateId_ = other.templateId_;
    transform_ = other.transform_ != null ? other.transform_.Clone() : null;
    isDeactive_ = other.isDeactive_;
    interactiveObject_ = other.interactiveObject_ != null ? other.interactiveObject_.Clone() : null;
    dynamicProperty_ = other.dynamicProperty_ != null ? other.dynamicProperty_.Clone() : null;
    power_ = other.power_ != null ? other.power_.Clone() : null;
    instKey_ = other.instKey_;
    flag_ = other.flag_;
    componentPos_ = other.componentPos_.Clone();
    components_ = other.components_.Clone();
    stableId_ = other.stableId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacNode Clone() {
    return new ScdFacNode(this);
  }

  /// <summary>Field number for the "node_id" field.</summary>
  public const int NodeIdFieldNumber = 1;
  private uint nodeId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint NodeId {
    get { return nodeId_; }
    set {
      nodeId_ = value;
    }
  }

  /// <summary>Field number for the "node_type" field.</summary>
  public const int NodeTypeFieldNumber = 2;
  private int nodeType_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int NodeType {
    get { return nodeType_; }
    set {
      nodeType_ = value;
    }
  }

  /// <summary>Field number for the "template_id" field.</summary>
  public const int TemplateIdFieldNumber = 3;
  private string templateId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string TemplateId {
    get { return templateId_; }
    set {
      templateId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "transform" field.</summary>
  public const int TransformFieldNumber = 4;
  private global::ScdFacTransform transform_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFacTransform Transform {
    get { return transform_; }
    set {
      transform_ = value;
    }
  }

  /// <summary>Field number for the "is_deactive" field.</summary>
  public const int IsDeactiveFieldNumber = 5;
  private bool isDeactive_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool IsDeactive {
    get { return isDeactive_; }
    set {
      isDeactive_ = value;
    }
  }

  /// <summary>Field number for the "interactive_object" field.</summary>
  public const int InteractiveObjectFieldNumber = 6;
  private global::ScdFacInteractiveObject interactiveObject_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFacInteractiveObject InteractiveObject {
    get { return interactiveObject_; }
    set {
      interactiveObject_ = value;
    }
  }

  /// <summary>Field number for the "dynamic_property" field.</summary>
  public const int DynamicPropertyFieldNumber = 7;
  private global::ScdFacDynamicProperty dynamicProperty_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFacDynamicProperty DynamicProperty {
    get { return dynamicProperty_; }
    set {
      dynamicProperty_ = value;
    }
  }

  /// <summary>Field number for the "power" field.</summary>
  public const int PowerFieldNumber = 8;
  private global::ScdFacNodePower power_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFacNodePower Power {
    get { return power_; }
    set {
      power_ = value;
    }
  }

  /// <summary>Field number for the "inst_key" field.</summary>
  public const int InstKeyFieldNumber = 9;
  private string instKey_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string InstKey {
    get { return instKey_; }
    set {
      instKey_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "flag" field.</summary>
  public const int FlagFieldNumber = 10;
  private uint flag_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint Flag {
    get { return flag_; }
    set {
      flag_ = value;
    }
  }

  /// <summary>Field number for the "component_pos" field.</summary>
  public const int ComponentPosFieldNumber = 11;
  private static readonly pbc::MapField<int, uint>.Codec _map_componentPos_codec
      = new pbc::MapField<int, uint>.Codec(pb::FieldCodec.ForInt32(8), pb::FieldCodec.ForUInt32(16), 90);
  private readonly pbc::MapField<int, uint> componentPos_ = new pbc::MapField<int, uint>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<int, uint> ComponentPos {
    get { return componentPos_; }
  }

  /// <summary>Field number for the "components" field.</summary>
  public const int ComponentsFieldNumber = 12;
  private static readonly pb::FieldCodec<global::ScdFacCom> _repeated_components_codec
      = pb::FieldCodec.ForMessage(98, global::ScdFacCom.Parser);
  private readonly pbc::RepeatedField<global::ScdFacCom> components_ = new pbc::RepeatedField<global::ScdFacCom>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdFacCom> Components {
    get { return components_; }
  }

  /// <summary>Field number for the "stable_id" field.</summary>
  public const int StableIdFieldNumber = 13;
  private ulong stableId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong StableId {
    get { return stableId_; }
    set {
      stableId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFacNode);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFacNode other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (NodeId != other.NodeId) return false;
    if (NodeType != other.NodeType) return false;
    if (TemplateId != other.TemplateId) return false;
    if (!object.Equals(Transform, other.Transform)) return false;
    if (IsDeactive != other.IsDeactive) return false;
    if (!object.Equals(InteractiveObject, other.InteractiveObject)) return false;
    if (!object.Equals(DynamicProperty, other.DynamicProperty)) return false;
    if (!object.Equals(Power, other.Power)) return false;
    if (InstKey != other.InstKey) return false;
    if (Flag != other.Flag) return false;
    if (!ComponentPos.Equals(other.ComponentPos)) return false;
    if(!components_.Equals(other.components_)) return false;
    if (StableId != other.StableId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (NodeId != 0) hash ^= NodeId.GetHashCode();
    if (NodeType != 0) hash ^= NodeType.GetHashCode();
    if (TemplateId.Length != 0) hash ^= TemplateId.GetHashCode();
    if (transform_ != null) hash ^= Transform.GetHashCode();
    if (IsDeactive != false) hash ^= IsDeactive.GetHashCode();
    if (interactiveObject_ != null) hash ^= InteractiveObject.GetHashCode();
    if (dynamicProperty_ != null) hash ^= DynamicProperty.GetHashCode();
    if (power_ != null) hash ^= Power.GetHashCode();
    if (InstKey.Length != 0) hash ^= InstKey.GetHashCode();
    if (Flag != 0) hash ^= Flag.GetHashCode();
    hash ^= ComponentPos.GetHashCode();
    hash ^= components_.GetHashCode();
    if (StableId != 0UL) hash ^= StableId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (NodeId != 0) {
      output.WriteRawTag(8);
      output.WriteUInt32(NodeId);
    }
    if (NodeType != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(NodeType);
    }
    if (TemplateId.Length != 0) {
      output.WriteRawTag(26);
      output.WriteString(TemplateId);
    }
    if (transform_ != null) {
      output.WriteRawTag(34);
      output.WriteMessage(Transform);
    }
    if (IsDeactive != false) {
      output.WriteRawTag(40);
      output.WriteBool(IsDeactive);
    }
    if (interactiveObject_ != null) {
      output.WriteRawTag(50);
      output.WriteMessage(InteractiveObject);
    }
    if (dynamicProperty_ != null) {
      output.WriteRawTag(58);
      output.WriteMessage(DynamicProperty);
    }
    if (power_ != null) {
      output.WriteRawTag(66);
      output.WriteMessage(Power);
    }
    if (InstKey.Length != 0) {
      output.WriteRawTag(74);
      output.WriteString(InstKey);
    }
    if (Flag != 0) {
      output.WriteRawTag(80);
      output.WriteUInt32(Flag);
    }
    componentPos_.WriteTo(output, _map_componentPos_codec);
    components_.WriteTo(output, _repeated_components_codec);
    if (StableId != 0UL) {
      output.WriteRawTag(104);
      output.WriteUInt64(StableId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (NodeId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(NodeId);
    }
    if (NodeType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(NodeType);
    }
    if (TemplateId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(TemplateId);
    }
    if (transform_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Transform);
    }
    if (IsDeactive != false) {
      size += 1 + 1;
    }
    if (interactiveObject_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(InteractiveObject);
    }
    if (dynamicProperty_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(DynamicProperty);
    }
    if (power_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Power);
    }
    if (InstKey.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(InstKey);
    }
    if (Flag != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Flag);
    }
    size += componentPos_.CalculateSize(_map_componentPos_codec);
    size += components_.CalculateSize(_repeated_components_codec);
    if (StableId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(StableId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFacNode other) {
    if (other == null) {
      return;
    }
    if (other.NodeId != 0) {
      NodeId = other.NodeId;
    }
    if (other.NodeType != 0) {
      NodeType = other.NodeType;
    }
    if (other.TemplateId.Length != 0) {
      TemplateId = other.TemplateId;
    }
    if (other.transform_ != null) {
      if (transform_ == null) {
        transform_ = new global::ScdFacTransform();
      }
      Transform.MergeFrom(other.Transform);
    }
    if (other.IsDeactive != false) {
      IsDeactive = other.IsDeactive;
    }
    if (other.interactiveObject_ != null) {
      if (interactiveObject_ == null) {
        interactiveObject_ = new global::ScdFacInteractiveObject();
      }
      InteractiveObject.MergeFrom(other.InteractiveObject);
    }
    if (other.dynamicProperty_ != null) {
      if (dynamicProperty_ == null) {
        dynamicProperty_ = new global::ScdFacDynamicProperty();
      }
      DynamicProperty.MergeFrom(other.DynamicProperty);
    }
    if (other.power_ != null) {
      if (power_ == null) {
        power_ = new global::ScdFacNodePower();
      }
      Power.MergeFrom(other.Power);
    }
    if (other.InstKey.Length != 0) {
      InstKey = other.InstKey;
    }
    if (other.Flag != 0) {
      Flag = other.Flag;
    }
    componentPos_.Add(other.componentPos_);
    components_.Add(other.components_);
    if (other.StableId != 0UL) {
      StableId = other.StableId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          NodeId = input.ReadUInt32();
          break;
        }
        case 16: {
          NodeType = input.ReadInt32();
          break;
        }
        case 26: {
          TemplateId = input.ReadString();
          break;
        }
        case 34: {
          if (transform_ == null) {
            transform_ = new global::ScdFacTransform();
          }
          input.ReadMessage(transform_);
          break;
        }
        case 40: {
          IsDeactive = input.ReadBool();
          break;
        }
        case 50: {
          if (interactiveObject_ == null) {
            interactiveObject_ = new global::ScdFacInteractiveObject();
          }
          input.ReadMessage(interactiveObject_);
          break;
        }
        case 58: {
          if (dynamicProperty_ == null) {
            dynamicProperty_ = new global::ScdFacDynamicProperty();
          }
          input.ReadMessage(dynamicProperty_);
          break;
        }
        case 66: {
          if (power_ == null) {
            power_ = new global::ScdFacNodePower();
          }
          input.ReadMessage(power_);
          break;
        }
        case 74: {
          InstKey = input.ReadString();
          break;
        }
        case 80: {
          Flag = input.ReadUInt32();
          break;
        }
        case 90: {
          componentPos_.AddEntriesFrom(input, _map_componentPos_codec);
          break;
        }
        case 98: {
          components_.AddEntriesFrom(input, _repeated_components_codec);
          break;
        }
        case 104: {
          StableId = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFacTransform : pb::IMessage<ScdFacTransform> {
  private static readonly pb::MessageParser<ScdFacTransform> _parser = new pb::MessageParser<ScdFacTransform>(() => new ScdFacTransform());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFacTransform> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[461]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacTransform() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacTransform(ScdFacTransform other) : this() {
    position_ = other.position_ != null ? other.position_.Clone() : null;
    direction_ = other.direction_ != null ? other.direction_.Clone() : null;
    mesh_ = other.mesh_ != null ? other.mesh_.Clone() : null;
    mapId_ = other.mapId_;
    worldPosition_ = other.worldPosition_ != null ? other.worldPosition_.Clone() : null;
    worldRotation_ = other.worldRotation_ != null ? other.worldRotation_.Clone() : null;
    bcPortIn_ = other.bcPortIn_ != null ? other.bcPortIn_.Clone() : null;
    bcPortOut_ = other.bcPortOut_ != null ? other.bcPortOut_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacTransform Clone() {
    return new ScdFacTransform(this);
  }

  /// <summary>Field number for the "position" field.</summary>
  public const int PositionFieldNumber = 1;
  private global::ScdVec3Int position_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdVec3Int Position {
    get { return position_; }
    set {
      position_ = value;
    }
  }

  /// <summary>Field number for the "direction" field.</summary>
  public const int DirectionFieldNumber = 2;
  private global::ScdVec3Int direction_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdVec3Int Direction {
    get { return direction_; }
    set {
      direction_ = value;
    }
  }

  /// <summary>Field number for the "mesh" field.</summary>
  public const int MeshFieldNumber = 3;
  private global::ScdFacMesh mesh_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFacMesh Mesh {
    get { return mesh_; }
    set {
      mesh_ = value;
    }
  }

  /// <summary>Field number for the "map_id" field.</summary>
  public const int MapIdFieldNumber = 4;
  private int mapId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int MapId {
    get { return mapId_; }
    set {
      mapId_ = value;
    }
  }

  /// <summary>Field number for the "world_position" field.</summary>
  public const int WorldPositionFieldNumber = 9;
  private global::Vector worldPosition_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::Vector WorldPosition {
    get { return worldPosition_; }
    set {
      worldPosition_ = value;
    }
  }

  /// <summary>Field number for the "world_rotation" field.</summary>
  public const int WorldRotationFieldNumber = 10;
  private global::Vector worldRotation_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::Vector WorldRotation {
    get { return worldRotation_; }
    set {
      worldRotation_ = value;
    }
  }

  /// <summary>Field number for the "bc_port_in" field.</summary>
  public const int BcPortInFieldNumber = 11;
  private global::ScdFacSubPort bcPortIn_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFacSubPort BcPortIn {
    get { return bcPortIn_; }
    set {
      bcPortIn_ = value;
    }
  }

  /// <summary>Field number for the "bc_port_out" field.</summary>
  public const int BcPortOutFieldNumber = 12;
  private global::ScdFacSubPort bcPortOut_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFacSubPort BcPortOut {
    get { return bcPortOut_; }
    set {
      bcPortOut_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFacTransform);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFacTransform other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!object.Equals(Position, other.Position)) return false;
    if (!object.Equals(Direction, other.Direction)) return false;
    if (!object.Equals(Mesh, other.Mesh)) return false;
    if (MapId != other.MapId) return false;
    if (!object.Equals(WorldPosition, other.WorldPosition)) return false;
    if (!object.Equals(WorldRotation, other.WorldRotation)) return false;
    if (!object.Equals(BcPortIn, other.BcPortIn)) return false;
    if (!object.Equals(BcPortOut, other.BcPortOut)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (position_ != null) hash ^= Position.GetHashCode();
    if (direction_ != null) hash ^= Direction.GetHashCode();
    if (mesh_ != null) hash ^= Mesh.GetHashCode();
    if (MapId != 0) hash ^= MapId.GetHashCode();
    if (worldPosition_ != null) hash ^= WorldPosition.GetHashCode();
    if (worldRotation_ != null) hash ^= WorldRotation.GetHashCode();
    if (bcPortIn_ != null) hash ^= BcPortIn.GetHashCode();
    if (bcPortOut_ != null) hash ^= BcPortOut.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (position_ != null) {
      output.WriteRawTag(10);
      output.WriteMessage(Position);
    }
    if (direction_ != null) {
      output.WriteRawTag(18);
      output.WriteMessage(Direction);
    }
    if (mesh_ != null) {
      output.WriteRawTag(26);
      output.WriteMessage(Mesh);
    }
    if (MapId != 0) {
      output.WriteRawTag(32);
      output.WriteInt32(MapId);
    }
    if (worldPosition_ != null) {
      output.WriteRawTag(74);
      output.WriteMessage(WorldPosition);
    }
    if (worldRotation_ != null) {
      output.WriteRawTag(82);
      output.WriteMessage(WorldRotation);
    }
    if (bcPortIn_ != null) {
      output.WriteRawTag(90);
      output.WriteMessage(BcPortIn);
    }
    if (bcPortOut_ != null) {
      output.WriteRawTag(98);
      output.WriteMessage(BcPortOut);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (position_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Position);
    }
    if (direction_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Direction);
    }
    if (mesh_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Mesh);
    }
    if (MapId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(MapId);
    }
    if (worldPosition_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(WorldPosition);
    }
    if (worldRotation_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(WorldRotation);
    }
    if (bcPortIn_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(BcPortIn);
    }
    if (bcPortOut_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(BcPortOut);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFacTransform other) {
    if (other == null) {
      return;
    }
    if (other.position_ != null) {
      if (position_ == null) {
        position_ = new global::ScdVec3Int();
      }
      Position.MergeFrom(other.Position);
    }
    if (other.direction_ != null) {
      if (direction_ == null) {
        direction_ = new global::ScdVec3Int();
      }
      Direction.MergeFrom(other.Direction);
    }
    if (other.mesh_ != null) {
      if (mesh_ == null) {
        mesh_ = new global::ScdFacMesh();
      }
      Mesh.MergeFrom(other.Mesh);
    }
    if (other.MapId != 0) {
      MapId = other.MapId;
    }
    if (other.worldPosition_ != null) {
      if (worldPosition_ == null) {
        worldPosition_ = new global::Vector();
      }
      WorldPosition.MergeFrom(other.WorldPosition);
    }
    if (other.worldRotation_ != null) {
      if (worldRotation_ == null) {
        worldRotation_ = new global::Vector();
      }
      WorldRotation.MergeFrom(other.WorldRotation);
    }
    if (other.bcPortIn_ != null) {
      if (bcPortIn_ == null) {
        bcPortIn_ = new global::ScdFacSubPort();
      }
      BcPortIn.MergeFrom(other.BcPortIn);
    }
    if (other.bcPortOut_ != null) {
      if (bcPortOut_ == null) {
        bcPortOut_ = new global::ScdFacSubPort();
      }
      BcPortOut.MergeFrom(other.BcPortOut);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          if (position_ == null) {
            position_ = new global::ScdVec3Int();
          }
          input.ReadMessage(position_);
          break;
        }
        case 18: {
          if (direction_ == null) {
            direction_ = new global::ScdVec3Int();
          }
          input.ReadMessage(direction_);
          break;
        }
        case 26: {
          if (mesh_ == null) {
            mesh_ = new global::ScdFacMesh();
          }
          input.ReadMessage(mesh_);
          break;
        }
        case 32: {
          MapId = input.ReadInt32();
          break;
        }
        case 74: {
          if (worldPosition_ == null) {
            worldPosition_ = new global::Vector();
          }
          input.ReadMessage(worldPosition_);
          break;
        }
        case 82: {
          if (worldRotation_ == null) {
            worldRotation_ = new global::Vector();
          }
          input.ReadMessage(worldRotation_);
          break;
        }
        case 90: {
          if (bcPortIn_ == null) {
            bcPortIn_ = new global::ScdFacSubPort();
          }
          input.ReadMessage(bcPortIn_);
          break;
        }
        case 98: {
          if (bcPortOut_ == null) {
            bcPortOut_ = new global::ScdFacSubPort();
          }
          input.ReadMessage(bcPortOut_);
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFacMesh : pb::IMessage<ScdFacMesh> {
  private static readonly pb::MessageParser<ScdFacMesh> _parser = new pb::MessageParser<ScdFacMesh>(() => new ScdFacMesh());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFacMesh> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[462]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacMesh() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacMesh(ScdFacMesh other) : this() {
    meshType_ = other.meshType_;
    points_ = other.points_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacMesh Clone() {
    return new ScdFacMesh(this);
  }

  /// <summary>Field number for the "mesh_type" field.</summary>
  public const int MeshTypeFieldNumber = 1;
  private int meshType_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int MeshType {
    get { return meshType_; }
    set {
      meshType_ = value;
    }
  }

  /// <summary>Field number for the "points" field.</summary>
  public const int PointsFieldNumber = 2;
  private static readonly pb::FieldCodec<global::ScdVec3Int> _repeated_points_codec
      = pb::FieldCodec.ForMessage(18, global::ScdVec3Int.Parser);
  private readonly pbc::RepeatedField<global::ScdVec3Int> points_ = new pbc::RepeatedField<global::ScdVec3Int>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdVec3Int> Points {
    get { return points_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFacMesh);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFacMesh other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (MeshType != other.MeshType) return false;
    if(!points_.Equals(other.points_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (MeshType != 0) hash ^= MeshType.GetHashCode();
    hash ^= points_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (MeshType != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(MeshType);
    }
    points_.WriteTo(output, _repeated_points_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (MeshType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(MeshType);
    }
    size += points_.CalculateSize(_repeated_points_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFacMesh other) {
    if (other == null) {
      return;
    }
    if (other.MeshType != 0) {
      MeshType = other.MeshType;
    }
    points_.Add(other.points_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          MeshType = input.ReadInt32();
          break;
        }
        case 18: {
          points_.AddEntriesFrom(input, _repeated_points_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFacInteractiveObject : pb::IMessage<ScdFacInteractiveObject> {
  private static readonly pb::MessageParser<ScdFacInteractiveObject> _parser = new pb::MessageParser<ScdFacInteractiveObject>(() => new ScdFacInteractiveObject());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFacInteractiveObject> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[463]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacInteractiveObject() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacInteractiveObject(ScdFacInteractiveObject other) : this() {
    objectId_ = other.objectId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacInteractiveObject Clone() {
    return new ScdFacInteractiveObject(this);
  }

  /// <summary>Field number for the "object_id" field.</summary>
  public const int ObjectIdFieldNumber = 1;
  private ulong objectId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong ObjectId {
    get { return objectId_; }
    set {
      objectId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFacInteractiveObject);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFacInteractiveObject other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ObjectId != other.ObjectId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ObjectId != 0UL) hash ^= ObjectId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ObjectId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(ObjectId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ObjectId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(ObjectId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFacInteractiveObject other) {
    if (other == null) {
      return;
    }
    if (other.ObjectId != 0UL) {
      ObjectId = other.ObjectId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ObjectId = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFacDynamicProperty : pb::IMessage<ScdFacDynamicProperty> {
  private static readonly pb::MessageParser<ScdFacDynamicProperty> _parser = new pb::MessageParser<ScdFacDynamicProperty>(() => new ScdFacDynamicProperty());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFacDynamicProperty> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[464]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacDynamicProperty() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacDynamicProperty(ScdFacDynamicProperty other) : this() {
    values_ = other.values_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacDynamicProperty Clone() {
    return new ScdFacDynamicProperty(this);
  }

  /// <summary>Field number for the "values" field.</summary>
  public const int ValuesFieldNumber = 1;
  private static readonly pbc::MapField<int, global::ScdFacDynamicPropertyValue>.Codec _map_values_codec
      = new pbc::MapField<int, global::ScdFacDynamicPropertyValue>.Codec(pb::FieldCodec.ForInt32(8), pb::FieldCodec.ForMessage(18, global::ScdFacDynamicPropertyValue.Parser), 10);
  private readonly pbc::MapField<int, global::ScdFacDynamicPropertyValue> values_ = new pbc::MapField<int, global::ScdFacDynamicPropertyValue>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<int, global::ScdFacDynamicPropertyValue> Values {
    get { return values_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFacDynamicProperty);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFacDynamicProperty other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!Values.Equals(other.Values)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= Values.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    values_.WriteTo(output, _map_values_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += values_.CalculateSize(_map_values_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFacDynamicProperty other) {
    if (other == null) {
      return;
    }
    values_.Add(other.values_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          values_.AddEntriesFrom(input, _map_values_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFacDynamicPropertyValue : pb::IMessage<ScdFacDynamicPropertyValue> {
  private static readonly pb::MessageParser<ScdFacDynamicPropertyValue> _parser = new pb::MessageParser<ScdFacDynamicPropertyValue>(() => new ScdFacDynamicPropertyValue());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFacDynamicPropertyValue> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[465]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacDynamicPropertyValue() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacDynamicPropertyValue(ScdFacDynamicPropertyValue other) : this() {
    switch (other.ValueCase) {
      case ValueOneofCase.BoolValue:
        BoolValue = other.BoolValue;
        break;
      case ValueOneofCase.IntValue:
        IntValue = other.IntValue;
        break;
      case ValueOneofCase.UintValue:
        UintValue = other.UintValue;
        break;
      case ValueOneofCase.DoubleValue:
        DoubleValue = other.DoubleValue;
        break;
      case ValueOneofCase.StringValue:
        StringValue = other.StringValue;
        break;
    }

    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacDynamicPropertyValue Clone() {
    return new ScdFacDynamicPropertyValue(this);
  }

  /// <summary>Field number for the "bool_value" field.</summary>
  public const int BoolValueFieldNumber = 1;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool BoolValue {
    get { return valueCase_ == ValueOneofCase.BoolValue ? (bool) value_ : false; }
    set {
      value_ = value;
      valueCase_ = ValueOneofCase.BoolValue;
    }
  }

  /// <summary>Field number for the "int_value" field.</summary>
  public const int IntValueFieldNumber = 2;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long IntValue {
    get { return valueCase_ == ValueOneofCase.IntValue ? (long) value_ : 0L; }
    set {
      value_ = value;
      valueCase_ = ValueOneofCase.IntValue;
    }
  }

  /// <summary>Field number for the "uint_value" field.</summary>
  public const int UintValueFieldNumber = 3;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong UintValue {
    get { return valueCase_ == ValueOneofCase.UintValue ? (ulong) value_ : 0UL; }
    set {
      value_ = value;
      valueCase_ = ValueOneofCase.UintValue;
    }
  }

  /// <summary>Field number for the "double_value" field.</summary>
  public const int DoubleValueFieldNumber = 4;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public double DoubleValue {
    get { return valueCase_ == ValueOneofCase.DoubleValue ? (double) value_ : 0D; }
    set {
      value_ = value;
      valueCase_ = ValueOneofCase.DoubleValue;
    }
  }

  /// <summary>Field number for the "string_value" field.</summary>
  public const int StringValueFieldNumber = 5;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string StringValue {
    get { return valueCase_ == ValueOneofCase.StringValue ? (string) value_ : ""; }
    set {
      value_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      valueCase_ = ValueOneofCase.StringValue;
    }
  }

  private object value_;
  /// <summary>Enum of possible cases for the "value" oneof.</summary>
  public enum ValueOneofCase {
    None = 0,
    BoolValue = 1,
    IntValue = 2,
    UintValue = 3,
    DoubleValue = 4,
    StringValue = 5,
  }
  private ValueOneofCase valueCase_ = ValueOneofCase.None;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ValueOneofCase ValueCase {
    get { return valueCase_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void ClearValue() {
    valueCase_ = ValueOneofCase.None;
    value_ = null;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFacDynamicPropertyValue);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFacDynamicPropertyValue other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (BoolValue != other.BoolValue) return false;
    if (IntValue != other.IntValue) return false;
    if (UintValue != other.UintValue) return false;
    if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(DoubleValue, other.DoubleValue)) return false;
    if (StringValue != other.StringValue) return false;
    if (ValueCase != other.ValueCase) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (valueCase_ == ValueOneofCase.BoolValue) hash ^= BoolValue.GetHashCode();
    if (valueCase_ == ValueOneofCase.IntValue) hash ^= IntValue.GetHashCode();
    if (valueCase_ == ValueOneofCase.UintValue) hash ^= UintValue.GetHashCode();
    if (valueCase_ == ValueOneofCase.DoubleValue) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(DoubleValue);
    if (valueCase_ == ValueOneofCase.StringValue) hash ^= StringValue.GetHashCode();
    hash ^= (int) valueCase_;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (valueCase_ == ValueOneofCase.BoolValue) {
      output.WriteRawTag(8);
      output.WriteBool(BoolValue);
    }
    if (valueCase_ == ValueOneofCase.IntValue) {
      output.WriteRawTag(16);
      output.WriteInt64(IntValue);
    }
    if (valueCase_ == ValueOneofCase.UintValue) {
      output.WriteRawTag(24);
      output.WriteUInt64(UintValue);
    }
    if (valueCase_ == ValueOneofCase.DoubleValue) {
      output.WriteRawTag(33);
      output.WriteDouble(DoubleValue);
    }
    if (valueCase_ == ValueOneofCase.StringValue) {
      output.WriteRawTag(42);
      output.WriteString(StringValue);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (valueCase_ == ValueOneofCase.BoolValue) {
      size += 1 + 1;
    }
    if (valueCase_ == ValueOneofCase.IntValue) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(IntValue);
    }
    if (valueCase_ == ValueOneofCase.UintValue) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(UintValue);
    }
    if (valueCase_ == ValueOneofCase.DoubleValue) {
      size += 1 + 8;
    }
    if (valueCase_ == ValueOneofCase.StringValue) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(StringValue);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFacDynamicPropertyValue other) {
    if (other == null) {
      return;
    }
    switch (other.ValueCase) {
      case ValueOneofCase.BoolValue:
        BoolValue = other.BoolValue;
        break;
      case ValueOneofCase.IntValue:
        IntValue = other.IntValue;
        break;
      case ValueOneofCase.UintValue:
        UintValue = other.UintValue;
        break;
      case ValueOneofCase.DoubleValue:
        DoubleValue = other.DoubleValue;
        break;
      case ValueOneofCase.StringValue:
        StringValue = other.StringValue;
        break;
    }

    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          BoolValue = input.ReadBool();
          break;
        }
        case 16: {
          IntValue = input.ReadInt64();
          break;
        }
        case 24: {
          UintValue = input.ReadUInt64();
          break;
        }
        case 33: {
          DoubleValue = input.ReadDouble();
          break;
        }
        case 42: {
          StringValue = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFacNodePower : pb::IMessage<ScdFacNodePower> {
  private static readonly pb::MessageParser<ScdFacNodePower> _parser = new pb::MessageParser<ScdFacNodePower>(() => new ScdFacNodePower());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFacNodePower> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[466]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacNodePower() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacNodePower(ScdFacNodePower other) : this() {
    inPower_ = other.inPower_;
    powerCost_ = other.powerCost_;
    needInPower_ = other.needInPower_;
    powerCostShow_ = other.powerCostShow_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFacNodePower Clone() {
    return new ScdFacNodePower(this);
  }

  /// <summary>Field number for the "in_power" field.</summary>
  public const int InPowerFieldNumber = 1;
  private bool inPower_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool InPower {
    get { return inPower_; }
    set {
      inPower_ = value;
    }
  }

  /// <summary>Field number for the "power_cost" field.</summary>
  public const int PowerCostFieldNumber = 2;
  private long powerCost_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long PowerCost {
    get { return powerCost_; }
    set {
      powerCost_ = value;
    }
  }

  /// <summary>Field number for the "need_in_power" field.</summary>
  public const int NeedInPowerFieldNumber = 11;
  private bool needInPower_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool NeedInPower {
    get { return needInPower_; }
    set {
      needInPower_ = value;
    }
  }

  /// <summary>Field number for the "power_cost_show" field.</summary>
  public const int PowerCostShowFieldNumber = 12;
  private long powerCostShow_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long PowerCostShow {
    get { return powerCostShow_; }
    set {
      powerCostShow_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFacNodePower);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFacNodePower other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (InPower != other.InPower) return false;
    if (PowerCost != other.PowerCost) return false;
    if (NeedInPower != other.NeedInPower) return false;
    if (PowerCostShow != other.PowerCostShow) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (InPower != false) hash ^= InPower.GetHashCode();
    if (PowerCost != 0L) hash ^= PowerCost.GetHashCode();
    if (NeedInPower != false) hash ^= NeedInPower.GetHashCode();
    if (PowerCostShow != 0L) hash ^= PowerCostShow.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (InPower != false) {
      output.WriteRawTag(8);
      output.WriteBool(InPower);
    }
    if (PowerCost != 0L) {
      output.WriteRawTag(16);
      output.WriteInt64(PowerCost);
    }
    if (NeedInPower != false) {
      output.WriteRawTag(88);
      output.WriteBool(NeedInPower);
    }
    if (PowerCostShow != 0L) {
      output.WriteRawTag(96);
      output.WriteInt64(PowerCostShow);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (InPower != false) {
      size += 1 + 1;
    }
    if (PowerCost != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(PowerCost);
    }
    if (NeedInPower != false) {
      size += 1 + 1;
    }
    if (PowerCostShow != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(PowerCostShow);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFacNodePower other) {
    if (other == null) {
      return;
    }
    if (other.InPower != false) {
      InPower = other.InPower;
    }
    if (other.PowerCost != 0L) {
      PowerCost = other.PowerCost;
    }
    if (other.NeedInPower != false) {
      NeedInPower = other.NeedInPower;
    }
    if (other.PowerCostShow != 0L) {
      PowerCostShow = other.PowerCostShow;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          InPower = input.ReadBool();
          break;
        }
        case 16: {
          PowerCost = input.ReadInt64();
          break;
        }
        case 88: {
          NeedInPower = input.ReadBool();
          break;
        }
        case 96: {
          PowerCostShow = input.ReadInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFactorySyncScene : pb::IMessage<ScdFactorySyncScene> {
  private static readonly pb::MessageParser<ScdFactorySyncScene> _parser = new pb::MessageParser<ScdFactorySyncScene>(() => new ScdFactorySyncScene());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactorySyncScene> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[467]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactorySyncScene() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactorySyncScene(ScdFactorySyncScene other) : this() {
    sceneId_ = other.sceneId_;
    bandwidth_ = other.bandwidth_ != null ? other.bandwidth_.Clone() : null;
    panels_ = other.panels_.Clone();
    soilPanels_ = other.soilPanels_.Clone();
    settlements_ = other.settlements_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactorySyncScene Clone() {
    return new ScdFactorySyncScene(this);
  }

  /// <summary>Field number for the "scene_id" field.</summary>
  public const int SceneIdFieldNumber = 1;
  private int sceneId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int SceneId {
    get { return sceneId_; }
    set {
      sceneId_ = value;
    }
  }

  /// <summary>Field number for the "bandwidth" field.</summary>
  public const int BandwidthFieldNumber = 5;
  private global::ScdFactorySyncSceneBandwidth bandwidth_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactorySyncSceneBandwidth Bandwidth {
    get { return bandwidth_; }
    set {
      bandwidth_ = value;
    }
  }

  /// <summary>Field number for the "panels" field.</summary>
  public const int PanelsFieldNumber = 6;
  private static readonly pb::FieldCodec<global::ScdFactorySyncScenePanel> _repeated_panels_codec
      = pb::FieldCodec.ForMessage(50, global::ScdFactorySyncScenePanel.Parser);
  private readonly pbc::RepeatedField<global::ScdFactorySyncScenePanel> panels_ = new pbc::RepeatedField<global::ScdFactorySyncScenePanel>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdFactorySyncScenePanel> Panels {
    get { return panels_; }
  }

  /// <summary>Field number for the "soil_panels" field.</summary>
  public const int SoilPanelsFieldNumber = 7;
  private static readonly pb::FieldCodec<global::ScdFactorySyncScenePanel> _repeated_soilPanels_codec
      = pb::FieldCodec.ForMessage(58, global::ScdFactorySyncScenePanel.Parser);
  private readonly pbc::RepeatedField<global::ScdFactorySyncScenePanel> soilPanels_ = new pbc::RepeatedField<global::ScdFactorySyncScenePanel>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdFactorySyncScenePanel> SoilPanels {
    get { return soilPanels_; }
  }

  /// <summary>Field number for the "settlements" field.</summary>
  public const int SettlementsFieldNumber = 10;
  private static readonly pbc::MapField<string, global::ScdFactorySyncSceneBandwidth>.Codec _map_settlements_codec
      = new pbc::MapField<string, global::ScdFactorySyncSceneBandwidth>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForMessage(18, global::ScdFactorySyncSceneBandwidth.Parser), 82);
  private readonly pbc::MapField<string, global::ScdFactorySyncSceneBandwidth> settlements_ = new pbc::MapField<string, global::ScdFactorySyncSceneBandwidth>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<string, global::ScdFactorySyncSceneBandwidth> Settlements {
    get { return settlements_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactorySyncScene);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactorySyncScene other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SceneId != other.SceneId) return false;
    if (!object.Equals(Bandwidth, other.Bandwidth)) return false;
    if(!panels_.Equals(other.panels_)) return false;
    if(!soilPanels_.Equals(other.soilPanels_)) return false;
    if (!Settlements.Equals(other.Settlements)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SceneId != 0) hash ^= SceneId.GetHashCode();
    if (bandwidth_ != null) hash ^= Bandwidth.GetHashCode();
    hash ^= panels_.GetHashCode();
    hash ^= soilPanels_.GetHashCode();
    hash ^= Settlements.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SceneId != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(SceneId);
    }
    if (bandwidth_ != null) {
      output.WriteRawTag(42);
      output.WriteMessage(Bandwidth);
    }
    panels_.WriteTo(output, _repeated_panels_codec);
    soilPanels_.WriteTo(output, _repeated_soilPanels_codec);
    settlements_.WriteTo(output, _map_settlements_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SceneId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(SceneId);
    }
    if (bandwidth_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Bandwidth);
    }
    size += panels_.CalculateSize(_repeated_panels_codec);
    size += soilPanels_.CalculateSize(_repeated_soilPanels_codec);
    size += settlements_.CalculateSize(_map_settlements_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactorySyncScene other) {
    if (other == null) {
      return;
    }
    if (other.SceneId != 0) {
      SceneId = other.SceneId;
    }
    if (other.bandwidth_ != null) {
      if (bandwidth_ == null) {
        bandwidth_ = new global::ScdFactorySyncSceneBandwidth();
      }
      Bandwidth.MergeFrom(other.Bandwidth);
    }
    panels_.Add(other.panels_);
    soilPanels_.Add(other.soilPanels_);
    settlements_.Add(other.settlements_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          SceneId = input.ReadInt32();
          break;
        }
        case 42: {
          if (bandwidth_ == null) {
            bandwidth_ = new global::ScdFactorySyncSceneBandwidth();
          }
          input.ReadMessage(bandwidth_);
          break;
        }
        case 50: {
          panels_.AddEntriesFrom(input, _repeated_panels_codec);
          break;
        }
        case 58: {
          soilPanels_.AddEntriesFrom(input, _repeated_soilPanels_codec);
          break;
        }
        case 82: {
          settlements_.AddEntriesFrom(input, _map_settlements_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFactorySyncSceneBandwidth : pb::IMessage<ScdFactorySyncSceneBandwidth> {
  private static readonly pb::MessageParser<ScdFactorySyncSceneBandwidth> _parser = new pb::MessageParser<ScdFactorySyncSceneBandwidth>(() => new ScdFactorySyncSceneBandwidth());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactorySyncSceneBandwidth> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[468]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactorySyncSceneBandwidth() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactorySyncSceneBandwidth(ScdFactorySyncSceneBandwidth other) : this() {
    current_ = other.current_;
    max_ = other.max_;
    travelPoleCurrent_ = other.travelPoleCurrent_;
    travelPoleMax_ = other.travelPoleMax_;
    battleCurrent_ = other.battleCurrent_;
    battleMax_ = other.battleMax_;
    spCurrent_ = other.spCurrent_;
    spMax_ = other.spMax_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactorySyncSceneBandwidth Clone() {
    return new ScdFactorySyncSceneBandwidth(this);
  }

  /// <summary>Field number for the "current" field.</summary>
  public const int CurrentFieldNumber = 1;
  private int current_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Current {
    get { return current_; }
    set {
      current_ = value;
    }
  }

  /// <summary>Field number for the "max" field.</summary>
  public const int MaxFieldNumber = 2;
  private int max_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Max {
    get { return max_; }
    set {
      max_ = value;
    }
  }

  /// <summary>Field number for the "travel_pole_current" field.</summary>
  public const int TravelPoleCurrentFieldNumber = 3;
  private int travelPoleCurrent_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int TravelPoleCurrent {
    get { return travelPoleCurrent_; }
    set {
      travelPoleCurrent_ = value;
    }
  }

  /// <summary>Field number for the "travel_pole_max" field.</summary>
  public const int TravelPoleMaxFieldNumber = 4;
  private int travelPoleMax_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int TravelPoleMax {
    get { return travelPoleMax_; }
    set {
      travelPoleMax_ = value;
    }
  }

  /// <summary>Field number for the "battle_current" field.</summary>
  public const int BattleCurrentFieldNumber = 5;
  private int battleCurrent_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int BattleCurrent {
    get { return battleCurrent_; }
    set {
      battleCurrent_ = value;
    }
  }

  /// <summary>Field number for the "battle_max" field.</summary>
  public const int BattleMaxFieldNumber = 6;
  private int battleMax_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int BattleMax {
    get { return battleMax_; }
    set {
      battleMax_ = value;
    }
  }

  /// <summary>Field number for the "sp_current" field.</summary>
  public const int SpCurrentFieldNumber = 11;
  private int spCurrent_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int SpCurrent {
    get { return spCurrent_; }
    set {
      spCurrent_ = value;
    }
  }

  /// <summary>Field number for the "sp_max" field.</summary>
  public const int SpMaxFieldNumber = 12;
  private int spMax_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int SpMax {
    get { return spMax_; }
    set {
      spMax_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactorySyncSceneBandwidth);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactorySyncSceneBandwidth other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Current != other.Current) return false;
    if (Max != other.Max) return false;
    if (TravelPoleCurrent != other.TravelPoleCurrent) return false;
    if (TravelPoleMax != other.TravelPoleMax) return false;
    if (BattleCurrent != other.BattleCurrent) return false;
    if (BattleMax != other.BattleMax) return false;
    if (SpCurrent != other.SpCurrent) return false;
    if (SpMax != other.SpMax) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Current != 0) hash ^= Current.GetHashCode();
    if (Max != 0) hash ^= Max.GetHashCode();
    if (TravelPoleCurrent != 0) hash ^= TravelPoleCurrent.GetHashCode();
    if (TravelPoleMax != 0) hash ^= TravelPoleMax.GetHashCode();
    if (BattleCurrent != 0) hash ^= BattleCurrent.GetHashCode();
    if (BattleMax != 0) hash ^= BattleMax.GetHashCode();
    if (SpCurrent != 0) hash ^= SpCurrent.GetHashCode();
    if (SpMax != 0) hash ^= SpMax.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Current != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(Current);
    }
    if (Max != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(Max);
    }
    if (TravelPoleCurrent != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(TravelPoleCurrent);
    }
    if (TravelPoleMax != 0) {
      output.WriteRawTag(32);
      output.WriteInt32(TravelPoleMax);
    }
    if (BattleCurrent != 0) {
      output.WriteRawTag(40);
      output.WriteInt32(BattleCurrent);
    }
    if (BattleMax != 0) {
      output.WriteRawTag(48);
      output.WriteInt32(BattleMax);
    }
    if (SpCurrent != 0) {
      output.WriteRawTag(88);
      output.WriteInt32(SpCurrent);
    }
    if (SpMax != 0) {
      output.WriteRawTag(96);
      output.WriteInt32(SpMax);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Current != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Current);
    }
    if (Max != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Max);
    }
    if (TravelPoleCurrent != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(TravelPoleCurrent);
    }
    if (TravelPoleMax != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(TravelPoleMax);
    }
    if (BattleCurrent != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(BattleCurrent);
    }
    if (BattleMax != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(BattleMax);
    }
    if (SpCurrent != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(SpCurrent);
    }
    if (SpMax != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(SpMax);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactorySyncSceneBandwidth other) {
    if (other == null) {
      return;
    }
    if (other.Current != 0) {
      Current = other.Current;
    }
    if (other.Max != 0) {
      Max = other.Max;
    }
    if (other.TravelPoleCurrent != 0) {
      TravelPoleCurrent = other.TravelPoleCurrent;
    }
    if (other.TravelPoleMax != 0) {
      TravelPoleMax = other.TravelPoleMax;
    }
    if (other.BattleCurrent != 0) {
      BattleCurrent = other.BattleCurrent;
    }
    if (other.BattleMax != 0) {
      BattleMax = other.BattleMax;
    }
    if (other.SpCurrent != 0) {
      SpCurrent = other.SpCurrent;
    }
    if (other.SpMax != 0) {
      SpMax = other.SpMax;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Current = input.ReadInt32();
          break;
        }
        case 16: {
          Max = input.ReadInt32();
          break;
        }
        case 24: {
          TravelPoleCurrent = input.ReadInt32();
          break;
        }
        case 32: {
          TravelPoleMax = input.ReadInt32();
          break;
        }
        case 40: {
          BattleCurrent = input.ReadInt32();
          break;
        }
        case 48: {
          BattleMax = input.ReadInt32();
          break;
        }
        case 88: {
          SpCurrent = input.ReadInt32();
          break;
        }
        case 96: {
          SpMax = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFactorySyncScenePanel : pb::IMessage<ScdFactorySyncScenePanel> {
  private static readonly pb::MessageParser<ScdFactorySyncScenePanel> _parser = new pb::MessageParser<ScdFactorySyncScenePanel>(() => new ScdFactorySyncScenePanel());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactorySyncScenePanel> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[469]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactorySyncScenePanel() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactorySyncScenePanel(ScdFactorySyncScenePanel other) : this() {
    index_ = other.index_;
    level_ = other.level_;
    mainMesh_ = other.mainMesh_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactorySyncScenePanel Clone() {
    return new ScdFactorySyncScenePanel(this);
  }

  /// <summary>Field number for the "index" field.</summary>
  public const int IndexFieldNumber = 1;
  private int index_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Index {
    get { return index_; }
    set {
      index_ = value;
    }
  }

  /// <summary>Field number for the "level" field.</summary>
  public const int LevelFieldNumber = 2;
  private int level_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Level {
    get { return level_; }
    set {
      level_ = value;
    }
  }

  /// <summary>Field number for the "main_mesh" field.</summary>
  public const int MainMeshFieldNumber = 3;
  private static readonly pb::FieldCodec<global::ScdRectInt> _repeated_mainMesh_codec
      = pb::FieldCodec.ForMessage(26, global::ScdRectInt.Parser);
  private readonly pbc::RepeatedField<global::ScdRectInt> mainMesh_ = new pbc::RepeatedField<global::ScdRectInt>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdRectInt> MainMesh {
    get { return mainMesh_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactorySyncScenePanel);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactorySyncScenePanel other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Index != other.Index) return false;
    if (Level != other.Level) return false;
    if(!mainMesh_.Equals(other.mainMesh_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Index != 0) hash ^= Index.GetHashCode();
    if (Level != 0) hash ^= Level.GetHashCode();
    hash ^= mainMesh_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Index != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(Index);
    }
    if (Level != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(Level);
    }
    mainMesh_.WriteTo(output, _repeated_mainMesh_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Index != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Index);
    }
    if (Level != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Level);
    }
    size += mainMesh_.CalculateSize(_repeated_mainMesh_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactorySyncScenePanel other) {
    if (other == null) {
      return;
    }
    if (other.Index != 0) {
      Index = other.Index;
    }
    if (other.Level != 0) {
      Level = other.Level;
    }
    mainMesh_.Add(other.mainMesh_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Index = input.ReadInt32();
          break;
        }
        case 16: {
          Level = input.ReadInt32();
          break;
        }
        case 26: {
          mainMesh_.AddEntriesFrom(input, _repeated_mainMesh_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFactorySyncMap : pb::IMessage<ScdFactorySyncMap> {
  private static readonly pb::MessageParser<ScdFactorySyncMap> _parser = new pb::MessageParser<ScdFactorySyncMap>(() => new ScdFactorySyncMap());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactorySyncMap> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[470]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactorySyncMap() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactorySyncMap(ScdFactorySyncMap other) : this() {
    mapId_ = other.mapId_;
    wires_ = other.wires_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactorySyncMap Clone() {
    return new ScdFactorySyncMap(this);
  }

  /// <summary>Field number for the "map_id" field.</summary>
  public const int MapIdFieldNumber = 1;
  private int mapId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int MapId {
    get { return mapId_; }
    set {
      mapId_ = value;
    }
  }

  /// <summary>Field number for the "wires" field.</summary>
  public const int WiresFieldNumber = 2;
  private static readonly pb::FieldCodec<global::ScdFactorySyncMapWire> _repeated_wires_codec
      = pb::FieldCodec.ForMessage(18, global::ScdFactorySyncMapWire.Parser);
  private readonly pbc::RepeatedField<global::ScdFactorySyncMapWire> wires_ = new pbc::RepeatedField<global::ScdFactorySyncMapWire>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdFactorySyncMapWire> Wires {
    get { return wires_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactorySyncMap);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactorySyncMap other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (MapId != other.MapId) return false;
    if(!wires_.Equals(other.wires_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (MapId != 0) hash ^= MapId.GetHashCode();
    hash ^= wires_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (MapId != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(MapId);
    }
    wires_.WriteTo(output, _repeated_wires_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (MapId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(MapId);
    }
    size += wires_.CalculateSize(_repeated_wires_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactorySyncMap other) {
    if (other == null) {
      return;
    }
    if (other.MapId != 0) {
      MapId = other.MapId;
    }
    wires_.Add(other.wires_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          MapId = input.ReadInt32();
          break;
        }
        case 18: {
          wires_.AddEntriesFrom(input, _repeated_wires_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFactorySyncMapWire : pb::IMessage<ScdFactorySyncMapWire> {
  private static readonly pb::MessageParser<ScdFactorySyncMapWire> _parser = new pb::MessageParser<ScdFactorySyncMapWire>(() => new ScdFactorySyncMapWire());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactorySyncMapWire> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[471]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactorySyncMapWire() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactorySyncMapWire(ScdFactorySyncMapWire other) : this() {
    index_ = other.index_;
    fromComId_ = other.fromComId_;
    toComId_ = other.toComId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactorySyncMapWire Clone() {
    return new ScdFactorySyncMapWire(this);
  }

  /// <summary>Field number for the "index" field.</summary>
  public const int IndexFieldNumber = 1;
  private ulong index_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong Index {
    get { return index_; }
    set {
      index_ = value;
    }
  }

  /// <summary>Field number for the "from_com_id" field.</summary>
  public const int FromComIdFieldNumber = 2;
  private ulong fromComId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong FromComId {
    get { return fromComId_; }
    set {
      fromComId_ = value;
    }
  }

  /// <summary>Field number for the "to_com_id" field.</summary>
  public const int ToComIdFieldNumber = 3;
  private ulong toComId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong ToComId {
    get { return toComId_; }
    set {
      toComId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactorySyncMapWire);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactorySyncMapWire other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Index != other.Index) return false;
    if (FromComId != other.FromComId) return false;
    if (ToComId != other.ToComId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Index != 0UL) hash ^= Index.GetHashCode();
    if (FromComId != 0UL) hash ^= FromComId.GetHashCode();
    if (ToComId != 0UL) hash ^= ToComId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Index != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(Index);
    }
    if (FromComId != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(FromComId);
    }
    if (ToComId != 0UL) {
      output.WriteRawTag(24);
      output.WriteUInt64(ToComId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Index != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(Index);
    }
    if (FromComId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(FromComId);
    }
    if (ToComId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(ToComId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactorySyncMapWire other) {
    if (other == null) {
      return;
    }
    if (other.Index != 0UL) {
      Index = other.Index;
    }
    if (other.FromComId != 0UL) {
      FromComId = other.FromComId;
    }
    if (other.ToComId != 0UL) {
      ToComId = other.ToComId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Index = input.ReadUInt64();
          break;
        }
        case 16: {
          FromComId = input.ReadUInt64();
          break;
        }
        case 24: {
          ToComId = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFactorySyncBlackboard : pb::IMessage<ScdFactorySyncBlackboard> {
  private static readonly pb::MessageParser<ScdFactorySyncBlackboard> _parser = new pb::MessageParser<ScdFactorySyncBlackboard>(() => new ScdFactorySyncBlackboard());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactorySyncBlackboard> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[472]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactorySyncBlackboard() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactorySyncBlackboard(ScdFactorySyncBlackboard other) : this() {
    inventoryNodeId_ = other.inventoryNodeId_;
    power_ = other.power_ != null ? other.power_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactorySyncBlackboard Clone() {
    return new ScdFactorySyncBlackboard(this);
  }

  /// <summary>Field number for the "inventory_node_id" field.</summary>
  public const int InventoryNodeIdFieldNumber = 1;
  private uint inventoryNodeId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint InventoryNodeId {
    get { return inventoryNodeId_; }
    set {
      inventoryNodeId_ = value;
    }
  }

  /// <summary>Field number for the "power" field.</summary>
  public const int PowerFieldNumber = 11;
  private global::ScdFactorySyncBlackboardPower power_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactorySyncBlackboardPower Power {
    get { return power_; }
    set {
      power_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactorySyncBlackboard);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactorySyncBlackboard other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (InventoryNodeId != other.InventoryNodeId) return false;
    if (!object.Equals(Power, other.Power)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (InventoryNodeId != 0) hash ^= InventoryNodeId.GetHashCode();
    if (power_ != null) hash ^= Power.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (InventoryNodeId != 0) {
      output.WriteRawTag(8);
      output.WriteUInt32(InventoryNodeId);
    }
    if (power_ != null) {
      output.WriteRawTag(90);
      output.WriteMessage(Power);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (InventoryNodeId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(InventoryNodeId);
    }
    if (power_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Power);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactorySyncBlackboard other) {
    if (other == null) {
      return;
    }
    if (other.InventoryNodeId != 0) {
      InventoryNodeId = other.InventoryNodeId;
    }
    if (other.power_ != null) {
      if (power_ == null) {
        power_ = new global::ScdFactorySyncBlackboardPower();
      }
      Power.MergeFrom(other.Power);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          InventoryNodeId = input.ReadUInt32();
          break;
        }
        case 90: {
          if (power_ == null) {
            power_ = new global::ScdFactorySyncBlackboardPower();
          }
          input.ReadMessage(power_);
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFactorySyncBlackboardPower : pb::IMessage<ScdFactorySyncBlackboardPower> {
  private static readonly pb::MessageParser<ScdFactorySyncBlackboardPower> _parser = new pb::MessageParser<ScdFactorySyncBlackboardPower>(() => new ScdFactorySyncBlackboardPower());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactorySyncBlackboardPower> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[473]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactorySyncBlackboardPower() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactorySyncBlackboardPower(ScdFactorySyncBlackboardPower other) : this() {
    powerCost_ = other.powerCost_;
    powerGen_ = other.powerGen_;
    powerSaveMax_ = other.powerSaveMax_;
    powerSaveCurrent_ = other.powerSaveCurrent_;
    isStopByPower_ = other.isStopByPower_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactorySyncBlackboardPower Clone() {
    return new ScdFactorySyncBlackboardPower(this);
  }

  /// <summary>Field number for the "power_cost" field.</summary>
  public const int PowerCostFieldNumber = 1;
  private long powerCost_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long PowerCost {
    get { return powerCost_; }
    set {
      powerCost_ = value;
    }
  }

  /// <summary>Field number for the "power_gen" field.</summary>
  public const int PowerGenFieldNumber = 2;
  private long powerGen_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long PowerGen {
    get { return powerGen_; }
    set {
      powerGen_ = value;
    }
  }

  /// <summary>Field number for the "power_save_max" field.</summary>
  public const int PowerSaveMaxFieldNumber = 3;
  private long powerSaveMax_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long PowerSaveMax {
    get { return powerSaveMax_; }
    set {
      powerSaveMax_ = value;
    }
  }

  /// <summary>Field number for the "power_save_current" field.</summary>
  public const int PowerSaveCurrentFieldNumber = 4;
  private long powerSaveCurrent_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long PowerSaveCurrent {
    get { return powerSaveCurrent_; }
    set {
      powerSaveCurrent_ = value;
    }
  }

  /// <summary>Field number for the "is_stop_by_power" field.</summary>
  public const int IsStopByPowerFieldNumber = 5;
  private bool isStopByPower_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool IsStopByPower {
    get { return isStopByPower_; }
    set {
      isStopByPower_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactorySyncBlackboardPower);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactorySyncBlackboardPower other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (PowerCost != other.PowerCost) return false;
    if (PowerGen != other.PowerGen) return false;
    if (PowerSaveMax != other.PowerSaveMax) return false;
    if (PowerSaveCurrent != other.PowerSaveCurrent) return false;
    if (IsStopByPower != other.IsStopByPower) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (PowerCost != 0L) hash ^= PowerCost.GetHashCode();
    if (PowerGen != 0L) hash ^= PowerGen.GetHashCode();
    if (PowerSaveMax != 0L) hash ^= PowerSaveMax.GetHashCode();
    if (PowerSaveCurrent != 0L) hash ^= PowerSaveCurrent.GetHashCode();
    if (IsStopByPower != false) hash ^= IsStopByPower.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (PowerCost != 0L) {
      output.WriteRawTag(8);
      output.WriteInt64(PowerCost);
    }
    if (PowerGen != 0L) {
      output.WriteRawTag(16);
      output.WriteInt64(PowerGen);
    }
    if (PowerSaveMax != 0L) {
      output.WriteRawTag(24);
      output.WriteInt64(PowerSaveMax);
    }
    if (PowerSaveCurrent != 0L) {
      output.WriteRawTag(32);
      output.WriteInt64(PowerSaveCurrent);
    }
    if (IsStopByPower != false) {
      output.WriteRawTag(40);
      output.WriteBool(IsStopByPower);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (PowerCost != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(PowerCost);
    }
    if (PowerGen != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(PowerGen);
    }
    if (PowerSaveMax != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(PowerSaveMax);
    }
    if (PowerSaveCurrent != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(PowerSaveCurrent);
    }
    if (IsStopByPower != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactorySyncBlackboardPower other) {
    if (other == null) {
      return;
    }
    if (other.PowerCost != 0L) {
      PowerCost = other.PowerCost;
    }
    if (other.PowerGen != 0L) {
      PowerGen = other.PowerGen;
    }
    if (other.PowerSaveMax != 0L) {
      PowerSaveMax = other.PowerSaveMax;
    }
    if (other.PowerSaveCurrent != 0L) {
      PowerSaveCurrent = other.PowerSaveCurrent;
    }
    if (other.IsStopByPower != false) {
      IsStopByPower = other.IsStopByPower;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          PowerCost = input.ReadInt64();
          break;
        }
        case 16: {
          PowerGen = input.ReadInt64();
          break;
        }
        case 24: {
          PowerSaveMax = input.ReadInt64();
          break;
        }
        case 32: {
          PowerSaveCurrent = input.ReadInt64();
          break;
        }
        case 40: {
          IsStopByPower = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFactoryStatisticLastday : pb::IMessage<ScdFactoryStatisticLastday> {
  private static readonly pb::MessageParser<ScdFactoryStatisticLastday> _parser = new pb::MessageParser<ScdFactoryStatisticLastday>(() => new ScdFactoryStatisticLastday());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactoryStatisticLastday> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[474]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryStatisticLastday() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryStatisticLastday(ScdFactoryStatisticLastday other) : this() {
    days_ = other.days_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryStatisticLastday Clone() {
    return new ScdFactoryStatisticLastday(this);
  }

  /// <summary>Field number for the "days" field.</summary>
  public const int DaysFieldNumber = 1;
  private static readonly pb::FieldCodec<global::ScdFactoryStatisticLastdayDay> _repeated_days_codec
      = pb::FieldCodec.ForMessage(10, global::ScdFactoryStatisticLastdayDay.Parser);
  private readonly pbc::RepeatedField<global::ScdFactoryStatisticLastdayDay> days_ = new pbc::RepeatedField<global::ScdFactoryStatisticLastdayDay>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdFactoryStatisticLastdayDay> Days {
    get { return days_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactoryStatisticLastday);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactoryStatisticLastday other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!days_.Equals(other.days_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= days_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    days_.WriteTo(output, _repeated_days_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += days_.CalculateSize(_repeated_days_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactoryStatisticLastday other) {
    if (other == null) {
      return;
    }
    days_.Add(other.days_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          days_.AddEntriesFrom(input, _repeated_days_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFactoryStatisticLastdayDay : pb::IMessage<ScdFactoryStatisticLastdayDay> {
  private static readonly pb::MessageParser<ScdFactoryStatisticLastdayDay> _parser = new pb::MessageParser<ScdFactoryStatisticLastdayDay>(() => new ScdFactoryStatisticLastdayDay());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactoryStatisticLastdayDay> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[475]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryStatisticLastdayDay() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryStatisticLastdayDay(ScdFactoryStatisticLastdayDay other) : this() {
    dayTs_ = other.dayTs_;
    fromProductivity_ = other.fromProductivity_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryStatisticLastdayDay Clone() {
    return new ScdFactoryStatisticLastdayDay(this);
  }

  /// <summary>Field number for the "day_ts" field.</summary>
  public const int DayTsFieldNumber = 1;
  private long dayTs_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long DayTs {
    get { return dayTs_; }
    set {
      dayTs_ = value;
    }
  }

  /// <summary>Field number for the "from_productivity" field.</summary>
  public const int FromProductivityFieldNumber = 2;
  private static readonly pbc::MapField<string, long>.Codec _map_fromProductivity_codec
      = new pbc::MapField<string, long>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForInt64(16), 18);
  private readonly pbc::MapField<string, long> fromProductivity_ = new pbc::MapField<string, long>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<string, long> FromProductivity {
    get { return fromProductivity_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactoryStatisticLastdayDay);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactoryStatisticLastdayDay other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (DayTs != other.DayTs) return false;
    if (!FromProductivity.Equals(other.FromProductivity)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (DayTs != 0L) hash ^= DayTs.GetHashCode();
    hash ^= FromProductivity.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (DayTs != 0L) {
      output.WriteRawTag(8);
      output.WriteInt64(DayTs);
    }
    fromProductivity_.WriteTo(output, _map_fromProductivity_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (DayTs != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(DayTs);
    }
    size += fromProductivity_.CalculateSize(_map_fromProductivity_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactoryStatisticLastdayDay other) {
    if (other == null) {
      return;
    }
    if (other.DayTs != 0L) {
      DayTs = other.DayTs;
    }
    fromProductivity_.Add(other.fromProductivity_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          DayTs = input.ReadInt64();
          break;
        }
        case 18: {
          fromProductivity_.AddEntriesFrom(input, _map_fromProductivity_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFactoryStatisticOther : pb::IMessage<ScdFactoryStatisticOther> {
  private static readonly pb::MessageParser<ScdFactoryStatisticOther> _parser = new pb::MessageParser<ScdFactoryStatisticOther>(() => new ScdFactoryStatisticOther());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactoryStatisticOther> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[476]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryStatisticOther() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryStatisticOther(ScdFactoryStatisticOther other) : this() {
    powerNetLengthSum_ = other.powerNetLengthSum_;
    inPowerBuilding_ = other.inPowerBuilding_;
    powerNetCoverage_ = other.powerNetCoverage_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryStatisticOther Clone() {
    return new ScdFactoryStatisticOther(this);
  }

  /// <summary>Field number for the "power_net_length_sum" field.</summary>
  public const int PowerNetLengthSumFieldNumber = 1;
  private int powerNetLengthSum_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int PowerNetLengthSum {
    get { return powerNetLengthSum_; }
    set {
      powerNetLengthSum_ = value;
    }
  }

  /// <summary>Field number for the "in_power_building" field.</summary>
  public const int InPowerBuildingFieldNumber = 2;
  private int inPowerBuilding_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int InPowerBuilding {
    get { return inPowerBuilding_; }
    set {
      inPowerBuilding_ = value;
    }
  }

  /// <summary>Field number for the "power_net_coverage" field.</summary>
  public const int PowerNetCoverageFieldNumber = 3;
  private float powerNetCoverage_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public float PowerNetCoverage {
    get { return powerNetCoverage_; }
    set {
      powerNetCoverage_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactoryStatisticOther);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactoryStatisticOther other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (PowerNetLengthSum != other.PowerNetLengthSum) return false;
    if (InPowerBuilding != other.InPowerBuilding) return false;
    if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(PowerNetCoverage, other.PowerNetCoverage)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (PowerNetLengthSum != 0) hash ^= PowerNetLengthSum.GetHashCode();
    if (InPowerBuilding != 0) hash ^= InPowerBuilding.GetHashCode();
    if (PowerNetCoverage != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(PowerNetCoverage);
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (PowerNetLengthSum != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(PowerNetLengthSum);
    }
    if (InPowerBuilding != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(InPowerBuilding);
    }
    if (PowerNetCoverage != 0F) {
      output.WriteRawTag(29);
      output.WriteFloat(PowerNetCoverage);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (PowerNetLengthSum != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(PowerNetLengthSum);
    }
    if (InPowerBuilding != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(InPowerBuilding);
    }
    if (PowerNetCoverage != 0F) {
      size += 1 + 4;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactoryStatisticOther other) {
    if (other == null) {
      return;
    }
    if (other.PowerNetLengthSum != 0) {
      PowerNetLengthSum = other.PowerNetLengthSum;
    }
    if (other.InPowerBuilding != 0) {
      InPowerBuilding = other.InPowerBuilding;
    }
    if (other.PowerNetCoverage != 0F) {
      PowerNetCoverage = other.PowerNetCoverage;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          PowerNetLengthSum = input.ReadInt32();
          break;
        }
        case 16: {
          InPowerBuilding = input.ReadInt32();
          break;
        }
        case 29: {
          PowerNetCoverage = input.ReadFloat();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFactoryStatisticRecord : pb::IMessage<ScdFactoryStatisticRecord> {
  private static readonly pb::MessageParser<ScdFactoryStatisticRecord> _parser = new pb::MessageParser<ScdFactoryStatisticRecord>(() => new ScdFactoryStatisticRecord());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactoryStatisticRecord> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[477]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryStatisticRecord() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryStatisticRecord(ScdFactoryStatisticRecord other) : this() {
    rank_ = other.rank_;
    pointsGen_ = other.pointsGen_.Clone();
    pointsCost_ = other.pointsCost_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryStatisticRecord Clone() {
    return new ScdFactoryStatisticRecord(this);
  }

  /// <summary>Field number for the "rank" field.</summary>
  public const int RankFieldNumber = 1;
  private int rank_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Rank {
    get { return rank_; }
    set {
      rank_ = value;
    }
  }

  /// <summary>Field number for the "points_gen" field.</summary>
  public const int PointsGenFieldNumber = 2;
  private static readonly pb::FieldCodec<long> _repeated_pointsGen_codec
      = pb::FieldCodec.ForInt64(18);
  private readonly pbc::RepeatedField<long> pointsGen_ = new pbc::RepeatedField<long>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<long> PointsGen {
    get { return pointsGen_; }
  }

  /// <summary>Field number for the "points_cost" field.</summary>
  public const int PointsCostFieldNumber = 3;
  private static readonly pb::FieldCodec<long> _repeated_pointsCost_codec
      = pb::FieldCodec.ForInt64(26);
  private readonly pbc::RepeatedField<long> pointsCost_ = new pbc::RepeatedField<long>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<long> PointsCost {
    get { return pointsCost_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactoryStatisticRecord);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactoryStatisticRecord other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Rank != other.Rank) return false;
    if(!pointsGen_.Equals(other.pointsGen_)) return false;
    if(!pointsCost_.Equals(other.pointsCost_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Rank != 0) hash ^= Rank.GetHashCode();
    hash ^= pointsGen_.GetHashCode();
    hash ^= pointsCost_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Rank != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(Rank);
    }
    pointsGen_.WriteTo(output, _repeated_pointsGen_codec);
    pointsCost_.WriteTo(output, _repeated_pointsCost_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Rank != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Rank);
    }
    size += pointsGen_.CalculateSize(_repeated_pointsGen_codec);
    size += pointsCost_.CalculateSize(_repeated_pointsCost_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactoryStatisticRecord other) {
    if (other == null) {
      return;
    }
    if (other.Rank != 0) {
      Rank = other.Rank;
    }
    pointsGen_.Add(other.pointsGen_);
    pointsCost_.Add(other.pointsCost_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Rank = input.ReadInt32();
          break;
        }
        case 18:
        case 16: {
          pointsGen_.AddEntriesFrom(input, _repeated_pointsGen_codec);
          break;
        }
        case 26:
        case 24: {
          pointsCost_.AddEntriesFrom(input, _repeated_pointsCost_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFactorySyncPinBoard : pb::IMessage<ScdFactorySyncPinBoard> {
  private static readonly pb::MessageParser<ScdFactorySyncPinBoard> _parser = new pb::MessageParser<ScdFactorySyncPinBoard>(() => new ScdFactorySyncPinBoard());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactorySyncPinBoard> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[478]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactorySyncPinBoard() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactorySyncPinBoard(ScdFactorySyncPinBoard other) : this() {
    cards_ = other.cards_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactorySyncPinBoard Clone() {
    return new ScdFactorySyncPinBoard(this);
  }

  /// <summary>Field number for the "cards" field.</summary>
  public const int CardsFieldNumber = 1;
  private static readonly pb::FieldCodec<global::ScdFactoryPinCard> _repeated_cards_codec
      = pb::FieldCodec.ForMessage(10, global::ScdFactoryPinCard.Parser);
  private readonly pbc::RepeatedField<global::ScdFactoryPinCard> cards_ = new pbc::RepeatedField<global::ScdFactoryPinCard>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdFactoryPinCard> Cards {
    get { return cards_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactorySyncPinBoard);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactorySyncPinBoard other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!cards_.Equals(other.cards_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= cards_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    cards_.WriteTo(output, _repeated_cards_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += cards_.CalculateSize(_repeated_cards_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactorySyncPinBoard other) {
    if (other == null) {
      return;
    }
    cards_.Add(other.cards_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          cards_.AddEntriesFrom(input, _repeated_cards_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFactoryPinCard : pb::IMessage<ScdFactoryPinCard> {
  private static readonly pb::MessageParser<ScdFactoryPinCard> _parser = new pb::MessageParser<ScdFactoryPinCard>(() => new ScdFactoryPinCard());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactoryPinCard> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[479]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryPinCard() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryPinCard(ScdFactoryPinCard other) : this() {
    pos_ = other.pos_;
    strId_ = other.strId_;
    numId_ = other.numId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryPinCard Clone() {
    return new ScdFactoryPinCard(this);
  }

  /// <summary>Field number for the "pos" field.</summary>
  public const int PosFieldNumber = 1;
  private int pos_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Pos {
    get { return pos_; }
    set {
      pos_ = value;
    }
  }

  /// <summary>Field number for the "str_id" field.</summary>
  public const int StrIdFieldNumber = 2;
  private string strId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string StrId {
    get { return strId_; }
    set {
      strId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "num_id" field.</summary>
  public const int NumIdFieldNumber = 3;
  private ulong numId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong NumId {
    get { return numId_; }
    set {
      numId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactoryPinCard);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactoryPinCard other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Pos != other.Pos) return false;
    if (StrId != other.StrId) return false;
    if (NumId != other.NumId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Pos != 0) hash ^= Pos.GetHashCode();
    if (StrId.Length != 0) hash ^= StrId.GetHashCode();
    if (NumId != 0UL) hash ^= NumId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Pos != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(Pos);
    }
    if (StrId.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(StrId);
    }
    if (NumId != 0UL) {
      output.WriteRawTag(24);
      output.WriteUInt64(NumId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Pos != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Pos);
    }
    if (StrId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(StrId);
    }
    if (NumId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(NumId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactoryPinCard other) {
    if (other == null) {
      return;
    }
    if (other.Pos != 0) {
      Pos = other.Pos;
    }
    if (other.StrId.Length != 0) {
      StrId = other.StrId;
    }
    if (other.NumId != 0UL) {
      NumId = other.NumId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Pos = input.ReadInt32();
          break;
        }
        case 18: {
          StrId = input.ReadString();
          break;
        }
        case 24: {
          NumId = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class ScFactorySyncChapter : pb::IMessage<ScFactorySyncChapter> {
  private static readonly pb::MessageParser<ScFactorySyncChapter> _parser = new pb::MessageParser<ScFactorySyncChapter>(() => new ScFactorySyncChapter());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScFactorySyncChapter> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[480]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactorySyncChapter() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactorySyncChapter(ScFactorySyncChapter other) : this() {
    tms_ = other.tms_;
    chapterId_ = other.chapterId_;
    nodes_ = other.nodes_.Clone();
    scenes_ = other.scenes_.Clone();
    blackboard_ = other.blackboard_ != null ? other.blackboard_.Clone() : null;
    pinBoard_ = other.pinBoard_ != null ? other.pinBoard_.Clone() : null;
    maps_ = other.maps_.Clone();
    statistic_ = other.statistic_ != null ? other.statistic_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactorySyncChapter Clone() {
    return new ScFactorySyncChapter(this);
  }

  /// <summary>Field number for the "tms" field.</summary>
  public const int TmsFieldNumber = 1;
  private long tms_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long Tms {
    get { return tms_; }
    set {
      tms_ = value;
    }
  }

  /// <summary>Field number for the "chapter_id" field.</summary>
  public const int ChapterIdFieldNumber = 2;
  private string chapterId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ChapterId {
    get { return chapterId_; }
    set {
      chapterId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "nodes" field.</summary>
  public const int NodesFieldNumber = 3;
  private static readonly pb::FieldCodec<global::ScdFacNode> _repeated_nodes_codec
      = pb::FieldCodec.ForMessage(26, global::ScdFacNode.Parser);
  private readonly pbc::RepeatedField<global::ScdFacNode> nodes_ = new pbc::RepeatedField<global::ScdFacNode>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdFacNode> Nodes {
    get { return nodes_; }
  }

  /// <summary>Field number for the "scenes" field.</summary>
  public const int ScenesFieldNumber = 4;
  private static readonly pb::FieldCodec<global::ScdFactorySyncScene> _repeated_scenes_codec
      = pb::FieldCodec.ForMessage(34, global::ScdFactorySyncScene.Parser);
  private readonly pbc::RepeatedField<global::ScdFactorySyncScene> scenes_ = new pbc::RepeatedField<global::ScdFactorySyncScene>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdFactorySyncScene> Scenes {
    get { return scenes_; }
  }

  /// <summary>Field number for the "blackboard" field.</summary>
  public const int BlackboardFieldNumber = 5;
  private global::ScdFactorySyncBlackboard blackboard_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactorySyncBlackboard Blackboard {
    get { return blackboard_; }
    set {
      blackboard_ = value;
    }
  }

  /// <summary>Field number for the "pin_board" field.</summary>
  public const int PinBoardFieldNumber = 6;
  private global::ScdFactorySyncPinBoard pinBoard_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactorySyncPinBoard PinBoard {
    get { return pinBoard_; }
    set {
      pinBoard_ = value;
    }
  }

  /// <summary>Field number for the "maps" field.</summary>
  public const int MapsFieldNumber = 7;
  private static readonly pb::FieldCodec<global::ScdFactorySyncMap> _repeated_maps_codec
      = pb::FieldCodec.ForMessage(58, global::ScdFactorySyncMap.Parser);
  private readonly pbc::RepeatedField<global::ScdFactorySyncMap> maps_ = new pbc::RepeatedField<global::ScdFactorySyncMap>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdFactorySyncMap> Maps {
    get { return maps_; }
  }

  /// <summary>Field number for the "statistic" field.</summary>
  public const int StatisticFieldNumber = 9;
  private global::ScdFactorySyncStatistic statistic_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactorySyncStatistic Statistic {
    get { return statistic_; }
    set {
      statistic_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScFactorySyncChapter);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScFactorySyncChapter other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Tms != other.Tms) return false;
    if (ChapterId != other.ChapterId) return false;
    if(!nodes_.Equals(other.nodes_)) return false;
    if(!scenes_.Equals(other.scenes_)) return false;
    if (!object.Equals(Blackboard, other.Blackboard)) return false;
    if (!object.Equals(PinBoard, other.PinBoard)) return false;
    if(!maps_.Equals(other.maps_)) return false;
    if (!object.Equals(Statistic, other.Statistic)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Tms != 0L) hash ^= Tms.GetHashCode();
    if (ChapterId.Length != 0) hash ^= ChapterId.GetHashCode();
    hash ^= nodes_.GetHashCode();
    hash ^= scenes_.GetHashCode();
    if (blackboard_ != null) hash ^= Blackboard.GetHashCode();
    if (pinBoard_ != null) hash ^= PinBoard.GetHashCode();
    hash ^= maps_.GetHashCode();
    if (statistic_ != null) hash ^= Statistic.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Tms != 0L) {
      output.WriteRawTag(8);
      output.WriteInt64(Tms);
    }
    if (ChapterId.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(ChapterId);
    }
    nodes_.WriteTo(output, _repeated_nodes_codec);
    scenes_.WriteTo(output, _repeated_scenes_codec);
    if (blackboard_ != null) {
      output.WriteRawTag(42);
      output.WriteMessage(Blackboard);
    }
    if (pinBoard_ != null) {
      output.WriteRawTag(50);
      output.WriteMessage(PinBoard);
    }
    maps_.WriteTo(output, _repeated_maps_codec);
    if (statistic_ != null) {
      output.WriteRawTag(74);
      output.WriteMessage(Statistic);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Tms != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(Tms);
    }
    if (ChapterId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ChapterId);
    }
    size += nodes_.CalculateSize(_repeated_nodes_codec);
    size += scenes_.CalculateSize(_repeated_scenes_codec);
    if (blackboard_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Blackboard);
    }
    if (pinBoard_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(PinBoard);
    }
    size += maps_.CalculateSize(_repeated_maps_codec);
    if (statistic_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Statistic);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScFactorySyncChapter other) {
    if (other == null) {
      return;
    }
    if (other.Tms != 0L) {
      Tms = other.Tms;
    }
    if (other.ChapterId.Length != 0) {
      ChapterId = other.ChapterId;
    }
    nodes_.Add(other.nodes_);
    scenes_.Add(other.scenes_);
    if (other.blackboard_ != null) {
      if (blackboard_ == null) {
        blackboard_ = new global::ScdFactorySyncBlackboard();
      }
      Blackboard.MergeFrom(other.Blackboard);
    }
    if (other.pinBoard_ != null) {
      if (pinBoard_ == null) {
        pinBoard_ = new global::ScdFactorySyncPinBoard();
      }
      PinBoard.MergeFrom(other.PinBoard);
    }
    maps_.Add(other.maps_);
    if (other.statistic_ != null) {
      if (statistic_ == null) {
        statistic_ = new global::ScdFactorySyncStatistic();
      }
      Statistic.MergeFrom(other.Statistic);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Tms = input.ReadInt64();
          break;
        }
        case 18: {
          ChapterId = input.ReadString();
          break;
        }
        case 26: {
          nodes_.AddEntriesFrom(input, _repeated_nodes_codec);
          break;
        }
        case 34: {
          scenes_.AddEntriesFrom(input, _repeated_scenes_codec);
          break;
        }
        case 42: {
          if (blackboard_ == null) {
            blackboard_ = new global::ScdFactorySyncBlackboard();
          }
          input.ReadMessage(blackboard_);
          break;
        }
        case 50: {
          if (pinBoard_ == null) {
            pinBoard_ = new global::ScdFactorySyncPinBoard();
          }
          input.ReadMessage(pinBoard_);
          break;
        }
        case 58: {
          maps_.AddEntriesFrom(input, _repeated_maps_codec);
          break;
        }
        case 74: {
          if (statistic_ == null) {
            statistic_ = new global::ScdFactorySyncStatistic();
          }
          input.ReadMessage(statistic_);
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFactorySyncStatistic : pb::IMessage<ScdFactorySyncStatistic> {
  private static readonly pb::MessageParser<ScdFactorySyncStatistic> _parser = new pb::MessageParser<ScdFactorySyncStatistic>(() => new ScdFactorySyncStatistic());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactorySyncStatistic> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[481]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactorySyncStatistic() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactorySyncStatistic(ScdFactorySyncStatistic other) : this() {
    other_ = other.other_ != null ? other.other_.Clone() : null;
    lastDay_ = other.lastDay_ != null ? other.lastDay_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactorySyncStatistic Clone() {
    return new ScdFactorySyncStatistic(this);
  }

  /// <summary>Field number for the "other" field.</summary>
  public const int OtherFieldNumber = 3;
  private global::ScdFactoryStatisticOther other_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactoryStatisticOther Other {
    get { return other_; }
    set {
      other_ = value;
    }
  }

  /// <summary>Field number for the "last_day" field.</summary>
  public const int LastDayFieldNumber = 4;
  private global::ScdFactoryStatisticLastday lastDay_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactoryStatisticLastday LastDay {
    get { return lastDay_; }
    set {
      lastDay_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactorySyncStatistic);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactorySyncStatistic other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!object.Equals(Other, other.Other)) return false;
    if (!object.Equals(LastDay, other.LastDay)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (other_ != null) hash ^= Other.GetHashCode();
    if (lastDay_ != null) hash ^= LastDay.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (other_ != null) {
      output.WriteRawTag(26);
      output.WriteMessage(Other);
    }
    if (lastDay_ != null) {
      output.WriteRawTag(34);
      output.WriteMessage(LastDay);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (other_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Other);
    }
    if (lastDay_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(LastDay);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactorySyncStatistic other) {
    if (other == null) {
      return;
    }
    if (other.other_ != null) {
      if (other_ == null) {
        other_ = new global::ScdFactoryStatisticOther();
      }
      Other.MergeFrom(other.Other);
    }
    if (other.lastDay_ != null) {
      if (lastDay_ == null) {
        lastDay_ = new global::ScdFactoryStatisticLastday();
      }
      LastDay.MergeFrom(other.LastDay);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 26: {
          if (other_ == null) {
            other_ = new global::ScdFactoryStatisticOther();
          }
          input.ReadMessage(other_);
          break;
        }
        case 34: {
          if (lastDay_ == null) {
            lastDay_ = new global::ScdFactoryStatisticLastday();
          }
          input.ReadMessage(lastDay_);
          break;
        }
      }
    }
  }

}

public sealed partial class ScFactoryModifyChapterNodes : pb::IMessage<ScFactoryModifyChapterNodes> {
  private static readonly pb::MessageParser<ScFactoryModifyChapterNodes> _parser = new pb::MessageParser<ScFactoryModifyChapterNodes>(() => new ScFactoryModifyChapterNodes());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScFactoryModifyChapterNodes> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[482]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactoryModifyChapterNodes() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactoryModifyChapterNodes(ScFactoryModifyChapterNodes other) : this() {
    tms_ = other.tms_;
    chapterId_ = other.chapterId_;
    nodes_ = other.nodes_.Clone();
    removeNodes_ = other.removeNodes_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactoryModifyChapterNodes Clone() {
    return new ScFactoryModifyChapterNodes(this);
  }

  /// <summary>Field number for the "tms" field.</summary>
  public const int TmsFieldNumber = 1;
  private long tms_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long Tms {
    get { return tms_; }
    set {
      tms_ = value;
    }
  }

  /// <summary>Field number for the "chapter_id" field.</summary>
  public const int ChapterIdFieldNumber = 2;
  private string chapterId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ChapterId {
    get { return chapterId_; }
    set {
      chapterId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "nodes" field.</summary>
  public const int NodesFieldNumber = 3;
  private static readonly pb::FieldCodec<global::ScdFacNode> _repeated_nodes_codec
      = pb::FieldCodec.ForMessage(26, global::ScdFacNode.Parser);
  private readonly pbc::RepeatedField<global::ScdFacNode> nodes_ = new pbc::RepeatedField<global::ScdFacNode>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdFacNode> Nodes {
    get { return nodes_; }
  }

  /// <summary>Field number for the "remove_nodes" field.</summary>
  public const int RemoveNodesFieldNumber = 4;
  private static readonly pb::FieldCodec<uint> _repeated_removeNodes_codec
      = pb::FieldCodec.ForUInt32(34);
  private readonly pbc::RepeatedField<uint> removeNodes_ = new pbc::RepeatedField<uint>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<uint> RemoveNodes {
    get { return removeNodes_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScFactoryModifyChapterNodes);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScFactoryModifyChapterNodes other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Tms != other.Tms) return false;
    if (ChapterId != other.ChapterId) return false;
    if(!nodes_.Equals(other.nodes_)) return false;
    if(!removeNodes_.Equals(other.removeNodes_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Tms != 0L) hash ^= Tms.GetHashCode();
    if (ChapterId.Length != 0) hash ^= ChapterId.GetHashCode();
    hash ^= nodes_.GetHashCode();
    hash ^= removeNodes_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Tms != 0L) {
      output.WriteRawTag(8);
      output.WriteInt64(Tms);
    }
    if (ChapterId.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(ChapterId);
    }
    nodes_.WriteTo(output, _repeated_nodes_codec);
    removeNodes_.WriteTo(output, _repeated_removeNodes_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Tms != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(Tms);
    }
    if (ChapterId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ChapterId);
    }
    size += nodes_.CalculateSize(_repeated_nodes_codec);
    size += removeNodes_.CalculateSize(_repeated_removeNodes_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScFactoryModifyChapterNodes other) {
    if (other == null) {
      return;
    }
    if (other.Tms != 0L) {
      Tms = other.Tms;
    }
    if (other.ChapterId.Length != 0) {
      ChapterId = other.ChapterId;
    }
    nodes_.Add(other.nodes_);
    removeNodes_.Add(other.removeNodes_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Tms = input.ReadInt64();
          break;
        }
        case 18: {
          ChapterId = input.ReadString();
          break;
        }
        case 26: {
          nodes_.AddEntriesFrom(input, _repeated_nodes_codec);
          break;
        }
        case 34:
        case 32: {
          removeNodes_.AddEntriesFrom(input, _repeated_removeNodes_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScFactoryModifyChapterComponents : pb::IMessage<ScFactoryModifyChapterComponents> {
  private static readonly pb::MessageParser<ScFactoryModifyChapterComponents> _parser = new pb::MessageParser<ScFactoryModifyChapterComponents>(() => new ScFactoryModifyChapterComponents());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScFactoryModifyChapterComponents> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[483]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactoryModifyChapterComponents() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactoryModifyChapterComponents(ScFactoryModifyChapterComponents other) : this() {
    tms_ = other.tms_;
    chapterId_ = other.chapterId_;
    components_ = other.components_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactoryModifyChapterComponents Clone() {
    return new ScFactoryModifyChapterComponents(this);
  }

  /// <summary>Field number for the "tms" field.</summary>
  public const int TmsFieldNumber = 1;
  private long tms_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long Tms {
    get { return tms_; }
    set {
      tms_ = value;
    }
  }

  /// <summary>Field number for the "chapter_id" field.</summary>
  public const int ChapterIdFieldNumber = 2;
  private string chapterId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ChapterId {
    get { return chapterId_; }
    set {
      chapterId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "components" field.</summary>
  public const int ComponentsFieldNumber = 3;
  private static readonly pb::FieldCodec<global::ScdFacCom> _repeated_components_codec
      = pb::FieldCodec.ForMessage(26, global::ScdFacCom.Parser);
  private readonly pbc::RepeatedField<global::ScdFacCom> components_ = new pbc::RepeatedField<global::ScdFacCom>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdFacCom> Components {
    get { return components_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScFactoryModifyChapterComponents);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScFactoryModifyChapterComponents other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Tms != other.Tms) return false;
    if (ChapterId != other.ChapterId) return false;
    if(!components_.Equals(other.components_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Tms != 0L) hash ^= Tms.GetHashCode();
    if (ChapterId.Length != 0) hash ^= ChapterId.GetHashCode();
    hash ^= components_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Tms != 0L) {
      output.WriteRawTag(8);
      output.WriteInt64(Tms);
    }
    if (ChapterId.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(ChapterId);
    }
    components_.WriteTo(output, _repeated_components_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Tms != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(Tms);
    }
    if (ChapterId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ChapterId);
    }
    size += components_.CalculateSize(_repeated_components_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScFactoryModifyChapterComponents other) {
    if (other == null) {
      return;
    }
    if (other.Tms != 0L) {
      Tms = other.Tms;
    }
    if (other.ChapterId.Length != 0) {
      ChapterId = other.ChapterId;
    }
    components_.Add(other.components_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Tms = input.ReadInt64();
          break;
        }
        case 18: {
          ChapterId = input.ReadString();
          break;
        }
        case 26: {
          components_.AddEntriesFrom(input, _repeated_components_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScFactoryModifyChapterMap : pb::IMessage<ScFactoryModifyChapterMap> {
  private static readonly pb::MessageParser<ScFactoryModifyChapterMap> _parser = new pb::MessageParser<ScFactoryModifyChapterMap>(() => new ScFactoryModifyChapterMap());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScFactoryModifyChapterMap> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[484]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactoryModifyChapterMap() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactoryModifyChapterMap(ScFactoryModifyChapterMap other) : this() {
    tms_ = other.tms_;
    chapterId_ = other.chapterId_;
    mapId_ = other.mapId_;
    wires_ = other.wires_.Clone();
    removeWires_ = other.removeWires_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactoryModifyChapterMap Clone() {
    return new ScFactoryModifyChapterMap(this);
  }

  /// <summary>Field number for the "tms" field.</summary>
  public const int TmsFieldNumber = 1;
  private long tms_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long Tms {
    get { return tms_; }
    set {
      tms_ = value;
    }
  }

  /// <summary>Field number for the "chapter_id" field.</summary>
  public const int ChapterIdFieldNumber = 2;
  private string chapterId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ChapterId {
    get { return chapterId_; }
    set {
      chapterId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "map_id" field.</summary>
  public const int MapIdFieldNumber = 3;
  private int mapId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int MapId {
    get { return mapId_; }
    set {
      mapId_ = value;
    }
  }

  /// <summary>Field number for the "wires" field.</summary>
  public const int WiresFieldNumber = 11;
  private static readonly pb::FieldCodec<global::ScdFactorySyncMapWire> _repeated_wires_codec
      = pb::FieldCodec.ForMessage(90, global::ScdFactorySyncMapWire.Parser);
  private readonly pbc::RepeatedField<global::ScdFactorySyncMapWire> wires_ = new pbc::RepeatedField<global::ScdFactorySyncMapWire>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdFactorySyncMapWire> Wires {
    get { return wires_; }
  }

  /// <summary>Field number for the "remove_wires" field.</summary>
  public const int RemoveWiresFieldNumber = 12;
  private static readonly pb::FieldCodec<ulong> _repeated_removeWires_codec
      = pb::FieldCodec.ForUInt64(98);
  private readonly pbc::RepeatedField<ulong> removeWires_ = new pbc::RepeatedField<ulong>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<ulong> RemoveWires {
    get { return removeWires_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScFactoryModifyChapterMap);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScFactoryModifyChapterMap other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Tms != other.Tms) return false;
    if (ChapterId != other.ChapterId) return false;
    if (MapId != other.MapId) return false;
    if(!wires_.Equals(other.wires_)) return false;
    if(!removeWires_.Equals(other.removeWires_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Tms != 0L) hash ^= Tms.GetHashCode();
    if (ChapterId.Length != 0) hash ^= ChapterId.GetHashCode();
    if (MapId != 0) hash ^= MapId.GetHashCode();
    hash ^= wires_.GetHashCode();
    hash ^= removeWires_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Tms != 0L) {
      output.WriteRawTag(8);
      output.WriteInt64(Tms);
    }
    if (ChapterId.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(ChapterId);
    }
    if (MapId != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(MapId);
    }
    wires_.WriteTo(output, _repeated_wires_codec);
    removeWires_.WriteTo(output, _repeated_removeWires_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Tms != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(Tms);
    }
    if (ChapterId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ChapterId);
    }
    if (MapId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(MapId);
    }
    size += wires_.CalculateSize(_repeated_wires_codec);
    size += removeWires_.CalculateSize(_repeated_removeWires_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScFactoryModifyChapterMap other) {
    if (other == null) {
      return;
    }
    if (other.Tms != 0L) {
      Tms = other.Tms;
    }
    if (other.ChapterId.Length != 0) {
      ChapterId = other.ChapterId;
    }
    if (other.MapId != 0) {
      MapId = other.MapId;
    }
    wires_.Add(other.wires_);
    removeWires_.Add(other.removeWires_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Tms = input.ReadInt64();
          break;
        }
        case 18: {
          ChapterId = input.ReadString();
          break;
        }
        case 24: {
          MapId = input.ReadInt32();
          break;
        }
        case 90: {
          wires_.AddEntriesFrom(input, _repeated_wires_codec);
          break;
        }
        case 98:
        case 96: {
          removeWires_.AddEntriesFrom(input, _repeated_removeWires_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScFactoryModifyChapterScene : pb::IMessage<ScFactoryModifyChapterScene> {
  private static readonly pb::MessageParser<ScFactoryModifyChapterScene> _parser = new pb::MessageParser<ScFactoryModifyChapterScene>(() => new ScFactoryModifyChapterScene());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScFactoryModifyChapterScene> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[485]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactoryModifyChapterScene() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactoryModifyChapterScene(ScFactoryModifyChapterScene other) : this() {
    tms_ = other.tms_;
    chapterId_ = other.chapterId_;
    sceneId_ = other.sceneId_;
    bandwidth_ = other.bandwidth_ != null ? other.bandwidth_.Clone() : null;
    panels_ = other.panels_.Clone();
    soilPanels_ = other.soilPanels_.Clone();
    settlements_ = other.settlements_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactoryModifyChapterScene Clone() {
    return new ScFactoryModifyChapterScene(this);
  }

  /// <summary>Field number for the "tms" field.</summary>
  public const int TmsFieldNumber = 1;
  private long tms_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long Tms {
    get { return tms_; }
    set {
      tms_ = value;
    }
  }

  /// <summary>Field number for the "chapter_id" field.</summary>
  public const int ChapterIdFieldNumber = 2;
  private string chapterId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ChapterId {
    get { return chapterId_; }
    set {
      chapterId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "scene_id" field.</summary>
  public const int SceneIdFieldNumber = 3;
  private int sceneId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int SceneId {
    get { return sceneId_; }
    set {
      sceneId_ = value;
    }
  }

  /// <summary>Field number for the "bandwidth" field.</summary>
  public const int BandwidthFieldNumber = 13;
  private global::ScdFactorySyncSceneBandwidth bandwidth_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactorySyncSceneBandwidth Bandwidth {
    get { return bandwidth_; }
    set {
      bandwidth_ = value;
    }
  }

  /// <summary>Field number for the "panels" field.</summary>
  public const int PanelsFieldNumber = 14;
  private static readonly pb::FieldCodec<global::ScdFactorySyncScenePanel> _repeated_panels_codec
      = pb::FieldCodec.ForMessage(114, global::ScdFactorySyncScenePanel.Parser);
  private readonly pbc::RepeatedField<global::ScdFactorySyncScenePanel> panels_ = new pbc::RepeatedField<global::ScdFactorySyncScenePanel>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdFactorySyncScenePanel> Panels {
    get { return panels_; }
  }

  /// <summary>Field number for the "soil_panels" field.</summary>
  public const int SoilPanelsFieldNumber = 15;
  private static readonly pb::FieldCodec<global::ScdFactorySyncScenePanel> _repeated_soilPanels_codec
      = pb::FieldCodec.ForMessage(122, global::ScdFactorySyncScenePanel.Parser);
  private readonly pbc::RepeatedField<global::ScdFactorySyncScenePanel> soilPanels_ = new pbc::RepeatedField<global::ScdFactorySyncScenePanel>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdFactorySyncScenePanel> SoilPanels {
    get { return soilPanels_; }
  }

  /// <summary>Field number for the "settlements" field.</summary>
  public const int SettlementsFieldNumber = 20;
  private static readonly pbc::MapField<string, global::ScdFactorySyncSceneBandwidth>.Codec _map_settlements_codec
      = new pbc::MapField<string, global::ScdFactorySyncSceneBandwidth>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForMessage(18, global::ScdFactorySyncSceneBandwidth.Parser), 162);
  private readonly pbc::MapField<string, global::ScdFactorySyncSceneBandwidth> settlements_ = new pbc::MapField<string, global::ScdFactorySyncSceneBandwidth>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<string, global::ScdFactorySyncSceneBandwidth> Settlements {
    get { return settlements_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScFactoryModifyChapterScene);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScFactoryModifyChapterScene other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Tms != other.Tms) return false;
    if (ChapterId != other.ChapterId) return false;
    if (SceneId != other.SceneId) return false;
    if (!object.Equals(Bandwidth, other.Bandwidth)) return false;
    if(!panels_.Equals(other.panels_)) return false;
    if(!soilPanels_.Equals(other.soilPanels_)) return false;
    if (!Settlements.Equals(other.Settlements)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Tms != 0L) hash ^= Tms.GetHashCode();
    if (ChapterId.Length != 0) hash ^= ChapterId.GetHashCode();
    if (SceneId != 0) hash ^= SceneId.GetHashCode();
    if (bandwidth_ != null) hash ^= Bandwidth.GetHashCode();
    hash ^= panels_.GetHashCode();
    hash ^= soilPanels_.GetHashCode();
    hash ^= Settlements.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Tms != 0L) {
      output.WriteRawTag(8);
      output.WriteInt64(Tms);
    }
    if (ChapterId.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(ChapterId);
    }
    if (SceneId != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(SceneId);
    }
    if (bandwidth_ != null) {
      output.WriteRawTag(106);
      output.WriteMessage(Bandwidth);
    }
    panels_.WriteTo(output, _repeated_panels_codec);
    soilPanels_.WriteTo(output, _repeated_soilPanels_codec);
    settlements_.WriteTo(output, _map_settlements_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Tms != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(Tms);
    }
    if (ChapterId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ChapterId);
    }
    if (SceneId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(SceneId);
    }
    if (bandwidth_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Bandwidth);
    }
    size += panels_.CalculateSize(_repeated_panels_codec);
    size += soilPanels_.CalculateSize(_repeated_soilPanels_codec);
    size += settlements_.CalculateSize(_map_settlements_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScFactoryModifyChapterScene other) {
    if (other == null) {
      return;
    }
    if (other.Tms != 0L) {
      Tms = other.Tms;
    }
    if (other.ChapterId.Length != 0) {
      ChapterId = other.ChapterId;
    }
    if (other.SceneId != 0) {
      SceneId = other.SceneId;
    }
    if (other.bandwidth_ != null) {
      if (bandwidth_ == null) {
        bandwidth_ = new global::ScdFactorySyncSceneBandwidth();
      }
      Bandwidth.MergeFrom(other.Bandwidth);
    }
    panels_.Add(other.panels_);
    soilPanels_.Add(other.soilPanels_);
    settlements_.Add(other.settlements_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Tms = input.ReadInt64();
          break;
        }
        case 18: {
          ChapterId = input.ReadString();
          break;
        }
        case 24: {
          SceneId = input.ReadInt32();
          break;
        }
        case 106: {
          if (bandwidth_ == null) {
            bandwidth_ = new global::ScdFactorySyncSceneBandwidth();
          }
          input.ReadMessage(bandwidth_);
          break;
        }
        case 114: {
          panels_.AddEntriesFrom(input, _repeated_panels_codec);
          break;
        }
        case 122: {
          soilPanels_.AddEntriesFrom(input, _repeated_soilPanels_codec);
          break;
        }
        case 162: {
          settlements_.AddEntriesFrom(input, _map_settlements_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScFactoryModifyChapterBlackboard : pb::IMessage<ScFactoryModifyChapterBlackboard> {
  private static readonly pb::MessageParser<ScFactoryModifyChapterBlackboard> _parser = new pb::MessageParser<ScFactoryModifyChapterBlackboard>(() => new ScFactoryModifyChapterBlackboard());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScFactoryModifyChapterBlackboard> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[486]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactoryModifyChapterBlackboard() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactoryModifyChapterBlackboard(ScFactoryModifyChapterBlackboard other) : this() {
    tms_ = other.tms_;
    chapterId_ = other.chapterId_;
    blackboard_ = other.blackboard_ != null ? other.blackboard_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactoryModifyChapterBlackboard Clone() {
    return new ScFactoryModifyChapterBlackboard(this);
  }

  /// <summary>Field number for the "tms" field.</summary>
  public const int TmsFieldNumber = 1;
  private long tms_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long Tms {
    get { return tms_; }
    set {
      tms_ = value;
    }
  }

  /// <summary>Field number for the "chapter_id" field.</summary>
  public const int ChapterIdFieldNumber = 2;
  private string chapterId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ChapterId {
    get { return chapterId_; }
    set {
      chapterId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "blackboard" field.</summary>
  public const int BlackboardFieldNumber = 3;
  private global::ScdFactorySyncBlackboard blackboard_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactorySyncBlackboard Blackboard {
    get { return blackboard_; }
    set {
      blackboard_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScFactoryModifyChapterBlackboard);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScFactoryModifyChapterBlackboard other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Tms != other.Tms) return false;
    if (ChapterId != other.ChapterId) return false;
    if (!object.Equals(Blackboard, other.Blackboard)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Tms != 0L) hash ^= Tms.GetHashCode();
    if (ChapterId.Length != 0) hash ^= ChapterId.GetHashCode();
    if (blackboard_ != null) hash ^= Blackboard.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Tms != 0L) {
      output.WriteRawTag(8);
      output.WriteInt64(Tms);
    }
    if (ChapterId.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(ChapterId);
    }
    if (blackboard_ != null) {
      output.WriteRawTag(26);
      output.WriteMessage(Blackboard);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Tms != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(Tms);
    }
    if (ChapterId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ChapterId);
    }
    if (blackboard_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Blackboard);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScFactoryModifyChapterBlackboard other) {
    if (other == null) {
      return;
    }
    if (other.Tms != 0L) {
      Tms = other.Tms;
    }
    if (other.ChapterId.Length != 0) {
      ChapterId = other.ChapterId;
    }
    if (other.blackboard_ != null) {
      if (blackboard_ == null) {
        blackboard_ = new global::ScdFactorySyncBlackboard();
      }
      Blackboard.MergeFrom(other.Blackboard);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Tms = input.ReadInt64();
          break;
        }
        case 18: {
          ChapterId = input.ReadString();
          break;
        }
        case 26: {
          if (blackboard_ == null) {
            blackboard_ = new global::ScdFactorySyncBlackboard();
          }
          input.ReadMessage(blackboard_);
          break;
        }
      }
    }
  }

}

public sealed partial class ScFactoryModifyChapterPinBoard : pb::IMessage<ScFactoryModifyChapterPinBoard> {
  private static readonly pb::MessageParser<ScFactoryModifyChapterPinBoard> _parser = new pb::MessageParser<ScFactoryModifyChapterPinBoard>(() => new ScFactoryModifyChapterPinBoard());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScFactoryModifyChapterPinBoard> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[487]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactoryModifyChapterPinBoard() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactoryModifyChapterPinBoard(ScFactoryModifyChapterPinBoard other) : this() {
    tms_ = other.tms_;
    chapterId_ = other.chapterId_;
    modified_ = other.modified_.Clone();
    releasePos_ = other.releasePos_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactoryModifyChapterPinBoard Clone() {
    return new ScFactoryModifyChapterPinBoard(this);
  }

  /// <summary>Field number for the "tms" field.</summary>
  public const int TmsFieldNumber = 1;
  private long tms_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long Tms {
    get { return tms_; }
    set {
      tms_ = value;
    }
  }

  /// <summary>Field number for the "chapter_id" field.</summary>
  public const int ChapterIdFieldNumber = 2;
  private string chapterId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ChapterId {
    get { return chapterId_; }
    set {
      chapterId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "modified" field.</summary>
  public const int ModifiedFieldNumber = 3;
  private static readonly pb::FieldCodec<global::ScdFactoryPinCard> _repeated_modified_codec
      = pb::FieldCodec.ForMessage(26, global::ScdFactoryPinCard.Parser);
  private readonly pbc::RepeatedField<global::ScdFactoryPinCard> modified_ = new pbc::RepeatedField<global::ScdFactoryPinCard>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdFactoryPinCard> Modified {
    get { return modified_; }
  }

  /// <summary>Field number for the "release_pos" field.</summary>
  public const int ReleasePosFieldNumber = 4;
  private static readonly pb::FieldCodec<int> _repeated_releasePos_codec
      = pb::FieldCodec.ForInt32(34);
  private readonly pbc::RepeatedField<int> releasePos_ = new pbc::RepeatedField<int>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<int> ReleasePos {
    get { return releasePos_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScFactoryModifyChapterPinBoard);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScFactoryModifyChapterPinBoard other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Tms != other.Tms) return false;
    if (ChapterId != other.ChapterId) return false;
    if(!modified_.Equals(other.modified_)) return false;
    if(!releasePos_.Equals(other.releasePos_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Tms != 0L) hash ^= Tms.GetHashCode();
    if (ChapterId.Length != 0) hash ^= ChapterId.GetHashCode();
    hash ^= modified_.GetHashCode();
    hash ^= releasePos_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Tms != 0L) {
      output.WriteRawTag(8);
      output.WriteInt64(Tms);
    }
    if (ChapterId.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(ChapterId);
    }
    modified_.WriteTo(output, _repeated_modified_codec);
    releasePos_.WriteTo(output, _repeated_releasePos_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Tms != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(Tms);
    }
    if (ChapterId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ChapterId);
    }
    size += modified_.CalculateSize(_repeated_modified_codec);
    size += releasePos_.CalculateSize(_repeated_releasePos_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScFactoryModifyChapterPinBoard other) {
    if (other == null) {
      return;
    }
    if (other.Tms != 0L) {
      Tms = other.Tms;
    }
    if (other.ChapterId.Length != 0) {
      ChapterId = other.ChapterId;
    }
    modified_.Add(other.modified_);
    releasePos_.Add(other.releasePos_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Tms = input.ReadInt64();
          break;
        }
        case 18: {
          ChapterId = input.ReadString();
          break;
        }
        case 26: {
          modified_.AddEntriesFrom(input, _repeated_modified_codec);
          break;
        }
        case 34:
        case 32: {
          releasePos_.AddEntriesFrom(input, _repeated_releasePos_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScFactoryHs : pb::IMessage<ScFactoryHs> {
  private static readonly pb::MessageParser<ScFactoryHs> _parser = new pb::MessageParser<ScFactoryHs>(() => new ScFactoryHs());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScFactoryHs> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[488]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactoryHs() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactoryHs(ScFactoryHs other) : this() {
    tms_ = other.tms_;
    ctList_ = other.ctList_.Clone();
    fbList_ = other.fbList_.Clone();
    ceList_ = other.ceList_.Clone();
    blackboard_ = other.blackboard_ != null ? other.blackboard_.Clone() : null;
    chapterId_ = other.chapterId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactoryHs Clone() {
    return new ScFactoryHs(this);
  }

  /// <summary>Field number for the "tms" field.</summary>
  public const int TmsFieldNumber = 1;
  private long tms_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long Tms {
    get { return tms_; }
    set {
      tms_ = value;
    }
  }

  /// <summary>Field number for the "ct_list" field.</summary>
  public const int CtListFieldNumber = 2;
  private static readonly pb::FieldCodec<global::ScdFactoryHsCt> _repeated_ctList_codec
      = pb::FieldCodec.ForMessage(18, global::ScdFactoryHsCt.Parser);
  private readonly pbc::RepeatedField<global::ScdFactoryHsCt> ctList_ = new pbc::RepeatedField<global::ScdFactoryHsCt>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdFactoryHsCt> CtList {
    get { return ctList_; }
  }

  /// <summary>Field number for the "fb_list" field.</summary>
  public const int FbListFieldNumber = 3;
  private static readonly pb::FieldCodec<global::ScdFactoryHsFb> _repeated_fbList_codec
      = pb::FieldCodec.ForMessage(26, global::ScdFactoryHsFb.Parser);
  private readonly pbc::RepeatedField<global::ScdFactoryHsFb> fbList_ = new pbc::RepeatedField<global::ScdFactoryHsFb>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdFactoryHsFb> FbList {
    get { return fbList_; }
  }

  /// <summary>Field number for the "ce_list" field.</summary>
  public const int CeListFieldNumber = 4;
  private static readonly pb::FieldCodec<global::ScdFactoryHsCe> _repeated_ceList_codec
      = pb::FieldCodec.ForMessage(34, global::ScdFactoryHsCe.Parser);
  private readonly pbc::RepeatedField<global::ScdFactoryHsCe> ceList_ = new pbc::RepeatedField<global::ScdFactoryHsCe>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdFactoryHsCe> CeList {
    get { return ceList_; }
  }

  /// <summary>Field number for the "blackboard" field.</summary>
  public const int BlackboardFieldNumber = 5;
  private global::ScdFactoryHsBb blackboard_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactoryHsBb Blackboard {
    get { return blackboard_; }
    set {
      blackboard_ = value;
    }
  }

  /// <summary>Field number for the "chapter_id" field.</summary>
  public const int ChapterIdFieldNumber = 11;
  private string chapterId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ChapterId {
    get { return chapterId_; }
    set {
      chapterId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScFactoryHs);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScFactoryHs other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Tms != other.Tms) return false;
    if(!ctList_.Equals(other.ctList_)) return false;
    if(!fbList_.Equals(other.fbList_)) return false;
    if(!ceList_.Equals(other.ceList_)) return false;
    if (!object.Equals(Blackboard, other.Blackboard)) return false;
    if (ChapterId != other.ChapterId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Tms != 0L) hash ^= Tms.GetHashCode();
    hash ^= ctList_.GetHashCode();
    hash ^= fbList_.GetHashCode();
    hash ^= ceList_.GetHashCode();
    if (blackboard_ != null) hash ^= Blackboard.GetHashCode();
    if (ChapterId.Length != 0) hash ^= ChapterId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Tms != 0L) {
      output.WriteRawTag(8);
      output.WriteInt64(Tms);
    }
    ctList_.WriteTo(output, _repeated_ctList_codec);
    fbList_.WriteTo(output, _repeated_fbList_codec);
    ceList_.WriteTo(output, _repeated_ceList_codec);
    if (blackboard_ != null) {
      output.WriteRawTag(42);
      output.WriteMessage(Blackboard);
    }
    if (ChapterId.Length != 0) {
      output.WriteRawTag(90);
      output.WriteString(ChapterId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Tms != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(Tms);
    }
    size += ctList_.CalculateSize(_repeated_ctList_codec);
    size += fbList_.CalculateSize(_repeated_fbList_codec);
    size += ceList_.CalculateSize(_repeated_ceList_codec);
    if (blackboard_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Blackboard);
    }
    if (ChapterId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ChapterId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScFactoryHs other) {
    if (other == null) {
      return;
    }
    if (other.Tms != 0L) {
      Tms = other.Tms;
    }
    ctList_.Add(other.ctList_);
    fbList_.Add(other.fbList_);
    ceList_.Add(other.ceList_);
    if (other.blackboard_ != null) {
      if (blackboard_ == null) {
        blackboard_ = new global::ScdFactoryHsBb();
      }
      Blackboard.MergeFrom(other.Blackboard);
    }
    if (other.ChapterId.Length != 0) {
      ChapterId = other.ChapterId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Tms = input.ReadInt64();
          break;
        }
        case 18: {
          ctList_.AddEntriesFrom(input, _repeated_ctList_codec);
          break;
        }
        case 26: {
          fbList_.AddEntriesFrom(input, _repeated_fbList_codec);
          break;
        }
        case 34: {
          ceList_.AddEntriesFrom(input, _repeated_ceList_codec);
          break;
        }
        case 42: {
          if (blackboard_ == null) {
            blackboard_ = new global::ScdFactoryHsBb();
          }
          input.ReadMessage(blackboard_);
          break;
        }
        case 90: {
          ChapterId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class ScFactoryHsSync : pb::IMessage<ScFactoryHsSync> {
  private static readonly pb::MessageParser<ScFactoryHsSync> _parser = new pb::MessageParser<ScFactoryHsSync>(() => new ScFactoryHsSync());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScFactoryHsSync> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[489]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactoryHsSync() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactoryHsSync(ScFactoryHsSync other) : this() {
    tms_ = other.tms_;
    ccList_ = other.ccList_.Clone();
    fbList_ = other.fbList_.Clone();
    blackboard_ = other.blackboard_ != null ? other.blackboard_.Clone() : null;
    chapterId_ = other.chapterId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactoryHsSync Clone() {
    return new ScFactoryHsSync(this);
  }

  /// <summary>Field number for the "tms" field.</summary>
  public const int TmsFieldNumber = 1;
  private long tms_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long Tms {
    get { return tms_; }
    set {
      tms_ = value;
    }
  }

  /// <summary>Field number for the "cc_list" field.</summary>
  public const int CcListFieldNumber = 2;
  private static readonly pb::FieldCodec<global::ScdFacCom> _repeated_ccList_codec
      = pb::FieldCodec.ForMessage(18, global::ScdFacCom.Parser);
  private readonly pbc::RepeatedField<global::ScdFacCom> ccList_ = new pbc::RepeatedField<global::ScdFacCom>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdFacCom> CcList {
    get { return ccList_; }
  }

  /// <summary>Field number for the "fb_list" field.</summary>
  public const int FbListFieldNumber = 3;
  private static readonly pb::FieldCodec<global::ScdFactoryHsFb> _repeated_fbList_codec
      = pb::FieldCodec.ForMessage(26, global::ScdFactoryHsFb.Parser);
  private readonly pbc::RepeatedField<global::ScdFactoryHsFb> fbList_ = new pbc::RepeatedField<global::ScdFactoryHsFb>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdFactoryHsFb> FbList {
    get { return fbList_; }
  }

  /// <summary>Field number for the "blackboard" field.</summary>
  public const int BlackboardFieldNumber = 4;
  private global::ScdFactorySyncBlackboard blackboard_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactorySyncBlackboard Blackboard {
    get { return blackboard_; }
    set {
      blackboard_ = value;
    }
  }

  /// <summary>Field number for the "chapter_id" field.</summary>
  public const int ChapterIdFieldNumber = 11;
  private string chapterId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ChapterId {
    get { return chapterId_; }
    set {
      chapterId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScFactoryHsSync);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScFactoryHsSync other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Tms != other.Tms) return false;
    if(!ccList_.Equals(other.ccList_)) return false;
    if(!fbList_.Equals(other.fbList_)) return false;
    if (!object.Equals(Blackboard, other.Blackboard)) return false;
    if (ChapterId != other.ChapterId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Tms != 0L) hash ^= Tms.GetHashCode();
    hash ^= ccList_.GetHashCode();
    hash ^= fbList_.GetHashCode();
    if (blackboard_ != null) hash ^= Blackboard.GetHashCode();
    if (ChapterId.Length != 0) hash ^= ChapterId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Tms != 0L) {
      output.WriteRawTag(8);
      output.WriteInt64(Tms);
    }
    ccList_.WriteTo(output, _repeated_ccList_codec);
    fbList_.WriteTo(output, _repeated_fbList_codec);
    if (blackboard_ != null) {
      output.WriteRawTag(34);
      output.WriteMessage(Blackboard);
    }
    if (ChapterId.Length != 0) {
      output.WriteRawTag(90);
      output.WriteString(ChapterId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Tms != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(Tms);
    }
    size += ccList_.CalculateSize(_repeated_ccList_codec);
    size += fbList_.CalculateSize(_repeated_fbList_codec);
    if (blackboard_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Blackboard);
    }
    if (ChapterId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ChapterId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScFactoryHsSync other) {
    if (other == null) {
      return;
    }
    if (other.Tms != 0L) {
      Tms = other.Tms;
    }
    ccList_.Add(other.ccList_);
    fbList_.Add(other.fbList_);
    if (other.blackboard_ != null) {
      if (blackboard_ == null) {
        blackboard_ = new global::ScdFactorySyncBlackboard();
      }
      Blackboard.MergeFrom(other.Blackboard);
    }
    if (other.ChapterId.Length != 0) {
      ChapterId = other.ChapterId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Tms = input.ReadInt64();
          break;
        }
        case 18: {
          ccList_.AddEntriesFrom(input, _repeated_ccList_codec);
          break;
        }
        case 26: {
          fbList_.AddEntriesFrom(input, _repeated_fbList_codec);
          break;
        }
        case 34: {
          if (blackboard_ == null) {
            blackboard_ = new global::ScdFactorySyncBlackboard();
          }
          input.ReadMessage(blackboard_);
          break;
        }
        case 90: {
          ChapterId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class ScFactoryModifyStatistic : pb::IMessage<ScFactoryModifyStatistic> {
  private static readonly pb::MessageParser<ScFactoryModifyStatistic> _parser = new pb::MessageParser<ScFactoryModifyStatistic>(() => new ScFactoryModifyStatistic());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScFactoryModifyStatistic> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[490]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactoryModifyStatistic() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactoryModifyStatistic(ScFactoryModifyStatistic other) : this() {
    chapterId_ = other.chapterId_;
    other_ = other.other_ != null ? other.other_.Clone() : null;
    lastDay_ = other.lastDay_ != null ? other.lastDay_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactoryModifyStatistic Clone() {
    return new ScFactoryModifyStatistic(this);
  }

  /// <summary>Field number for the "chapter_id" field.</summary>
  public const int ChapterIdFieldNumber = 1;
  private string chapterId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ChapterId {
    get { return chapterId_; }
    set {
      chapterId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "other" field.</summary>
  public const int OtherFieldNumber = 3;
  private global::ScdFactoryStatisticOther other_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactoryStatisticOther Other {
    get { return other_; }
    set {
      other_ = value;
    }
  }

  /// <summary>Field number for the "last_day" field.</summary>
  public const int LastDayFieldNumber = 4;
  private global::ScdFactoryStatisticLastday lastDay_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactoryStatisticLastday LastDay {
    get { return lastDay_; }
    set {
      lastDay_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScFactoryModifyStatistic);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScFactoryModifyStatistic other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ChapterId != other.ChapterId) return false;
    if (!object.Equals(Other, other.Other)) return false;
    if (!object.Equals(LastDay, other.LastDay)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ChapterId.Length != 0) hash ^= ChapterId.GetHashCode();
    if (other_ != null) hash ^= Other.GetHashCode();
    if (lastDay_ != null) hash ^= LastDay.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ChapterId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(ChapterId);
    }
    if (other_ != null) {
      output.WriteRawTag(26);
      output.WriteMessage(Other);
    }
    if (lastDay_ != null) {
      output.WriteRawTag(34);
      output.WriteMessage(LastDay);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ChapterId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ChapterId);
    }
    if (other_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Other);
    }
    if (lastDay_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(LastDay);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScFactoryModifyStatistic other) {
    if (other == null) {
      return;
    }
    if (other.ChapterId.Length != 0) {
      ChapterId = other.ChapterId;
    }
    if (other.other_ != null) {
      if (other_ == null) {
        other_ = new global::ScdFactoryStatisticOther();
      }
      Other.MergeFrom(other.Other);
    }
    if (other.lastDay_ != null) {
      if (lastDay_ == null) {
        lastDay_ = new global::ScdFactoryStatisticLastday();
      }
      LastDay.MergeFrom(other.LastDay);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          ChapterId = input.ReadString();
          break;
        }
        case 26: {
          if (other_ == null) {
            other_ = new global::ScdFactoryStatisticOther();
          }
          input.ReadMessage(other_);
          break;
        }
        case 34: {
          if (lastDay_ == null) {
            lastDay_ = new global::ScdFactoryStatisticLastday();
          }
          input.ReadMessage(lastDay_);
          break;
        }
      }
    }
  }

}

public sealed partial class ScFactoryStatisticRequire : pb::IMessage<ScFactoryStatisticRequire> {
  private static readonly pb::MessageParser<ScFactoryStatisticRequire> _parser = new pb::MessageParser<ScFactoryStatisticRequire>(() => new ScFactoryStatisticRequire());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScFactoryStatisticRequire> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[491]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactoryStatisticRequire() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactoryStatisticRequire(ScFactoryStatisticRequire other) : this() {
    chapter_ = other.chapter_;
    power_ = other.power_ != null ? other.power_.Clone() : null;
    productivity_ = other.productivity_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactoryStatisticRequire Clone() {
    return new ScFactoryStatisticRequire(this);
  }

  /// <summary>Field number for the "chapter" field.</summary>
  public const int ChapterFieldNumber = 1;
  private string chapter_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string Chapter {
    get { return chapter_; }
    set {
      chapter_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "power" field.</summary>
  public const int PowerFieldNumber = 2;
  private global::ScdFactoryStatisticRecord power_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactoryStatisticRecord Power {
    get { return power_; }
    set {
      power_ = value;
    }
  }

  /// <summary>Field number for the "productivity" field.</summary>
  public const int ProductivityFieldNumber = 3;
  private static readonly pbc::MapField<string, global::ScdFactoryStatisticRecord>.Codec _map_productivity_codec
      = new pbc::MapField<string, global::ScdFactoryStatisticRecord>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForMessage(18, global::ScdFactoryStatisticRecord.Parser), 26);
  private readonly pbc::MapField<string, global::ScdFactoryStatisticRecord> productivity_ = new pbc::MapField<string, global::ScdFactoryStatisticRecord>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<string, global::ScdFactoryStatisticRecord> Productivity {
    get { return productivity_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScFactoryStatisticRequire);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScFactoryStatisticRequire other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Chapter != other.Chapter) return false;
    if (!object.Equals(Power, other.Power)) return false;
    if (!Productivity.Equals(other.Productivity)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Chapter.Length != 0) hash ^= Chapter.GetHashCode();
    if (power_ != null) hash ^= Power.GetHashCode();
    hash ^= Productivity.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Chapter.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(Chapter);
    }
    if (power_ != null) {
      output.WriteRawTag(18);
      output.WriteMessage(Power);
    }
    productivity_.WriteTo(output, _map_productivity_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Chapter.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(Chapter);
    }
    if (power_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Power);
    }
    size += productivity_.CalculateSize(_map_productivity_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScFactoryStatisticRequire other) {
    if (other == null) {
      return;
    }
    if (other.Chapter.Length != 0) {
      Chapter = other.Chapter;
    }
    if (other.power_ != null) {
      if (power_ == null) {
        power_ = new global::ScdFactoryStatisticRecord();
      }
      Power.MergeFrom(other.Power);
    }
    productivity_.Add(other.productivity_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          Chapter = input.ReadString();
          break;
        }
        case 18: {
          if (power_ == null) {
            power_ = new global::ScdFactoryStatisticRecord();
          }
          input.ReadMessage(power_);
          break;
        }
        case 26: {
          productivity_.AddEntriesFrom(input, _map_productivity_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class CsFactoryHsFb : pb::IMessage<CsFactoryHsFb> {
  private static readonly pb::MessageParser<CsFactoryHsFb> _parser = new pb::MessageParser<CsFactoryHsFb>(() => new CsFactoryHsFb());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsFactoryHsFb> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[492]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFactoryHsFb() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFactoryHsFb(CsFactoryHsFb other) : this() {
    chapterId_ = other.chapterId_;
    nodeIdList_ = other.nodeIdList_.Clone();
    undo_ = other.undo_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFactoryHsFb Clone() {
    return new CsFactoryHsFb(this);
  }

  /// <summary>Field number for the "chapter_id" field.</summary>
  public const int ChapterIdFieldNumber = 1;
  private string chapterId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ChapterId {
    get { return chapterId_; }
    set {
      chapterId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "node_id_list" field.</summary>
  public const int NodeIdListFieldNumber = 21;
  private static readonly pb::FieldCodec<uint> _repeated_nodeIdList_codec
      = pb::FieldCodec.ForUInt32(170);
  private readonly pbc::RepeatedField<uint> nodeIdList_ = new pbc::RepeatedField<uint>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<uint> NodeIdList {
    get { return nodeIdList_; }
  }

  /// <summary>Field number for the "undo" field.</summary>
  public const int UndoFieldNumber = 3;
  private bool undo_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Undo {
    get { return undo_; }
    set {
      undo_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsFactoryHsFb);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsFactoryHsFb other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ChapterId != other.ChapterId) return false;
    if(!nodeIdList_.Equals(other.nodeIdList_)) return false;
    if (Undo != other.Undo) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ChapterId.Length != 0) hash ^= ChapterId.GetHashCode();
    hash ^= nodeIdList_.GetHashCode();
    if (Undo != false) hash ^= Undo.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ChapterId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(ChapterId);
    }
    if (Undo != false) {
      output.WriteRawTag(24);
      output.WriteBool(Undo);
    }
    nodeIdList_.WriteTo(output, _repeated_nodeIdList_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ChapterId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ChapterId);
    }
    size += nodeIdList_.CalculateSize(_repeated_nodeIdList_codec);
    if (Undo != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsFactoryHsFb other) {
    if (other == null) {
      return;
    }
    if (other.ChapterId.Length != 0) {
      ChapterId = other.ChapterId;
    }
    nodeIdList_.Add(other.nodeIdList_);
    if (other.Undo != false) {
      Undo = other.Undo;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          ChapterId = input.ReadString();
          break;
        }
        case 24: {
          Undo = input.ReadBool();
          break;
        }
        case 170:
        case 168: {
          nodeIdList_.AddEntriesFrom(input, _repeated_nodeIdList_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class CsFactoryStatisticRequire : pb::IMessage<CsFactoryStatisticRequire> {
  private static readonly pb::MessageParser<CsFactoryStatisticRequire> _parser = new pb::MessageParser<CsFactoryStatisticRequire>(() => new CsFactoryStatisticRequire());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsFactoryStatisticRequire> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[493]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFactoryStatisticRequire() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFactoryStatisticRequire(CsFactoryStatisticRequire other) : this() {
    rankPower_ = other.rankPower_;
    rankProductivity_ = other.rankProductivity_;
    productivityItemIds_ = other.productivityItemIds_.Clone();
    allProductivity_ = other.allProductivity_;
    chapterId_ = other.chapterId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFactoryStatisticRequire Clone() {
    return new CsFactoryStatisticRequire(this);
  }

  /// <summary>Field number for the "rank_power" field.</summary>
  public const int RankPowerFieldNumber = 1;
  private int rankPower_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int RankPower {
    get { return rankPower_; }
    set {
      rankPower_ = value;
    }
  }

  /// <summary>Field number for the "rank_productivity" field.</summary>
  public const int RankProductivityFieldNumber = 2;
  private int rankProductivity_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int RankProductivity {
    get { return rankProductivity_; }
    set {
      rankProductivity_ = value;
    }
  }

  /// <summary>Field number for the "productivity_item_ids" field.</summary>
  public const int ProductivityItemIdsFieldNumber = 3;
  private static readonly pb::FieldCodec<string> _repeated_productivityItemIds_codec
      = pb::FieldCodec.ForString(26);
  private readonly pbc::RepeatedField<string> productivityItemIds_ = new pbc::RepeatedField<string>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<string> ProductivityItemIds {
    get { return productivityItemIds_; }
  }

  /// <summary>Field number for the "all_productivity" field.</summary>
  public const int AllProductivityFieldNumber = 4;
  private bool allProductivity_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool AllProductivity {
    get { return allProductivity_; }
    set {
      allProductivity_ = value;
    }
  }

  /// <summary>Field number for the "chapter_id" field.</summary>
  public const int ChapterIdFieldNumber = 12;
  private string chapterId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ChapterId {
    get { return chapterId_; }
    set {
      chapterId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsFactoryStatisticRequire);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsFactoryStatisticRequire other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (RankPower != other.RankPower) return false;
    if (RankProductivity != other.RankProductivity) return false;
    if(!productivityItemIds_.Equals(other.productivityItemIds_)) return false;
    if (AllProductivity != other.AllProductivity) return false;
    if (ChapterId != other.ChapterId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (RankPower != 0) hash ^= RankPower.GetHashCode();
    if (RankProductivity != 0) hash ^= RankProductivity.GetHashCode();
    hash ^= productivityItemIds_.GetHashCode();
    if (AllProductivity != false) hash ^= AllProductivity.GetHashCode();
    if (ChapterId.Length != 0) hash ^= ChapterId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (RankPower != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(RankPower);
    }
    if (RankProductivity != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(RankProductivity);
    }
    productivityItemIds_.WriteTo(output, _repeated_productivityItemIds_codec);
    if (AllProductivity != false) {
      output.WriteRawTag(32);
      output.WriteBool(AllProductivity);
    }
    if (ChapterId.Length != 0) {
      output.WriteRawTag(98);
      output.WriteString(ChapterId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (RankPower != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(RankPower);
    }
    if (RankProductivity != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(RankProductivity);
    }
    size += productivityItemIds_.CalculateSize(_repeated_productivityItemIds_codec);
    if (AllProductivity != false) {
      size += 1 + 1;
    }
    if (ChapterId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ChapterId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsFactoryStatisticRequire other) {
    if (other == null) {
      return;
    }
    if (other.RankPower != 0) {
      RankPower = other.RankPower;
    }
    if (other.RankProductivity != 0) {
      RankProductivity = other.RankProductivity;
    }
    productivityItemIds_.Add(other.productivityItemIds_);
    if (other.AllProductivity != false) {
      AllProductivity = other.AllProductivity;
    }
    if (other.ChapterId.Length != 0) {
      ChapterId = other.ChapterId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          RankPower = input.ReadInt32();
          break;
        }
        case 16: {
          RankProductivity = input.ReadInt32();
          break;
        }
        case 26: {
          productivityItemIds_.AddEntriesFrom(input, _repeated_productivityItemIds_codec);
          break;
        }
        case 32: {
          AllProductivity = input.ReadBool();
          break;
        }
        case 98: {
          ChapterId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class CsFactoryPinSet : pb::IMessage<CsFactoryPinSet> {
  private static readonly pb::MessageParser<CsFactoryPinSet> _parser = new pb::MessageParser<CsFactoryPinSet>(() => new CsFactoryPinSet());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsFactoryPinSet> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[494]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFactoryPinSet() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFactoryPinSet(CsFactoryPinSet other) : this() {
    scopeName_ = other.scopeName_;
    pos_ = other.pos_;
    strId_ = other.strId_;
    numId_ = other.numId_;
    release_ = other.release_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFactoryPinSet Clone() {
    return new CsFactoryPinSet(this);
  }

  /// <summary>Field number for the "scope_name" field.</summary>
  public const int ScopeNameFieldNumber = 1;
  private int scopeName_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ScopeName {
    get { return scopeName_; }
    set {
      scopeName_ = value;
    }
  }

  /// <summary>Field number for the "pos" field.</summary>
  public const int PosFieldNumber = 3;
  private int pos_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Pos {
    get { return pos_; }
    set {
      pos_ = value;
    }
  }

  /// <summary>Field number for the "str_id" field.</summary>
  public const int StrIdFieldNumber = 4;
  private string strId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string StrId {
    get { return strId_; }
    set {
      strId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "num_id" field.</summary>
  public const int NumIdFieldNumber = 5;
  private ulong numId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong NumId {
    get { return numId_; }
    set {
      numId_ = value;
    }
  }

  /// <summary>Field number for the "release" field.</summary>
  public const int ReleaseFieldNumber = 11;
  private bool release_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Release {
    get { return release_; }
    set {
      release_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsFactoryPinSet);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsFactoryPinSet other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ScopeName != other.ScopeName) return false;
    if (Pos != other.Pos) return false;
    if (StrId != other.StrId) return false;
    if (NumId != other.NumId) return false;
    if (Release != other.Release) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ScopeName != 0) hash ^= ScopeName.GetHashCode();
    if (Pos != 0) hash ^= Pos.GetHashCode();
    if (StrId.Length != 0) hash ^= StrId.GetHashCode();
    if (NumId != 0UL) hash ^= NumId.GetHashCode();
    if (Release != false) hash ^= Release.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ScopeName != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(ScopeName);
    }
    if (Pos != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(Pos);
    }
    if (StrId.Length != 0) {
      output.WriteRawTag(34);
      output.WriteString(StrId);
    }
    if (NumId != 0UL) {
      output.WriteRawTag(40);
      output.WriteUInt64(NumId);
    }
    if (Release != false) {
      output.WriteRawTag(88);
      output.WriteBool(Release);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ScopeName != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ScopeName);
    }
    if (Pos != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Pos);
    }
    if (StrId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(StrId);
    }
    if (NumId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(NumId);
    }
    if (Release != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsFactoryPinSet other) {
    if (other == null) {
      return;
    }
    if (other.ScopeName != 0) {
      ScopeName = other.ScopeName;
    }
    if (other.Pos != 0) {
      Pos = other.Pos;
    }
    if (other.StrId.Length != 0) {
      StrId = other.StrId;
    }
    if (other.NumId != 0UL) {
      NumId = other.NumId;
    }
    if (other.Release != false) {
      Release = other.Release;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ScopeName = input.ReadInt32();
          break;
        }
        case 24: {
          Pos = input.ReadInt32();
          break;
        }
        case 34: {
          StrId = input.ReadString();
          break;
        }
        case 40: {
          NumId = input.ReadUInt64();
          break;
        }
        case 88: {
          Release = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class CsFactoryObserverOp : pb::IMessage<CsFactoryObserverOp> {
  private static readonly pb::MessageParser<CsFactoryObserverOp> _parser = new pb::MessageParser<CsFactoryObserverOp>(() => new CsFactoryObserverOp());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsFactoryObserverOp> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[495]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFactoryObserverOp() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFactoryObserverOp(CsFactoryObserverOp other) : this() {
    index_ = other.index_;
    chapterId_ = other.chapterId_;
    mapId_ = other.mapId_;
    nodeId_ = other.nodeId_;
    nodeStableId_ = other.nodeStableId_;
    componentId_ = other.componentId_;
    opType_ = other.opType_;
    switch (other.OpPayloadCase) {
      case OpPayloadOneofCase.CheckoutRelationBoard:
        CheckoutRelationBoard = other.CheckoutRelationBoard.Clone();
        break;
      case OpPayloadOneofCase.CheckoutPowerConnectionMap:
        CheckoutPowerConnectionMap = other.CheckoutPowerConnectionMap.Clone();
        break;
      case OpPayloadOneofCase.CheckoutOutsideResource:
        CheckoutOutsideResource = other.CheckoutOutsideResource.Clone();
        break;
    }

    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFactoryObserverOp Clone() {
    return new CsFactoryObserverOp(this);
  }

  /// <summary>Field number for the "index" field.</summary>
  public const int IndexFieldNumber = 1;
  private string index_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string Index {
    get { return index_; }
    set {
      index_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "chapter_id" field.</summary>
  public const int ChapterIdFieldNumber = 2;
  private string chapterId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ChapterId {
    get { return chapterId_; }
    set {
      chapterId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "map_id" field.</summary>
  public const int MapIdFieldNumber = 3;
  private int mapId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int MapId {
    get { return mapId_; }
    set {
      mapId_ = value;
    }
  }

  /// <summary>Field number for the "node_id" field.</summary>
  public const int NodeIdFieldNumber = 4;
  private uint nodeId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint NodeId {
    get { return nodeId_; }
    set {
      nodeId_ = value;
    }
  }

  /// <summary>Field number for the "node_stable_id" field.</summary>
  public const int NodeStableIdFieldNumber = 5;
  private ulong nodeStableId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong NodeStableId {
    get { return nodeStableId_; }
    set {
      nodeStableId_ = value;
    }
  }

  /// <summary>Field number for the "component_id" field.</summary>
  public const int ComponentIdFieldNumber = 6;
  private uint componentId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint ComponentId {
    get { return componentId_; }
    set {
      componentId_ = value;
    }
  }

  /// <summary>Field number for the "op_type" field.</summary>
  public const int OpTypeFieldNumber = 11;
  private string opType_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string OpType {
    get { return opType_; }
    set {
      opType_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "checkout_relation_board" field.</summary>
  public const int CheckoutRelationBoardFieldNumber = 21;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::CsdFactoryObserverPayloadOpCheckoutRelationBoard CheckoutRelationBoard {
    get { return opPayloadCase_ == OpPayloadOneofCase.CheckoutRelationBoard ? (global::CsdFactoryObserverPayloadOpCheckoutRelationBoard) opPayload_ : null; }
    set {
      opPayload_ = value;
      opPayloadCase_ = value == null ? OpPayloadOneofCase.None : OpPayloadOneofCase.CheckoutRelationBoard;
    }
  }

  /// <summary>Field number for the "checkout_power_connection_map" field.</summary>
  public const int CheckoutPowerConnectionMapFieldNumber = 22;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::CsdFactoryObserverPayloadOpCheckoutPowerConnectionMap CheckoutPowerConnectionMap {
    get { return opPayloadCase_ == OpPayloadOneofCase.CheckoutPowerConnectionMap ? (global::CsdFactoryObserverPayloadOpCheckoutPowerConnectionMap) opPayload_ : null; }
    set {
      opPayload_ = value;
      opPayloadCase_ = value == null ? OpPayloadOneofCase.None : OpPayloadOneofCase.CheckoutPowerConnectionMap;
    }
  }

  /// <summary>Field number for the "checkout_outside_resource" field.</summary>
  public const int CheckoutOutsideResourceFieldNumber = 23;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::CsdFactoryObserverPayloadOpCheckoutOutsideResource CheckoutOutsideResource {
    get { return opPayloadCase_ == OpPayloadOneofCase.CheckoutOutsideResource ? (global::CsdFactoryObserverPayloadOpCheckoutOutsideResource) opPayload_ : null; }
    set {
      opPayload_ = value;
      opPayloadCase_ = value == null ? OpPayloadOneofCase.None : OpPayloadOneofCase.CheckoutOutsideResource;
    }
  }

  private object opPayload_;
  /// <summary>Enum of possible cases for the "op_payload" oneof.</summary>
  public enum OpPayloadOneofCase {
    None = 0,
    CheckoutRelationBoard = 21,
    CheckoutPowerConnectionMap = 22,
    CheckoutOutsideResource = 23,
  }
  private OpPayloadOneofCase opPayloadCase_ = OpPayloadOneofCase.None;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public OpPayloadOneofCase OpPayloadCase {
    get { return opPayloadCase_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void ClearOpPayload() {
    opPayloadCase_ = OpPayloadOneofCase.None;
    opPayload_ = null;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsFactoryObserverOp);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsFactoryObserverOp other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Index != other.Index) return false;
    if (ChapterId != other.ChapterId) return false;
    if (MapId != other.MapId) return false;
    if (NodeId != other.NodeId) return false;
    if (NodeStableId != other.NodeStableId) return false;
    if (ComponentId != other.ComponentId) return false;
    if (OpType != other.OpType) return false;
    if (!object.Equals(CheckoutRelationBoard, other.CheckoutRelationBoard)) return false;
    if (!object.Equals(CheckoutPowerConnectionMap, other.CheckoutPowerConnectionMap)) return false;
    if (!object.Equals(CheckoutOutsideResource, other.CheckoutOutsideResource)) return false;
    if (OpPayloadCase != other.OpPayloadCase) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Index.Length != 0) hash ^= Index.GetHashCode();
    if (ChapterId.Length != 0) hash ^= ChapterId.GetHashCode();
    if (MapId != 0) hash ^= MapId.GetHashCode();
    if (NodeId != 0) hash ^= NodeId.GetHashCode();
    if (NodeStableId != 0UL) hash ^= NodeStableId.GetHashCode();
    if (ComponentId != 0) hash ^= ComponentId.GetHashCode();
    if (OpType.Length != 0) hash ^= OpType.GetHashCode();
    if (opPayloadCase_ == OpPayloadOneofCase.CheckoutRelationBoard) hash ^= CheckoutRelationBoard.GetHashCode();
    if (opPayloadCase_ == OpPayloadOneofCase.CheckoutPowerConnectionMap) hash ^= CheckoutPowerConnectionMap.GetHashCode();
    if (opPayloadCase_ == OpPayloadOneofCase.CheckoutOutsideResource) hash ^= CheckoutOutsideResource.GetHashCode();
    hash ^= (int) opPayloadCase_;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Index.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(Index);
    }
    if (ChapterId.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(ChapterId);
    }
    if (MapId != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(MapId);
    }
    if (NodeId != 0) {
      output.WriteRawTag(32);
      output.WriteUInt32(NodeId);
    }
    if (NodeStableId != 0UL) {
      output.WriteRawTag(40);
      output.WriteUInt64(NodeStableId);
    }
    if (ComponentId != 0) {
      output.WriteRawTag(48);
      output.WriteUInt32(ComponentId);
    }
    if (OpType.Length != 0) {
      output.WriteRawTag(90);
      output.WriteString(OpType);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.CheckoutRelationBoard) {
      output.WriteRawTag(170, 1);
      output.WriteMessage(CheckoutRelationBoard);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.CheckoutPowerConnectionMap) {
      output.WriteRawTag(178, 1);
      output.WriteMessage(CheckoutPowerConnectionMap);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.CheckoutOutsideResource) {
      output.WriteRawTag(186, 1);
      output.WriteMessage(CheckoutOutsideResource);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Index.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(Index);
    }
    if (ChapterId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ChapterId);
    }
    if (MapId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(MapId);
    }
    if (NodeId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(NodeId);
    }
    if (NodeStableId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(NodeStableId);
    }
    if (ComponentId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(ComponentId);
    }
    if (OpType.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(OpType);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.CheckoutRelationBoard) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(CheckoutRelationBoard);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.CheckoutPowerConnectionMap) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(CheckoutPowerConnectionMap);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.CheckoutOutsideResource) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(CheckoutOutsideResource);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsFactoryObserverOp other) {
    if (other == null) {
      return;
    }
    if (other.Index.Length != 0) {
      Index = other.Index;
    }
    if (other.ChapterId.Length != 0) {
      ChapterId = other.ChapterId;
    }
    if (other.MapId != 0) {
      MapId = other.MapId;
    }
    if (other.NodeId != 0) {
      NodeId = other.NodeId;
    }
    if (other.NodeStableId != 0UL) {
      NodeStableId = other.NodeStableId;
    }
    if (other.ComponentId != 0) {
      ComponentId = other.ComponentId;
    }
    if (other.OpType.Length != 0) {
      OpType = other.OpType;
    }
    switch (other.OpPayloadCase) {
      case OpPayloadOneofCase.CheckoutRelationBoard:
        if (CheckoutRelationBoard == null) {
          CheckoutRelationBoard = new global::CsdFactoryObserverPayloadOpCheckoutRelationBoard();
        }
        CheckoutRelationBoard.MergeFrom(other.CheckoutRelationBoard);
        break;
      case OpPayloadOneofCase.CheckoutPowerConnectionMap:
        if (CheckoutPowerConnectionMap == null) {
          CheckoutPowerConnectionMap = new global::CsdFactoryObserverPayloadOpCheckoutPowerConnectionMap();
        }
        CheckoutPowerConnectionMap.MergeFrom(other.CheckoutPowerConnectionMap);
        break;
      case OpPayloadOneofCase.CheckoutOutsideResource:
        if (CheckoutOutsideResource == null) {
          CheckoutOutsideResource = new global::CsdFactoryObserverPayloadOpCheckoutOutsideResource();
        }
        CheckoutOutsideResource.MergeFrom(other.CheckoutOutsideResource);
        break;
    }

    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          Index = input.ReadString();
          break;
        }
        case 18: {
          ChapterId = input.ReadString();
          break;
        }
        case 24: {
          MapId = input.ReadInt32();
          break;
        }
        case 32: {
          NodeId = input.ReadUInt32();
          break;
        }
        case 40: {
          NodeStableId = input.ReadUInt64();
          break;
        }
        case 48: {
          ComponentId = input.ReadUInt32();
          break;
        }
        case 90: {
          OpType = input.ReadString();
          break;
        }
        case 170: {
          global::CsdFactoryObserverPayloadOpCheckoutRelationBoard subBuilder = new global::CsdFactoryObserverPayloadOpCheckoutRelationBoard();
          if (opPayloadCase_ == OpPayloadOneofCase.CheckoutRelationBoard) {
            subBuilder.MergeFrom(CheckoutRelationBoard);
          }
          input.ReadMessage(subBuilder);
          CheckoutRelationBoard = subBuilder;
          break;
        }
        case 178: {
          global::CsdFactoryObserverPayloadOpCheckoutPowerConnectionMap subBuilder = new global::CsdFactoryObserverPayloadOpCheckoutPowerConnectionMap();
          if (opPayloadCase_ == OpPayloadOneofCase.CheckoutPowerConnectionMap) {
            subBuilder.MergeFrom(CheckoutPowerConnectionMap);
          }
          input.ReadMessage(subBuilder);
          CheckoutPowerConnectionMap = subBuilder;
          break;
        }
        case 186: {
          global::CsdFactoryObserverPayloadOpCheckoutOutsideResource subBuilder = new global::CsdFactoryObserverPayloadOpCheckoutOutsideResource();
          if (opPayloadCase_ == OpPayloadOneofCase.CheckoutOutsideResource) {
            subBuilder.MergeFrom(CheckoutOutsideResource);
          }
          input.ReadMessage(subBuilder);
          CheckoutOutsideResource = subBuilder;
          break;
        }
      }
    }
  }

}

public sealed partial class CsdFactoryObserverPayloadOpCheckoutRelationBoard : pb::IMessage<CsdFactoryObserverPayloadOpCheckoutRelationBoard> {
  private static readonly pb::MessageParser<CsdFactoryObserverPayloadOpCheckoutRelationBoard> _parser = new pb::MessageParser<CsdFactoryObserverPayloadOpCheckoutRelationBoard>(() => new CsdFactoryObserverPayloadOpCheckoutRelationBoard());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsdFactoryObserverPayloadOpCheckoutRelationBoard> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[496]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryObserverPayloadOpCheckoutRelationBoard() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryObserverPayloadOpCheckoutRelationBoard(CsdFactoryObserverPayloadOpCheckoutRelationBoard other) : this() {
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryObserverPayloadOpCheckoutRelationBoard Clone() {
    return new CsdFactoryObserverPayloadOpCheckoutRelationBoard(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsdFactoryObserverPayloadOpCheckoutRelationBoard);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsdFactoryObserverPayloadOpCheckoutRelationBoard other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsdFactoryObserverPayloadOpCheckoutRelationBoard other) {
    if (other == null) {
      return;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
      }
    }
  }

}

public sealed partial class CsdFactoryObserverPayloadOpCheckoutPowerConnectionMap : pb::IMessage<CsdFactoryObserverPayloadOpCheckoutPowerConnectionMap> {
  private static readonly pb::MessageParser<CsdFactoryObserverPayloadOpCheckoutPowerConnectionMap> _parser = new pb::MessageParser<CsdFactoryObserverPayloadOpCheckoutPowerConnectionMap>(() => new CsdFactoryObserverPayloadOpCheckoutPowerConnectionMap());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsdFactoryObserverPayloadOpCheckoutPowerConnectionMap> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[497]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryObserverPayloadOpCheckoutPowerConnectionMap() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryObserverPayloadOpCheckoutPowerConnectionMap(CsdFactoryObserverPayloadOpCheckoutPowerConnectionMap other) : this() {
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryObserverPayloadOpCheckoutPowerConnectionMap Clone() {
    return new CsdFactoryObserverPayloadOpCheckoutPowerConnectionMap(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsdFactoryObserverPayloadOpCheckoutPowerConnectionMap);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsdFactoryObserverPayloadOpCheckoutPowerConnectionMap other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsdFactoryObserverPayloadOpCheckoutPowerConnectionMap other) {
    if (other == null) {
      return;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
      }
    }
  }

}

public sealed partial class CsdFactoryObserverPayloadOpCheckoutOutsideResource : pb::IMessage<CsdFactoryObserverPayloadOpCheckoutOutsideResource> {
  private static readonly pb::MessageParser<CsdFactoryObserverPayloadOpCheckoutOutsideResource> _parser = new pb::MessageParser<CsdFactoryObserverPayloadOpCheckoutOutsideResource>(() => new CsdFactoryObserverPayloadOpCheckoutOutsideResource());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsdFactoryObserverPayloadOpCheckoutOutsideResource> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[498]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryObserverPayloadOpCheckoutOutsideResource() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryObserverPayloadOpCheckoutOutsideResource(CsdFactoryObserverPayloadOpCheckoutOutsideResource other) : this() {
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryObserverPayloadOpCheckoutOutsideResource Clone() {
    return new CsdFactoryObserverPayloadOpCheckoutOutsideResource(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsdFactoryObserverPayloadOpCheckoutOutsideResource);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsdFactoryObserverPayloadOpCheckoutOutsideResource other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsdFactoryObserverPayloadOpCheckoutOutsideResource other) {
    if (other == null) {
      return;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
      }
    }
  }

}

public sealed partial class ScFactoryObserverRet : pb::IMessage<ScFactoryObserverRet> {
  private static readonly pb::MessageParser<ScFactoryObserverRet> _parser = new pb::MessageParser<ScFactoryObserverRet>(() => new ScFactoryObserverRet());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScFactoryObserverRet> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[499]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactoryObserverRet() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactoryObserverRet(ScFactoryObserverRet other) : this() {
    opIndex_ = other.opIndex_;
    success_ = other.success_;
    errMessage_ = other.errMessage_;
    chapterId_ = other.chapterId_;
    retType_ = other.retType_;
    switch (other.RetPayloadCase) {
      case RetPayloadOneofCase.CheckoutRelationBoard:
        CheckoutRelationBoard = other.CheckoutRelationBoard.Clone();
        break;
      case RetPayloadOneofCase.CheckoutPowerConnectionMap:
        CheckoutPowerConnectionMap = other.CheckoutPowerConnectionMap.Clone();
        break;
      case RetPayloadOneofCase.CheckoutOutsideResource:
        CheckoutOutsideResource = other.CheckoutOutsideResource.Clone();
        break;
    }

    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactoryObserverRet Clone() {
    return new ScFactoryObserverRet(this);
  }

  /// <summary>Field number for the "op_index" field.</summary>
  public const int OpIndexFieldNumber = 1;
  private string opIndex_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string OpIndex {
    get { return opIndex_; }
    set {
      opIndex_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "success" field.</summary>
  public const int SuccessFieldNumber = 2;
  private bool success_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Success {
    get { return success_; }
    set {
      success_ = value;
    }
  }

  /// <summary>Field number for the "err_message" field.</summary>
  public const int ErrMessageFieldNumber = 3;
  private string errMessage_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ErrMessage {
    get { return errMessage_; }
    set {
      errMessage_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "chapter_id" field.</summary>
  public const int ChapterIdFieldNumber = 4;
  private string chapterId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ChapterId {
    get { return chapterId_; }
    set {
      chapterId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "ret_type" field.</summary>
  public const int RetTypeFieldNumber = 11;
  private string retType_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string RetType {
    get { return retType_; }
    set {
      retType_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "checkout_relation_board" field.</summary>
  public const int CheckoutRelationBoardFieldNumber = 21;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactoryObserverPayloadRetCheckoutRelationBoard CheckoutRelationBoard {
    get { return retPayloadCase_ == RetPayloadOneofCase.CheckoutRelationBoard ? (global::ScdFactoryObserverPayloadRetCheckoutRelationBoard) retPayload_ : null; }
    set {
      retPayload_ = value;
      retPayloadCase_ = value == null ? RetPayloadOneofCase.None : RetPayloadOneofCase.CheckoutRelationBoard;
    }
  }

  /// <summary>Field number for the "checkout_power_connection_map" field.</summary>
  public const int CheckoutPowerConnectionMapFieldNumber = 22;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactoryObserverPayloadRetCheckoutPowerConnectionMap CheckoutPowerConnectionMap {
    get { return retPayloadCase_ == RetPayloadOneofCase.CheckoutPowerConnectionMap ? (global::ScdFactoryObserverPayloadRetCheckoutPowerConnectionMap) retPayload_ : null; }
    set {
      retPayload_ = value;
      retPayloadCase_ = value == null ? RetPayloadOneofCase.None : RetPayloadOneofCase.CheckoutPowerConnectionMap;
    }
  }

  /// <summary>Field number for the "checkout_outside_resource" field.</summary>
  public const int CheckoutOutsideResourceFieldNumber = 23;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactoryObserverPayloadRetCheckoutOutsideResource CheckoutOutsideResource {
    get { return retPayloadCase_ == RetPayloadOneofCase.CheckoutOutsideResource ? (global::ScdFactoryObserverPayloadRetCheckoutOutsideResource) retPayload_ : null; }
    set {
      retPayload_ = value;
      retPayloadCase_ = value == null ? RetPayloadOneofCase.None : RetPayloadOneofCase.CheckoutOutsideResource;
    }
  }

  private object retPayload_;
  /// <summary>Enum of possible cases for the "ret_payload" oneof.</summary>
  public enum RetPayloadOneofCase {
    None = 0,
    CheckoutRelationBoard = 21,
    CheckoutPowerConnectionMap = 22,
    CheckoutOutsideResource = 23,
  }
  private RetPayloadOneofCase retPayloadCase_ = RetPayloadOneofCase.None;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public RetPayloadOneofCase RetPayloadCase {
    get { return retPayloadCase_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void ClearRetPayload() {
    retPayloadCase_ = RetPayloadOneofCase.None;
    retPayload_ = null;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScFactoryObserverRet);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScFactoryObserverRet other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (OpIndex != other.OpIndex) return false;
    if (Success != other.Success) return false;
    if (ErrMessage != other.ErrMessage) return false;
    if (ChapterId != other.ChapterId) return false;
    if (RetType != other.RetType) return false;
    if (!object.Equals(CheckoutRelationBoard, other.CheckoutRelationBoard)) return false;
    if (!object.Equals(CheckoutPowerConnectionMap, other.CheckoutPowerConnectionMap)) return false;
    if (!object.Equals(CheckoutOutsideResource, other.CheckoutOutsideResource)) return false;
    if (RetPayloadCase != other.RetPayloadCase) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (OpIndex.Length != 0) hash ^= OpIndex.GetHashCode();
    if (Success != false) hash ^= Success.GetHashCode();
    if (ErrMessage.Length != 0) hash ^= ErrMessage.GetHashCode();
    if (ChapterId.Length != 0) hash ^= ChapterId.GetHashCode();
    if (RetType.Length != 0) hash ^= RetType.GetHashCode();
    if (retPayloadCase_ == RetPayloadOneofCase.CheckoutRelationBoard) hash ^= CheckoutRelationBoard.GetHashCode();
    if (retPayloadCase_ == RetPayloadOneofCase.CheckoutPowerConnectionMap) hash ^= CheckoutPowerConnectionMap.GetHashCode();
    if (retPayloadCase_ == RetPayloadOneofCase.CheckoutOutsideResource) hash ^= CheckoutOutsideResource.GetHashCode();
    hash ^= (int) retPayloadCase_;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (OpIndex.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(OpIndex);
    }
    if (Success != false) {
      output.WriteRawTag(16);
      output.WriteBool(Success);
    }
    if (ErrMessage.Length != 0) {
      output.WriteRawTag(26);
      output.WriteString(ErrMessage);
    }
    if (ChapterId.Length != 0) {
      output.WriteRawTag(34);
      output.WriteString(ChapterId);
    }
    if (RetType.Length != 0) {
      output.WriteRawTag(90);
      output.WriteString(RetType);
    }
    if (retPayloadCase_ == RetPayloadOneofCase.CheckoutRelationBoard) {
      output.WriteRawTag(170, 1);
      output.WriteMessage(CheckoutRelationBoard);
    }
    if (retPayloadCase_ == RetPayloadOneofCase.CheckoutPowerConnectionMap) {
      output.WriteRawTag(178, 1);
      output.WriteMessage(CheckoutPowerConnectionMap);
    }
    if (retPayloadCase_ == RetPayloadOneofCase.CheckoutOutsideResource) {
      output.WriteRawTag(186, 1);
      output.WriteMessage(CheckoutOutsideResource);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (OpIndex.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(OpIndex);
    }
    if (Success != false) {
      size += 1 + 1;
    }
    if (ErrMessage.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ErrMessage);
    }
    if (ChapterId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ChapterId);
    }
    if (RetType.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(RetType);
    }
    if (retPayloadCase_ == RetPayloadOneofCase.CheckoutRelationBoard) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(CheckoutRelationBoard);
    }
    if (retPayloadCase_ == RetPayloadOneofCase.CheckoutPowerConnectionMap) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(CheckoutPowerConnectionMap);
    }
    if (retPayloadCase_ == RetPayloadOneofCase.CheckoutOutsideResource) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(CheckoutOutsideResource);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScFactoryObserverRet other) {
    if (other == null) {
      return;
    }
    if (other.OpIndex.Length != 0) {
      OpIndex = other.OpIndex;
    }
    if (other.Success != false) {
      Success = other.Success;
    }
    if (other.ErrMessage.Length != 0) {
      ErrMessage = other.ErrMessage;
    }
    if (other.ChapterId.Length != 0) {
      ChapterId = other.ChapterId;
    }
    if (other.RetType.Length != 0) {
      RetType = other.RetType;
    }
    switch (other.RetPayloadCase) {
      case RetPayloadOneofCase.CheckoutRelationBoard:
        if (CheckoutRelationBoard == null) {
          CheckoutRelationBoard = new global::ScdFactoryObserverPayloadRetCheckoutRelationBoard();
        }
        CheckoutRelationBoard.MergeFrom(other.CheckoutRelationBoard);
        break;
      case RetPayloadOneofCase.CheckoutPowerConnectionMap:
        if (CheckoutPowerConnectionMap == null) {
          CheckoutPowerConnectionMap = new global::ScdFactoryObserverPayloadRetCheckoutPowerConnectionMap();
        }
        CheckoutPowerConnectionMap.MergeFrom(other.CheckoutPowerConnectionMap);
        break;
      case RetPayloadOneofCase.CheckoutOutsideResource:
        if (CheckoutOutsideResource == null) {
          CheckoutOutsideResource = new global::ScdFactoryObserverPayloadRetCheckoutOutsideResource();
        }
        CheckoutOutsideResource.MergeFrom(other.CheckoutOutsideResource);
        break;
    }

    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          OpIndex = input.ReadString();
          break;
        }
        case 16: {
          Success = input.ReadBool();
          break;
        }
        case 26: {
          ErrMessage = input.ReadString();
          break;
        }
        case 34: {
          ChapterId = input.ReadString();
          break;
        }
        case 90: {
          RetType = input.ReadString();
          break;
        }
        case 170: {
          global::ScdFactoryObserverPayloadRetCheckoutRelationBoard subBuilder = new global::ScdFactoryObserverPayloadRetCheckoutRelationBoard();
          if (retPayloadCase_ == RetPayloadOneofCase.CheckoutRelationBoard) {
            subBuilder.MergeFrom(CheckoutRelationBoard);
          }
          input.ReadMessage(subBuilder);
          CheckoutRelationBoard = subBuilder;
          break;
        }
        case 178: {
          global::ScdFactoryObserverPayloadRetCheckoutPowerConnectionMap subBuilder = new global::ScdFactoryObserverPayloadRetCheckoutPowerConnectionMap();
          if (retPayloadCase_ == RetPayloadOneofCase.CheckoutPowerConnectionMap) {
            subBuilder.MergeFrom(CheckoutPowerConnectionMap);
          }
          input.ReadMessage(subBuilder);
          CheckoutPowerConnectionMap = subBuilder;
          break;
        }
        case 186: {
          global::ScdFactoryObserverPayloadRetCheckoutOutsideResource subBuilder = new global::ScdFactoryObserverPayloadRetCheckoutOutsideResource();
          if (retPayloadCase_ == RetPayloadOneofCase.CheckoutOutsideResource) {
            subBuilder.MergeFrom(CheckoutOutsideResource);
          }
          input.ReadMessage(subBuilder);
          CheckoutOutsideResource = subBuilder;
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFactoryObserverPayloadRetCheckoutRelationBoard : pb::IMessage<ScdFactoryObserverPayloadRetCheckoutRelationBoard> {
  private static readonly pb::MessageParser<ScdFactoryObserverPayloadRetCheckoutRelationBoard> _parser = new pb::MessageParser<ScdFactoryObserverPayloadRetCheckoutRelationBoard>(() => new ScdFactoryObserverPayloadRetCheckoutRelationBoard());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactoryObserverPayloadRetCheckoutRelationBoard> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[500]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryObserverPayloadRetCheckoutRelationBoard() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryObserverPayloadRetCheckoutRelationBoard(ScdFactoryObserverPayloadRetCheckoutRelationBoard other) : this() {
    conveyorElems_ = other.conveyorElems_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryObserverPayloadRetCheckoutRelationBoard Clone() {
    return new ScdFactoryObserverPayloadRetCheckoutRelationBoard(this);
  }

  /// <summary>Field number for the "conveyor_elems" field.</summary>
  public const int ConveyorElemsFieldNumber = 1;
  private static readonly pb::FieldCodec<global::ScdFactoryObserverPayloadRetCheckoutRelationBoardConveyorElem> _repeated_conveyorElems_codec
      = pb::FieldCodec.ForMessage(10, global::ScdFactoryObserverPayloadRetCheckoutRelationBoardConveyorElem.Parser);
  private readonly pbc::RepeatedField<global::ScdFactoryObserverPayloadRetCheckoutRelationBoardConveyorElem> conveyorElems_ = new pbc::RepeatedField<global::ScdFactoryObserverPayloadRetCheckoutRelationBoardConveyorElem>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdFactoryObserverPayloadRetCheckoutRelationBoardConveyorElem> ConveyorElems {
    get { return conveyorElems_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactoryObserverPayloadRetCheckoutRelationBoard);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactoryObserverPayloadRetCheckoutRelationBoard other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!conveyorElems_.Equals(other.conveyorElems_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= conveyorElems_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    conveyorElems_.WriteTo(output, _repeated_conveyorElems_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += conveyorElems_.CalculateSize(_repeated_conveyorElems_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactoryObserverPayloadRetCheckoutRelationBoard other) {
    if (other == null) {
      return;
    }
    conveyorElems_.Add(other.conveyorElems_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          conveyorElems_.AddEntriesFrom(input, _repeated_conveyorElems_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFactoryObserverPayloadRetCheckoutRelationBoardConveyorElem : pb::IMessage<ScdFactoryObserverPayloadRetCheckoutRelationBoardConveyorElem> {
  private static readonly pb::MessageParser<ScdFactoryObserverPayloadRetCheckoutRelationBoardConveyorElem> _parser = new pb::MessageParser<ScdFactoryObserverPayloadRetCheckoutRelationBoardConveyorElem>(() => new ScdFactoryObserverPayloadRetCheckoutRelationBoardConveyorElem());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactoryObserverPayloadRetCheckoutRelationBoardConveyorElem> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[501]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryObserverPayloadRetCheckoutRelationBoardConveyorElem() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryObserverPayloadRetCheckoutRelationBoardConveyorElem(ScdFactoryObserverPayloadRetCheckoutRelationBoardConveyorElem other) : this() {
    conveyorComId_ = other.conveyorComId_;
    conveyorNodeId_ = other.conveyorNodeId_;
    fromComId_ = other.fromComId_;
    fromNodeId_ = other.fromNodeId_;
    fromNodeStableId_ = other.fromNodeStableId_;
    fromNodeTemplateId_ = other.fromNodeTemplateId_;
    toComId_ = other.toComId_;
    toNodeId_ = other.toNodeId_;
    toNodeStableId_ = other.toNodeStableId_;
    toNodeTemplateId_ = other.toNodeTemplateId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryObserverPayloadRetCheckoutRelationBoardConveyorElem Clone() {
    return new ScdFactoryObserverPayloadRetCheckoutRelationBoardConveyorElem(this);
  }

  /// <summary>Field number for the "conveyor_com_id" field.</summary>
  public const int ConveyorComIdFieldNumber = 1;
  private uint conveyorComId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint ConveyorComId {
    get { return conveyorComId_; }
    set {
      conveyorComId_ = value;
    }
  }

  /// <summary>Field number for the "conveyor_node_id" field.</summary>
  public const int ConveyorNodeIdFieldNumber = 2;
  private uint conveyorNodeId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint ConveyorNodeId {
    get { return conveyorNodeId_; }
    set {
      conveyorNodeId_ = value;
    }
  }

  /// <summary>Field number for the "from_com_id" field.</summary>
  public const int FromComIdFieldNumber = 11;
  private uint fromComId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint FromComId {
    get { return fromComId_; }
    set {
      fromComId_ = value;
    }
  }

  /// <summary>Field number for the "from_node_id" field.</summary>
  public const int FromNodeIdFieldNumber = 12;
  private uint fromNodeId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint FromNodeId {
    get { return fromNodeId_; }
    set {
      fromNodeId_ = value;
    }
  }

  /// <summary>Field number for the "from_node_stable_id" field.</summary>
  public const int FromNodeStableIdFieldNumber = 13;
  private ulong fromNodeStableId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong FromNodeStableId {
    get { return fromNodeStableId_; }
    set {
      fromNodeStableId_ = value;
    }
  }

  /// <summary>Field number for the "from_node_template_id" field.</summary>
  public const int FromNodeTemplateIdFieldNumber = 14;
  private string fromNodeTemplateId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string FromNodeTemplateId {
    get { return fromNodeTemplateId_; }
    set {
      fromNodeTemplateId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "to_com_id" field.</summary>
  public const int ToComIdFieldNumber = 21;
  private uint toComId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint ToComId {
    get { return toComId_; }
    set {
      toComId_ = value;
    }
  }

  /// <summary>Field number for the "to_node_id" field.</summary>
  public const int ToNodeIdFieldNumber = 22;
  private uint toNodeId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint ToNodeId {
    get { return toNodeId_; }
    set {
      toNodeId_ = value;
    }
  }

  /// <summary>Field number for the "to_node_stable_id" field.</summary>
  public const int ToNodeStableIdFieldNumber = 23;
  private ulong toNodeStableId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong ToNodeStableId {
    get { return toNodeStableId_; }
    set {
      toNodeStableId_ = value;
    }
  }

  /// <summary>Field number for the "to_node_template_id" field.</summary>
  public const int ToNodeTemplateIdFieldNumber = 24;
  private string toNodeTemplateId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ToNodeTemplateId {
    get { return toNodeTemplateId_; }
    set {
      toNodeTemplateId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactoryObserverPayloadRetCheckoutRelationBoardConveyorElem);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactoryObserverPayloadRetCheckoutRelationBoardConveyorElem other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ConveyorComId != other.ConveyorComId) return false;
    if (ConveyorNodeId != other.ConveyorNodeId) return false;
    if (FromComId != other.FromComId) return false;
    if (FromNodeId != other.FromNodeId) return false;
    if (FromNodeStableId != other.FromNodeStableId) return false;
    if (FromNodeTemplateId != other.FromNodeTemplateId) return false;
    if (ToComId != other.ToComId) return false;
    if (ToNodeId != other.ToNodeId) return false;
    if (ToNodeStableId != other.ToNodeStableId) return false;
    if (ToNodeTemplateId != other.ToNodeTemplateId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ConveyorComId != 0) hash ^= ConveyorComId.GetHashCode();
    if (ConveyorNodeId != 0) hash ^= ConveyorNodeId.GetHashCode();
    if (FromComId != 0) hash ^= FromComId.GetHashCode();
    if (FromNodeId != 0) hash ^= FromNodeId.GetHashCode();
    if (FromNodeStableId != 0UL) hash ^= FromNodeStableId.GetHashCode();
    if (FromNodeTemplateId.Length != 0) hash ^= FromNodeTemplateId.GetHashCode();
    if (ToComId != 0) hash ^= ToComId.GetHashCode();
    if (ToNodeId != 0) hash ^= ToNodeId.GetHashCode();
    if (ToNodeStableId != 0UL) hash ^= ToNodeStableId.GetHashCode();
    if (ToNodeTemplateId.Length != 0) hash ^= ToNodeTemplateId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ConveyorComId != 0) {
      output.WriteRawTag(8);
      output.WriteUInt32(ConveyorComId);
    }
    if (ConveyorNodeId != 0) {
      output.WriteRawTag(16);
      output.WriteUInt32(ConveyorNodeId);
    }
    if (FromComId != 0) {
      output.WriteRawTag(88);
      output.WriteUInt32(FromComId);
    }
    if (FromNodeId != 0) {
      output.WriteRawTag(96);
      output.WriteUInt32(FromNodeId);
    }
    if (FromNodeStableId != 0UL) {
      output.WriteRawTag(104);
      output.WriteUInt64(FromNodeStableId);
    }
    if (FromNodeTemplateId.Length != 0) {
      output.WriteRawTag(114);
      output.WriteString(FromNodeTemplateId);
    }
    if (ToComId != 0) {
      output.WriteRawTag(168, 1);
      output.WriteUInt32(ToComId);
    }
    if (ToNodeId != 0) {
      output.WriteRawTag(176, 1);
      output.WriteUInt32(ToNodeId);
    }
    if (ToNodeStableId != 0UL) {
      output.WriteRawTag(184, 1);
      output.WriteUInt64(ToNodeStableId);
    }
    if (ToNodeTemplateId.Length != 0) {
      output.WriteRawTag(194, 1);
      output.WriteString(ToNodeTemplateId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ConveyorComId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(ConveyorComId);
    }
    if (ConveyorNodeId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(ConveyorNodeId);
    }
    if (FromComId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(FromComId);
    }
    if (FromNodeId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(FromNodeId);
    }
    if (FromNodeStableId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(FromNodeStableId);
    }
    if (FromNodeTemplateId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(FromNodeTemplateId);
    }
    if (ToComId != 0) {
      size += 2 + pb::CodedOutputStream.ComputeUInt32Size(ToComId);
    }
    if (ToNodeId != 0) {
      size += 2 + pb::CodedOutputStream.ComputeUInt32Size(ToNodeId);
    }
    if (ToNodeStableId != 0UL) {
      size += 2 + pb::CodedOutputStream.ComputeUInt64Size(ToNodeStableId);
    }
    if (ToNodeTemplateId.Length != 0) {
      size += 2 + pb::CodedOutputStream.ComputeStringSize(ToNodeTemplateId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactoryObserverPayloadRetCheckoutRelationBoardConveyorElem other) {
    if (other == null) {
      return;
    }
    if (other.ConveyorComId != 0) {
      ConveyorComId = other.ConveyorComId;
    }
    if (other.ConveyorNodeId != 0) {
      ConveyorNodeId = other.ConveyorNodeId;
    }
    if (other.FromComId != 0) {
      FromComId = other.FromComId;
    }
    if (other.FromNodeId != 0) {
      FromNodeId = other.FromNodeId;
    }
    if (other.FromNodeStableId != 0UL) {
      FromNodeStableId = other.FromNodeStableId;
    }
    if (other.FromNodeTemplateId.Length != 0) {
      FromNodeTemplateId = other.FromNodeTemplateId;
    }
    if (other.ToComId != 0) {
      ToComId = other.ToComId;
    }
    if (other.ToNodeId != 0) {
      ToNodeId = other.ToNodeId;
    }
    if (other.ToNodeStableId != 0UL) {
      ToNodeStableId = other.ToNodeStableId;
    }
    if (other.ToNodeTemplateId.Length != 0) {
      ToNodeTemplateId = other.ToNodeTemplateId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ConveyorComId = input.ReadUInt32();
          break;
        }
        case 16: {
          ConveyorNodeId = input.ReadUInt32();
          break;
        }
        case 88: {
          FromComId = input.ReadUInt32();
          break;
        }
        case 96: {
          FromNodeId = input.ReadUInt32();
          break;
        }
        case 104: {
          FromNodeStableId = input.ReadUInt64();
          break;
        }
        case 114: {
          FromNodeTemplateId = input.ReadString();
          break;
        }
        case 168: {
          ToComId = input.ReadUInt32();
          break;
        }
        case 176: {
          ToNodeId = input.ReadUInt32();
          break;
        }
        case 184: {
          ToNodeStableId = input.ReadUInt64();
          break;
        }
        case 194: {
          ToNodeTemplateId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFactoryObserverPayloadRetCheckoutPowerConnectionMap : pb::IMessage<ScdFactoryObserverPayloadRetCheckoutPowerConnectionMap> {
  private static readonly pb::MessageParser<ScdFactoryObserverPayloadRetCheckoutPowerConnectionMap> _parser = new pb::MessageParser<ScdFactoryObserverPayloadRetCheckoutPowerConnectionMap>(() => new ScdFactoryObserverPayloadRetCheckoutPowerConnectionMap());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactoryObserverPayloadRetCheckoutPowerConnectionMap> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[502]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryObserverPayloadRetCheckoutPowerConnectionMap() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryObserverPayloadRetCheckoutPowerConnectionMap(ScdFactoryObserverPayloadRetCheckoutPowerConnectionMap other) : this() {
    connections_ = other.connections_.Clone();
    nodeElems_ = other.nodeElems_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryObserverPayloadRetCheckoutPowerConnectionMap Clone() {
    return new ScdFactoryObserverPayloadRetCheckoutPowerConnectionMap(this);
  }

  /// <summary>Field number for the "connections" field.</summary>
  public const int ConnectionsFieldNumber = 1;
  private static readonly pb::FieldCodec<global::ScdFactoryObserverPayloadRetCheckoutPowerConnectionMapConnection> _repeated_connections_codec
      = pb::FieldCodec.ForMessage(10, global::ScdFactoryObserverPayloadRetCheckoutPowerConnectionMapConnection.Parser);
  private readonly pbc::RepeatedField<global::ScdFactoryObserverPayloadRetCheckoutPowerConnectionMapConnection> connections_ = new pbc::RepeatedField<global::ScdFactoryObserverPayloadRetCheckoutPowerConnectionMapConnection>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdFactoryObserverPayloadRetCheckoutPowerConnectionMapConnection> Connections {
    get { return connections_; }
  }

  /// <summary>Field number for the "node_elems" field.</summary>
  public const int NodeElemsFieldNumber = 2;
  private static readonly pb::FieldCodec<global::ScdFactoryObserverPayloadRetCheckoutPowerConnectionMapNodeElem> _repeated_nodeElems_codec
      = pb::FieldCodec.ForMessage(18, global::ScdFactoryObserverPayloadRetCheckoutPowerConnectionMapNodeElem.Parser);
  private readonly pbc::RepeatedField<global::ScdFactoryObserverPayloadRetCheckoutPowerConnectionMapNodeElem> nodeElems_ = new pbc::RepeatedField<global::ScdFactoryObserverPayloadRetCheckoutPowerConnectionMapNodeElem>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdFactoryObserverPayloadRetCheckoutPowerConnectionMapNodeElem> NodeElems {
    get { return nodeElems_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactoryObserverPayloadRetCheckoutPowerConnectionMap);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactoryObserverPayloadRetCheckoutPowerConnectionMap other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!connections_.Equals(other.connections_)) return false;
    if(!nodeElems_.Equals(other.nodeElems_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= connections_.GetHashCode();
    hash ^= nodeElems_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    connections_.WriteTo(output, _repeated_connections_codec);
    nodeElems_.WriteTo(output, _repeated_nodeElems_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += connections_.CalculateSize(_repeated_connections_codec);
    size += nodeElems_.CalculateSize(_repeated_nodeElems_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactoryObserverPayloadRetCheckoutPowerConnectionMap other) {
    if (other == null) {
      return;
    }
    connections_.Add(other.connections_);
    nodeElems_.Add(other.nodeElems_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          connections_.AddEntriesFrom(input, _repeated_connections_codec);
          break;
        }
        case 18: {
          nodeElems_.AddEntriesFrom(input, _repeated_nodeElems_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFactoryObserverPayloadRetCheckoutPowerConnectionMapConnection : pb::IMessage<ScdFactoryObserverPayloadRetCheckoutPowerConnectionMapConnection> {
  private static readonly pb::MessageParser<ScdFactoryObserverPayloadRetCheckoutPowerConnectionMapConnection> _parser = new pb::MessageParser<ScdFactoryObserverPayloadRetCheckoutPowerConnectionMapConnection>(() => new ScdFactoryObserverPayloadRetCheckoutPowerConnectionMapConnection());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactoryObserverPayloadRetCheckoutPowerConnectionMapConnection> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[503]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryObserverPayloadRetCheckoutPowerConnectionMapConnection() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryObserverPayloadRetCheckoutPowerConnectionMapConnection(ScdFactoryObserverPayloadRetCheckoutPowerConnectionMapConnection other) : this() {
    index_ = other.index_;
    fromComId_ = other.fromComId_;
    fromNodeId_ = other.fromNodeId_;
    fromNodeStableId_ = other.fromNodeStableId_;
    fromNodeTemplateId_ = other.fromNodeTemplateId_;
    toComId_ = other.toComId_;
    toNodeId_ = other.toNodeId_;
    toNodeStableId_ = other.toNodeStableId_;
    toNodeTemplateId_ = other.toNodeTemplateId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryObserverPayloadRetCheckoutPowerConnectionMapConnection Clone() {
    return new ScdFactoryObserverPayloadRetCheckoutPowerConnectionMapConnection(this);
  }

  /// <summary>Field number for the "index" field.</summary>
  public const int IndexFieldNumber = 1;
  private ulong index_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong Index {
    get { return index_; }
    set {
      index_ = value;
    }
  }

  /// <summary>Field number for the "from_com_id" field.</summary>
  public const int FromComIdFieldNumber = 11;
  private uint fromComId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint FromComId {
    get { return fromComId_; }
    set {
      fromComId_ = value;
    }
  }

  /// <summary>Field number for the "from_node_id" field.</summary>
  public const int FromNodeIdFieldNumber = 12;
  private uint fromNodeId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint FromNodeId {
    get { return fromNodeId_; }
    set {
      fromNodeId_ = value;
    }
  }

  /// <summary>Field number for the "from_node_stable_id" field.</summary>
  public const int FromNodeStableIdFieldNumber = 13;
  private ulong fromNodeStableId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong FromNodeStableId {
    get { return fromNodeStableId_; }
    set {
      fromNodeStableId_ = value;
    }
  }

  /// <summary>Field number for the "from_node_template_id" field.</summary>
  public const int FromNodeTemplateIdFieldNumber = 14;
  private string fromNodeTemplateId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string FromNodeTemplateId {
    get { return fromNodeTemplateId_; }
    set {
      fromNodeTemplateId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "to_com_id" field.</summary>
  public const int ToComIdFieldNumber = 21;
  private uint toComId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint ToComId {
    get { return toComId_; }
    set {
      toComId_ = value;
    }
  }

  /// <summary>Field number for the "to_node_id" field.</summary>
  public const int ToNodeIdFieldNumber = 22;
  private uint toNodeId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint ToNodeId {
    get { return toNodeId_; }
    set {
      toNodeId_ = value;
    }
  }

  /// <summary>Field number for the "to_node_stable_id" field.</summary>
  public const int ToNodeStableIdFieldNumber = 23;
  private ulong toNodeStableId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong ToNodeStableId {
    get { return toNodeStableId_; }
    set {
      toNodeStableId_ = value;
    }
  }

  /// <summary>Field number for the "to_node_template_id" field.</summary>
  public const int ToNodeTemplateIdFieldNumber = 24;
  private string toNodeTemplateId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ToNodeTemplateId {
    get { return toNodeTemplateId_; }
    set {
      toNodeTemplateId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactoryObserverPayloadRetCheckoutPowerConnectionMapConnection);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactoryObserverPayloadRetCheckoutPowerConnectionMapConnection other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Index != other.Index) return false;
    if (FromComId != other.FromComId) return false;
    if (FromNodeId != other.FromNodeId) return false;
    if (FromNodeStableId != other.FromNodeStableId) return false;
    if (FromNodeTemplateId != other.FromNodeTemplateId) return false;
    if (ToComId != other.ToComId) return false;
    if (ToNodeId != other.ToNodeId) return false;
    if (ToNodeStableId != other.ToNodeStableId) return false;
    if (ToNodeTemplateId != other.ToNodeTemplateId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Index != 0UL) hash ^= Index.GetHashCode();
    if (FromComId != 0) hash ^= FromComId.GetHashCode();
    if (FromNodeId != 0) hash ^= FromNodeId.GetHashCode();
    if (FromNodeStableId != 0UL) hash ^= FromNodeStableId.GetHashCode();
    if (FromNodeTemplateId.Length != 0) hash ^= FromNodeTemplateId.GetHashCode();
    if (ToComId != 0) hash ^= ToComId.GetHashCode();
    if (ToNodeId != 0) hash ^= ToNodeId.GetHashCode();
    if (ToNodeStableId != 0UL) hash ^= ToNodeStableId.GetHashCode();
    if (ToNodeTemplateId.Length != 0) hash ^= ToNodeTemplateId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Index != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(Index);
    }
    if (FromComId != 0) {
      output.WriteRawTag(88);
      output.WriteUInt32(FromComId);
    }
    if (FromNodeId != 0) {
      output.WriteRawTag(96);
      output.WriteUInt32(FromNodeId);
    }
    if (FromNodeStableId != 0UL) {
      output.WriteRawTag(104);
      output.WriteUInt64(FromNodeStableId);
    }
    if (FromNodeTemplateId.Length != 0) {
      output.WriteRawTag(114);
      output.WriteString(FromNodeTemplateId);
    }
    if (ToComId != 0) {
      output.WriteRawTag(168, 1);
      output.WriteUInt32(ToComId);
    }
    if (ToNodeId != 0) {
      output.WriteRawTag(176, 1);
      output.WriteUInt32(ToNodeId);
    }
    if (ToNodeStableId != 0UL) {
      output.WriteRawTag(184, 1);
      output.WriteUInt64(ToNodeStableId);
    }
    if (ToNodeTemplateId.Length != 0) {
      output.WriteRawTag(194, 1);
      output.WriteString(ToNodeTemplateId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Index != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(Index);
    }
    if (FromComId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(FromComId);
    }
    if (FromNodeId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(FromNodeId);
    }
    if (FromNodeStableId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(FromNodeStableId);
    }
    if (FromNodeTemplateId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(FromNodeTemplateId);
    }
    if (ToComId != 0) {
      size += 2 + pb::CodedOutputStream.ComputeUInt32Size(ToComId);
    }
    if (ToNodeId != 0) {
      size += 2 + pb::CodedOutputStream.ComputeUInt32Size(ToNodeId);
    }
    if (ToNodeStableId != 0UL) {
      size += 2 + pb::CodedOutputStream.ComputeUInt64Size(ToNodeStableId);
    }
    if (ToNodeTemplateId.Length != 0) {
      size += 2 + pb::CodedOutputStream.ComputeStringSize(ToNodeTemplateId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactoryObserverPayloadRetCheckoutPowerConnectionMapConnection other) {
    if (other == null) {
      return;
    }
    if (other.Index != 0UL) {
      Index = other.Index;
    }
    if (other.FromComId != 0) {
      FromComId = other.FromComId;
    }
    if (other.FromNodeId != 0) {
      FromNodeId = other.FromNodeId;
    }
    if (other.FromNodeStableId != 0UL) {
      FromNodeStableId = other.FromNodeStableId;
    }
    if (other.FromNodeTemplateId.Length != 0) {
      FromNodeTemplateId = other.FromNodeTemplateId;
    }
    if (other.ToComId != 0) {
      ToComId = other.ToComId;
    }
    if (other.ToNodeId != 0) {
      ToNodeId = other.ToNodeId;
    }
    if (other.ToNodeStableId != 0UL) {
      ToNodeStableId = other.ToNodeStableId;
    }
    if (other.ToNodeTemplateId.Length != 0) {
      ToNodeTemplateId = other.ToNodeTemplateId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Index = input.ReadUInt64();
          break;
        }
        case 88: {
          FromComId = input.ReadUInt32();
          break;
        }
        case 96: {
          FromNodeId = input.ReadUInt32();
          break;
        }
        case 104: {
          FromNodeStableId = input.ReadUInt64();
          break;
        }
        case 114: {
          FromNodeTemplateId = input.ReadString();
          break;
        }
        case 168: {
          ToComId = input.ReadUInt32();
          break;
        }
        case 176: {
          ToNodeId = input.ReadUInt32();
          break;
        }
        case 184: {
          ToNodeStableId = input.ReadUInt64();
          break;
        }
        case 194: {
          ToNodeTemplateId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFactoryObserverPayloadRetCheckoutPowerConnectionMapNodeElem : pb::IMessage<ScdFactoryObserverPayloadRetCheckoutPowerConnectionMapNodeElem> {
  private static readonly pb::MessageParser<ScdFactoryObserverPayloadRetCheckoutPowerConnectionMapNodeElem> _parser = new pb::MessageParser<ScdFactoryObserverPayloadRetCheckoutPowerConnectionMapNodeElem>(() => new ScdFactoryObserverPayloadRetCheckoutPowerConnectionMapNodeElem());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactoryObserverPayloadRetCheckoutPowerConnectionMapNodeElem> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[504]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryObserverPayloadRetCheckoutPowerConnectionMapNodeElem() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryObserverPayloadRetCheckoutPowerConnectionMapNodeElem(ScdFactoryObserverPayloadRetCheckoutPowerConnectionMapNodeElem other) : this() {
    nodeId_ = other.nodeId_;
    nodeStableId_ = other.nodeStableId_;
    nodeTemplateId_ = other.nodeTemplateId_;
    comId_ = other.comId_;
    logicId_ = other.logicId_;
    distance_ = other.distance_;
    neighbors_ = other.neighbors_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryObserverPayloadRetCheckoutPowerConnectionMapNodeElem Clone() {
    return new ScdFactoryObserverPayloadRetCheckoutPowerConnectionMapNodeElem(this);
  }

  /// <summary>Field number for the "node_id" field.</summary>
  public const int NodeIdFieldNumber = 1;
  private uint nodeId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint NodeId {
    get { return nodeId_; }
    set {
      nodeId_ = value;
    }
  }

  /// <summary>Field number for the "node_stable_id" field.</summary>
  public const int NodeStableIdFieldNumber = 2;
  private ulong nodeStableId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong NodeStableId {
    get { return nodeStableId_; }
    set {
      nodeStableId_ = value;
    }
  }

  /// <summary>Field number for the "node_template_id" field.</summary>
  public const int NodeTemplateIdFieldNumber = 3;
  private string nodeTemplateId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string NodeTemplateId {
    get { return nodeTemplateId_; }
    set {
      nodeTemplateId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "com_id" field.</summary>
  public const int ComIdFieldNumber = 4;
  private uint comId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint ComId {
    get { return comId_; }
    set {
      comId_ = value;
    }
  }

  /// <summary>Field number for the "logic_id" field.</summary>
  public const int LogicIdFieldNumber = 7;
  private ulong logicId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong LogicId {
    get { return logicId_; }
    set {
      logicId_ = value;
    }
  }

  /// <summary>Field number for the "distance" field.</summary>
  public const int DistanceFieldNumber = 11;
  private int distance_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Distance {
    get { return distance_; }
    set {
      distance_ = value;
    }
  }

  /// <summary>Field number for the "neighbors" field.</summary>
  public const int NeighborsFieldNumber = 12;
  private static readonly pb::FieldCodec<uint> _repeated_neighbors_codec
      = pb::FieldCodec.ForUInt32(98);
  private readonly pbc::RepeatedField<uint> neighbors_ = new pbc::RepeatedField<uint>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<uint> Neighbors {
    get { return neighbors_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactoryObserverPayloadRetCheckoutPowerConnectionMapNodeElem);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactoryObserverPayloadRetCheckoutPowerConnectionMapNodeElem other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (NodeId != other.NodeId) return false;
    if (NodeStableId != other.NodeStableId) return false;
    if (NodeTemplateId != other.NodeTemplateId) return false;
    if (ComId != other.ComId) return false;
    if (LogicId != other.LogicId) return false;
    if (Distance != other.Distance) return false;
    if(!neighbors_.Equals(other.neighbors_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (NodeId != 0) hash ^= NodeId.GetHashCode();
    if (NodeStableId != 0UL) hash ^= NodeStableId.GetHashCode();
    if (NodeTemplateId.Length != 0) hash ^= NodeTemplateId.GetHashCode();
    if (ComId != 0) hash ^= ComId.GetHashCode();
    if (LogicId != 0UL) hash ^= LogicId.GetHashCode();
    if (Distance != 0) hash ^= Distance.GetHashCode();
    hash ^= neighbors_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (NodeId != 0) {
      output.WriteRawTag(8);
      output.WriteUInt32(NodeId);
    }
    if (NodeStableId != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(NodeStableId);
    }
    if (NodeTemplateId.Length != 0) {
      output.WriteRawTag(26);
      output.WriteString(NodeTemplateId);
    }
    if (ComId != 0) {
      output.WriteRawTag(32);
      output.WriteUInt32(ComId);
    }
    if (LogicId != 0UL) {
      output.WriteRawTag(56);
      output.WriteUInt64(LogicId);
    }
    if (Distance != 0) {
      output.WriteRawTag(88);
      output.WriteInt32(Distance);
    }
    neighbors_.WriteTo(output, _repeated_neighbors_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (NodeId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(NodeId);
    }
    if (NodeStableId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(NodeStableId);
    }
    if (NodeTemplateId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(NodeTemplateId);
    }
    if (ComId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(ComId);
    }
    if (LogicId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(LogicId);
    }
    if (Distance != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Distance);
    }
    size += neighbors_.CalculateSize(_repeated_neighbors_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactoryObserverPayloadRetCheckoutPowerConnectionMapNodeElem other) {
    if (other == null) {
      return;
    }
    if (other.NodeId != 0) {
      NodeId = other.NodeId;
    }
    if (other.NodeStableId != 0UL) {
      NodeStableId = other.NodeStableId;
    }
    if (other.NodeTemplateId.Length != 0) {
      NodeTemplateId = other.NodeTemplateId;
    }
    if (other.ComId != 0) {
      ComId = other.ComId;
    }
    if (other.LogicId != 0UL) {
      LogicId = other.LogicId;
    }
    if (other.Distance != 0) {
      Distance = other.Distance;
    }
    neighbors_.Add(other.neighbors_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          NodeId = input.ReadUInt32();
          break;
        }
        case 16: {
          NodeStableId = input.ReadUInt64();
          break;
        }
        case 26: {
          NodeTemplateId = input.ReadString();
          break;
        }
        case 32: {
          ComId = input.ReadUInt32();
          break;
        }
        case 56: {
          LogicId = input.ReadUInt64();
          break;
        }
        case 88: {
          Distance = input.ReadInt32();
          break;
        }
        case 98:
        case 96: {
          neighbors_.AddEntriesFrom(input, _repeated_neighbors_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFactoryObserverPayloadRetCheckoutOutsideResource : pb::IMessage<ScdFactoryObserverPayloadRetCheckoutOutsideResource> {
  private static readonly pb::MessageParser<ScdFactoryObserverPayloadRetCheckoutOutsideResource> _parser = new pb::MessageParser<ScdFactoryObserverPayloadRetCheckoutOutsideResource>(() => new ScdFactoryObserverPayloadRetCheckoutOutsideResource());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactoryObserverPayloadRetCheckoutOutsideResource> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[505]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryObserverPayloadRetCheckoutOutsideResource() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryObserverPayloadRetCheckoutOutsideResource(ScdFactoryObserverPayloadRetCheckoutOutsideResource other) : this() {
    placeBandwidth_ = other.placeBandwidth_.Clone();
    placeBandwidthUse_ = other.placeBandwidthUse_.Clone();
    placeBandwidthNodeUses_ = other.placeBandwidthNodeUses_.Clone();
    placeBandwidthSp_ = other.placeBandwidthSp_.Clone();
    placeBandwidthSpUse_ = other.placeBandwidthSpUse_.Clone();
    placeBandwidthSpNodeUses_ = other.placeBandwidthSpNodeUses_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryObserverPayloadRetCheckoutOutsideResource Clone() {
    return new ScdFactoryObserverPayloadRetCheckoutOutsideResource(this);
  }

  /// <summary>Field number for the "place_bandwidth" field.</summary>
  public const int PlaceBandwidthFieldNumber = 1;
  private static readonly pbc::MapField<string, int>.Codec _map_placeBandwidth_codec
      = new pbc::MapField<string, int>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForInt32(16), 10);
  private readonly pbc::MapField<string, int> placeBandwidth_ = new pbc::MapField<string, int>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<string, int> PlaceBandwidth {
    get { return placeBandwidth_; }
  }

  /// <summary>Field number for the "place_bandwidth_use" field.</summary>
  public const int PlaceBandwidthUseFieldNumber = 2;
  private static readonly pbc::MapField<string, int>.Codec _map_placeBandwidthUse_codec
      = new pbc::MapField<string, int>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForInt32(16), 18);
  private readonly pbc::MapField<string, int> placeBandwidthUse_ = new pbc::MapField<string, int>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<string, int> PlaceBandwidthUse {
    get { return placeBandwidthUse_; }
  }

  /// <summary>Field number for the "place_bandwidth_node_uses" field.</summary>
  public const int PlaceBandwidthNodeUsesFieldNumber = 3;
  private static readonly pb::FieldCodec<global::ScdFactoryObserverPayloadRetCheckoutOutsideResourceNodeUse> _repeated_placeBandwidthNodeUses_codec
      = pb::FieldCodec.ForMessage(26, global::ScdFactoryObserverPayloadRetCheckoutOutsideResourceNodeUse.Parser);
  private readonly pbc::RepeatedField<global::ScdFactoryObserverPayloadRetCheckoutOutsideResourceNodeUse> placeBandwidthNodeUses_ = new pbc::RepeatedField<global::ScdFactoryObserverPayloadRetCheckoutOutsideResourceNodeUse>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdFactoryObserverPayloadRetCheckoutOutsideResourceNodeUse> PlaceBandwidthNodeUses {
    get { return placeBandwidthNodeUses_; }
  }

  /// <summary>Field number for the "place_bandwidth_sp" field.</summary>
  public const int PlaceBandwidthSpFieldNumber = 11;
  private static readonly pbc::MapField<string, int>.Codec _map_placeBandwidthSp_codec
      = new pbc::MapField<string, int>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForInt32(16), 90);
  private readonly pbc::MapField<string, int> placeBandwidthSp_ = new pbc::MapField<string, int>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<string, int> PlaceBandwidthSp {
    get { return placeBandwidthSp_; }
  }

  /// <summary>Field number for the "place_bandwidth_sp_use" field.</summary>
  public const int PlaceBandwidthSpUseFieldNumber = 12;
  private static readonly pbc::MapField<string, int>.Codec _map_placeBandwidthSpUse_codec
      = new pbc::MapField<string, int>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForInt32(16), 98);
  private readonly pbc::MapField<string, int> placeBandwidthSpUse_ = new pbc::MapField<string, int>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<string, int> PlaceBandwidthSpUse {
    get { return placeBandwidthSpUse_; }
  }

  /// <summary>Field number for the "place_bandwidth_sp_node_uses" field.</summary>
  public const int PlaceBandwidthSpNodeUsesFieldNumber = 13;
  private static readonly pb::FieldCodec<global::ScdFactoryObserverPayloadRetCheckoutOutsideResourceNodeUse> _repeated_placeBandwidthSpNodeUses_codec
      = pb::FieldCodec.ForMessage(106, global::ScdFactoryObserverPayloadRetCheckoutOutsideResourceNodeUse.Parser);
  private readonly pbc::RepeatedField<global::ScdFactoryObserverPayloadRetCheckoutOutsideResourceNodeUse> placeBandwidthSpNodeUses_ = new pbc::RepeatedField<global::ScdFactoryObserverPayloadRetCheckoutOutsideResourceNodeUse>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdFactoryObserverPayloadRetCheckoutOutsideResourceNodeUse> PlaceBandwidthSpNodeUses {
    get { return placeBandwidthSpNodeUses_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactoryObserverPayloadRetCheckoutOutsideResource);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactoryObserverPayloadRetCheckoutOutsideResource other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!PlaceBandwidth.Equals(other.PlaceBandwidth)) return false;
    if (!PlaceBandwidthUse.Equals(other.PlaceBandwidthUse)) return false;
    if(!placeBandwidthNodeUses_.Equals(other.placeBandwidthNodeUses_)) return false;
    if (!PlaceBandwidthSp.Equals(other.PlaceBandwidthSp)) return false;
    if (!PlaceBandwidthSpUse.Equals(other.PlaceBandwidthSpUse)) return false;
    if(!placeBandwidthSpNodeUses_.Equals(other.placeBandwidthSpNodeUses_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= PlaceBandwidth.GetHashCode();
    hash ^= PlaceBandwidthUse.GetHashCode();
    hash ^= placeBandwidthNodeUses_.GetHashCode();
    hash ^= PlaceBandwidthSp.GetHashCode();
    hash ^= PlaceBandwidthSpUse.GetHashCode();
    hash ^= placeBandwidthSpNodeUses_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    placeBandwidth_.WriteTo(output, _map_placeBandwidth_codec);
    placeBandwidthUse_.WriteTo(output, _map_placeBandwidthUse_codec);
    placeBandwidthNodeUses_.WriteTo(output, _repeated_placeBandwidthNodeUses_codec);
    placeBandwidthSp_.WriteTo(output, _map_placeBandwidthSp_codec);
    placeBandwidthSpUse_.WriteTo(output, _map_placeBandwidthSpUse_codec);
    placeBandwidthSpNodeUses_.WriteTo(output, _repeated_placeBandwidthSpNodeUses_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += placeBandwidth_.CalculateSize(_map_placeBandwidth_codec);
    size += placeBandwidthUse_.CalculateSize(_map_placeBandwidthUse_codec);
    size += placeBandwidthNodeUses_.CalculateSize(_repeated_placeBandwidthNodeUses_codec);
    size += placeBandwidthSp_.CalculateSize(_map_placeBandwidthSp_codec);
    size += placeBandwidthSpUse_.CalculateSize(_map_placeBandwidthSpUse_codec);
    size += placeBandwidthSpNodeUses_.CalculateSize(_repeated_placeBandwidthSpNodeUses_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactoryObserverPayloadRetCheckoutOutsideResource other) {
    if (other == null) {
      return;
    }
    placeBandwidth_.Add(other.placeBandwidth_);
    placeBandwidthUse_.Add(other.placeBandwidthUse_);
    placeBandwidthNodeUses_.Add(other.placeBandwidthNodeUses_);
    placeBandwidthSp_.Add(other.placeBandwidthSp_);
    placeBandwidthSpUse_.Add(other.placeBandwidthSpUse_);
    placeBandwidthSpNodeUses_.Add(other.placeBandwidthSpNodeUses_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          placeBandwidth_.AddEntriesFrom(input, _map_placeBandwidth_codec);
          break;
        }
        case 18: {
          placeBandwidthUse_.AddEntriesFrom(input, _map_placeBandwidthUse_codec);
          break;
        }
        case 26: {
          placeBandwidthNodeUses_.AddEntriesFrom(input, _repeated_placeBandwidthNodeUses_codec);
          break;
        }
        case 90: {
          placeBandwidthSp_.AddEntriesFrom(input, _map_placeBandwidthSp_codec);
          break;
        }
        case 98: {
          placeBandwidthSpUse_.AddEntriesFrom(input, _map_placeBandwidthSpUse_codec);
          break;
        }
        case 106: {
          placeBandwidthSpNodeUses_.AddEntriesFrom(input, _repeated_placeBandwidthSpNodeUses_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFactoryObserverPayloadRetCheckoutOutsideResourceNodeUse : pb::IMessage<ScdFactoryObserverPayloadRetCheckoutOutsideResourceNodeUse> {
  private static readonly pb::MessageParser<ScdFactoryObserverPayloadRetCheckoutOutsideResourceNodeUse> _parser = new pb::MessageParser<ScdFactoryObserverPayloadRetCheckoutOutsideResourceNodeUse>(() => new ScdFactoryObserverPayloadRetCheckoutOutsideResourceNodeUse());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactoryObserverPayloadRetCheckoutOutsideResourceNodeUse> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[506]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryObserverPayloadRetCheckoutOutsideResourceNodeUse() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryObserverPayloadRetCheckoutOutsideResourceNodeUse(ScdFactoryObserverPayloadRetCheckoutOutsideResourceNodeUse other) : this() {
    nodeId_ = other.nodeId_;
    sceneName_ = other.sceneName_;
    use_ = other.use_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryObserverPayloadRetCheckoutOutsideResourceNodeUse Clone() {
    return new ScdFactoryObserverPayloadRetCheckoutOutsideResourceNodeUse(this);
  }

  /// <summary>Field number for the "node_id" field.</summary>
  public const int NodeIdFieldNumber = 1;
  private uint nodeId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint NodeId {
    get { return nodeId_; }
    set {
      nodeId_ = value;
    }
  }

  /// <summary>Field number for the "scene_name" field.</summary>
  public const int SceneNameFieldNumber = 2;
  private string sceneName_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string SceneName {
    get { return sceneName_; }
    set {
      sceneName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "use" field.</summary>
  public const int UseFieldNumber = 3;
  private int use_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Use {
    get { return use_; }
    set {
      use_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactoryObserverPayloadRetCheckoutOutsideResourceNodeUse);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactoryObserverPayloadRetCheckoutOutsideResourceNodeUse other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (NodeId != other.NodeId) return false;
    if (SceneName != other.SceneName) return false;
    if (Use != other.Use) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (NodeId != 0) hash ^= NodeId.GetHashCode();
    if (SceneName.Length != 0) hash ^= SceneName.GetHashCode();
    if (Use != 0) hash ^= Use.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (NodeId != 0) {
      output.WriteRawTag(8);
      output.WriteUInt32(NodeId);
    }
    if (SceneName.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(SceneName);
    }
    if (Use != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(Use);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (NodeId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(NodeId);
    }
    if (SceneName.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(SceneName);
    }
    if (Use != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Use);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactoryObserverPayloadRetCheckoutOutsideResourceNodeUse other) {
    if (other == null) {
      return;
    }
    if (other.NodeId != 0) {
      NodeId = other.NodeId;
    }
    if (other.SceneName.Length != 0) {
      SceneName = other.SceneName;
    }
    if (other.Use != 0) {
      Use = other.Use;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          NodeId = input.ReadUInt32();
          break;
        }
        case 18: {
          SceneName = input.ReadString();
          break;
        }
        case 24: {
          Use = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class CsFactoryOp : pb::IMessage<CsFactoryOp> {
  private static readonly pb::MessageParser<CsFactoryOp> _parser = new pb::MessageParser<CsFactoryOp>(() => new CsFactoryOp());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsFactoryOp> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[507]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFactoryOp() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFactoryOp(CsFactoryOp other) : this() {
    index_ = other.index_;
    opType_ = other.opType_;
    chapterId_ = other.chapterId_;
    switch (other.OpPayloadCase) {
      case OpPayloadOneofCase.Place:
        Place = other.Place.Clone();
        break;
      case OpPayloadOneofCase.PlaceConveyor:
        PlaceConveyor = other.PlaceConveyor.Clone();
        break;
      case OpPayloadOneofCase.Dismantle:
        Dismantle = other.Dismantle.Clone();
        break;
      case OpPayloadOneofCase.SetSelectTarget:
        SetSelectTarget = other.SetSelectTarget.Clone();
        break;
      case OpPayloadOneofCase.EnableNode:
        EnableNode = other.EnableNode.Clone();
        break;
      case OpPayloadOneofCase.MoveNode:
        MoveNode = other.MoveNode.Clone();
        break;
      case OpPayloadOneofCase.DismantleBoxConveyor:
        DismantleBoxConveyor = other.DismantleBoxConveyor.Clone();
        break;
      case OpPayloadOneofCase.RepairNode:
        RepairNode = other.RepairNode.Clone();
        break;
      case OpPayloadOneofCase.MoveItemCacheToCache:
        MoveItemCacheToCache = other.MoveItemCacheToCache.Clone();
        break;
      case OpPayloadOneofCase.MoveItemBagToCache:
        MoveItemBagToCache = other.MoveItemBagToCache.Clone();
        break;
      case OpPayloadOneofCase.MoveItemCacheToBag:
        MoveItemCacheToBag = other.MoveItemCacheToBag.Clone();
        break;
      case OpPayloadOneofCase.MoveItemDepotToCache:
        MoveItemDepotToCache = other.MoveItemDepotToCache.Clone();
        break;
      case OpPayloadOneofCase.MoveItemCacheToDepot:
        MoveItemCacheToDepot = other.MoveItemCacheToDepot.Clone();
        break;
      case OpPayloadOneofCase.MoveItemConveyorToBag:
        MoveItemConveyorToBag = other.MoveItemConveyorToBag.Clone();
        break;
      case OpPayloadOneofCase.CacheTransportTransfer:
        CacheTransportTransfer = other.CacheTransportTransfer.Clone();
        break;
      case OpPayloadOneofCase.CacheTransportEnable:
        CacheTransportEnable = other.CacheTransportEnable.Clone();
        break;
      case OpPayloadOneofCase.SetTravelPoleDefaultNext:
        SetTravelPoleDefaultNext = other.SetTravelPoleDefaultNext.Clone();
        break;
      case OpPayloadOneofCase.UseHealTowerPoint:
        UseHealTowerPoint = other.UseHealTowerPoint.Clone();
        break;
      case OpPayloadOneofCase.BattleRepair:
        BattleRepair = other.BattleRepair.Clone();
        break;
      case OpPayloadOneofCase.AddConnection:
        AddConnection = other.AddConnection.Clone();
        break;
      case OpPayloadOneofCase.DelConnection:
        DelConnection = other.DelConnection.Clone();
        break;
      case OpPayloadOneofCase.GridBoxInnerMove:
        GridBoxInnerMove = other.GridBoxInnerMove.Clone();
        break;
      case OpPayloadOneofCase.GridBoxInnerSplit:
        GridBoxInnerSplit = other.GridBoxInnerSplit.Clone();
        break;
      case OpPayloadOneofCase.MoveItemBagToGridBox:
        MoveItemBagToGridBox = other.MoveItemBagToGridBox.Clone();
        break;
      case OpPayloadOneofCase.MoveItemGridBoxToBag:
        MoveItemGridBoxToBag = other.MoveItemGridBoxToBag.Clone();
        break;
      case OpPayloadOneofCase.MoveItemDepotToGridBox:
        MoveItemDepotToGridBox = other.MoveItemDepotToGridBox.Clone();
        break;
      case OpPayloadOneofCase.MoveItemGridBoxToDepot:
        MoveItemGridBoxToDepot = other.MoveItemGridBoxToDepot.Clone();
        break;
      case OpPayloadOneofCase.MoveAllCacheOutItemToBag:
        MoveAllCacheOutItemToBag = other.MoveAllCacheOutItemToBag.Clone();
        break;
      case OpPayloadOneofCase.QuickPutBattery:
        QuickPutBattery = other.QuickPutBattery.Clone();
        break;
      case OpPayloadOneofCase.ChangeProducerMode:
        ChangeProducerMode = other.ChangeProducerMode.Clone();
        break;
      case OpPayloadOneofCase.ReverseFluidConveyorDirection:
        ReverseFluidConveyorDirection = other.ReverseFluidConveyorDirection.Clone();
        break;
      case OpPayloadOneofCase.DismantleBatch:
        DismantleBatch = other.DismantleBatch.Clone();
        break;
      case OpPayloadOneofCase.TakeOutFluidFromLiquidBody:
        TakeOutFluidFromLiquidBody = other.TakeOutFluidFromLiquidBody.Clone();
        break;
      case OpPayloadOneofCase.PutInFluidToLiquidBody:
        PutInFluidToLiquidBody = other.PutInFluidToLiquidBody.Clone();
        break;
      case OpPayloadOneofCase.FillingFluidComWithBag:
        FillingFluidComWithBag = other.FillingFluidComWithBag.Clone();
        break;
      case OpPayloadOneofCase.FillingFluidComWithDepot:
        FillingFluidComWithDepot = other.FillingFluidComWithDepot.Clone();
        break;
    }

    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFactoryOp Clone() {
    return new CsFactoryOp(this);
  }

  /// <summary>Field number for the "index" field.</summary>
  public const int IndexFieldNumber = 1;
  private string index_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string Index {
    get { return index_; }
    set {
      index_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "op_type" field.</summary>
  public const int OpTypeFieldNumber = 2;
  private global::FactoryOpType opType_ = 0;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::FactoryOpType OpType {
    get { return opType_; }
    set {
      opType_ = value;
    }
  }

  /// <summary>Field number for the "chapter_id" field.</summary>
  public const int ChapterIdFieldNumber = 3;
  private string chapterId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ChapterId {
    get { return chapterId_; }
    set {
      chapterId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "place" field.</summary>
  public const int PlaceFieldNumber = 11;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::CsdFactoryOpPlace Place {
    get { return opPayloadCase_ == OpPayloadOneofCase.Place ? (global::CsdFactoryOpPlace) opPayload_ : null; }
    set {
      opPayload_ = value;
      opPayloadCase_ = value == null ? OpPayloadOneofCase.None : OpPayloadOneofCase.Place;
    }
  }

  /// <summary>Field number for the "place_conveyor" field.</summary>
  public const int PlaceConveyorFieldNumber = 12;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::CsdFactoryOpPlaceConveyor PlaceConveyor {
    get { return opPayloadCase_ == OpPayloadOneofCase.PlaceConveyor ? (global::CsdFactoryOpPlaceConveyor) opPayload_ : null; }
    set {
      opPayload_ = value;
      opPayloadCase_ = value == null ? OpPayloadOneofCase.None : OpPayloadOneofCase.PlaceConveyor;
    }
  }

  /// <summary>Field number for the "dismantle" field.</summary>
  public const int DismantleFieldNumber = 13;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::CsdFactoryOpDismantle Dismantle {
    get { return opPayloadCase_ == OpPayloadOneofCase.Dismantle ? (global::CsdFactoryOpDismantle) opPayload_ : null; }
    set {
      opPayload_ = value;
      opPayloadCase_ = value == null ? OpPayloadOneofCase.None : OpPayloadOneofCase.Dismantle;
    }
  }

  /// <summary>Field number for the "set_select_target" field.</summary>
  public const int SetSelectTargetFieldNumber = 15;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::CsdFactoryOpSetSelectTarget SetSelectTarget {
    get { return opPayloadCase_ == OpPayloadOneofCase.SetSelectTarget ? (global::CsdFactoryOpSetSelectTarget) opPayload_ : null; }
    set {
      opPayload_ = value;
      opPayloadCase_ = value == null ? OpPayloadOneofCase.None : OpPayloadOneofCase.SetSelectTarget;
    }
  }

  /// <summary>Field number for the "enable_node" field.</summary>
  public const int EnableNodeFieldNumber = 16;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::CsdFactoryOpEnableNode EnableNode {
    get { return opPayloadCase_ == OpPayloadOneofCase.EnableNode ? (global::CsdFactoryOpEnableNode) opPayload_ : null; }
    set {
      opPayload_ = value;
      opPayloadCase_ = value == null ? OpPayloadOneofCase.None : OpPayloadOneofCase.EnableNode;
    }
  }

  /// <summary>Field number for the "move_node" field.</summary>
  public const int MoveNodeFieldNumber = 17;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::CsdFactoryOpMoveNode MoveNode {
    get { return opPayloadCase_ == OpPayloadOneofCase.MoveNode ? (global::CsdFactoryOpMoveNode) opPayload_ : null; }
    set {
      opPayload_ = value;
      opPayloadCase_ = value == null ? OpPayloadOneofCase.None : OpPayloadOneofCase.MoveNode;
    }
  }

  /// <summary>Field number for the "dismantle_box_conveyor" field.</summary>
  public const int DismantleBoxConveyorFieldNumber = 18;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::CsdFactoryOpDismantleBoxConveyor DismantleBoxConveyor {
    get { return opPayloadCase_ == OpPayloadOneofCase.DismantleBoxConveyor ? (global::CsdFactoryOpDismantleBoxConveyor) opPayload_ : null; }
    set {
      opPayload_ = value;
      opPayloadCase_ = value == null ? OpPayloadOneofCase.None : OpPayloadOneofCase.DismantleBoxConveyor;
    }
  }

  /// <summary>Field number for the "repair_node" field.</summary>
  public const int RepairNodeFieldNumber = 19;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::CsdFactoryOpRepairNode RepairNode {
    get { return opPayloadCase_ == OpPayloadOneofCase.RepairNode ? (global::CsdFactoryOpRepairNode) opPayload_ : null; }
    set {
      opPayload_ = value;
      opPayloadCase_ = value == null ? OpPayloadOneofCase.None : OpPayloadOneofCase.RepairNode;
    }
  }

  /// <summary>Field number for the "move_item_cache_to_cache" field.</summary>
  public const int MoveItemCacheToCacheFieldNumber = 20;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::CsdFactoryOpMoveItemCacheToCache MoveItemCacheToCache {
    get { return opPayloadCase_ == OpPayloadOneofCase.MoveItemCacheToCache ? (global::CsdFactoryOpMoveItemCacheToCache) opPayload_ : null; }
    set {
      opPayload_ = value;
      opPayloadCase_ = value == null ? OpPayloadOneofCase.None : OpPayloadOneofCase.MoveItemCacheToCache;
    }
  }

  /// <summary>Field number for the "move_item_bag_to_cache" field.</summary>
  public const int MoveItemBagToCacheFieldNumber = 21;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::CsdFactoryOpMoveItemBagToCache MoveItemBagToCache {
    get { return opPayloadCase_ == OpPayloadOneofCase.MoveItemBagToCache ? (global::CsdFactoryOpMoveItemBagToCache) opPayload_ : null; }
    set {
      opPayload_ = value;
      opPayloadCase_ = value == null ? OpPayloadOneofCase.None : OpPayloadOneofCase.MoveItemBagToCache;
    }
  }

  /// <summary>Field number for the "move_item_cache_to_bag" field.</summary>
  public const int MoveItemCacheToBagFieldNumber = 22;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::CsdFactoryOpMoveItemCacheToBag MoveItemCacheToBag {
    get { return opPayloadCase_ == OpPayloadOneofCase.MoveItemCacheToBag ? (global::CsdFactoryOpMoveItemCacheToBag) opPayload_ : null; }
    set {
      opPayload_ = value;
      opPayloadCase_ = value == null ? OpPayloadOneofCase.None : OpPayloadOneofCase.MoveItemCacheToBag;
    }
  }

  /// <summary>Field number for the "move_item_depot_to_cache" field.</summary>
  public const int MoveItemDepotToCacheFieldNumber = 23;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::CsdFactoryOpMoveItemDepotToCache MoveItemDepotToCache {
    get { return opPayloadCase_ == OpPayloadOneofCase.MoveItemDepotToCache ? (global::CsdFactoryOpMoveItemDepotToCache) opPayload_ : null; }
    set {
      opPayload_ = value;
      opPayloadCase_ = value == null ? OpPayloadOneofCase.None : OpPayloadOneofCase.MoveItemDepotToCache;
    }
  }

  /// <summary>Field number for the "move_item_cache_to_depot" field.</summary>
  public const int MoveItemCacheToDepotFieldNumber = 24;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::CsdFactoryOpMoveItemCacheToDepot MoveItemCacheToDepot {
    get { return opPayloadCase_ == OpPayloadOneofCase.MoveItemCacheToDepot ? (global::CsdFactoryOpMoveItemCacheToDepot) opPayload_ : null; }
    set {
      opPayload_ = value;
      opPayloadCase_ = value == null ? OpPayloadOneofCase.None : OpPayloadOneofCase.MoveItemCacheToDepot;
    }
  }

  /// <summary>Field number for the "move_item_conveyor_to_bag" field.</summary>
  public const int MoveItemConveyorToBagFieldNumber = 25;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::CsdFactoryOpMoveItemConveyorToBag MoveItemConveyorToBag {
    get { return opPayloadCase_ == OpPayloadOneofCase.MoveItemConveyorToBag ? (global::CsdFactoryOpMoveItemConveyorToBag) opPayload_ : null; }
    set {
      opPayload_ = value;
      opPayloadCase_ = value == null ? OpPayloadOneofCase.None : OpPayloadOneofCase.MoveItemConveyorToBag;
    }
  }

  /// <summary>Field number for the "cache_transport_transfer" field.</summary>
  public const int CacheTransportTransferFieldNumber = 26;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::CsdFactoryOpCacheTransportTransfer CacheTransportTransfer {
    get { return opPayloadCase_ == OpPayloadOneofCase.CacheTransportTransfer ? (global::CsdFactoryOpCacheTransportTransfer) opPayload_ : null; }
    set {
      opPayload_ = value;
      opPayloadCase_ = value == null ? OpPayloadOneofCase.None : OpPayloadOneofCase.CacheTransportTransfer;
    }
  }

  /// <summary>Field number for the "cache_transport_enable" field.</summary>
  public const int CacheTransportEnableFieldNumber = 27;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::CsdFactoryOpCacheTransportEnable CacheTransportEnable {
    get { return opPayloadCase_ == OpPayloadOneofCase.CacheTransportEnable ? (global::CsdFactoryOpCacheTransportEnable) opPayload_ : null; }
    set {
      opPayload_ = value;
      opPayloadCase_ = value == null ? OpPayloadOneofCase.None : OpPayloadOneofCase.CacheTransportEnable;
    }
  }

  /// <summary>Field number for the "set_travel_pole_default_next" field.</summary>
  public const int SetTravelPoleDefaultNextFieldNumber = 28;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::CsdFactoryOpSetTravelPoleDefaultNext SetTravelPoleDefaultNext {
    get { return opPayloadCase_ == OpPayloadOneofCase.SetTravelPoleDefaultNext ? (global::CsdFactoryOpSetTravelPoleDefaultNext) opPayload_ : null; }
    set {
      opPayload_ = value;
      opPayloadCase_ = value == null ? OpPayloadOneofCase.None : OpPayloadOneofCase.SetTravelPoleDefaultNext;
    }
  }

  /// <summary>Field number for the "use_heal_tower_point" field.</summary>
  public const int UseHealTowerPointFieldNumber = 29;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::CsdFactoryOpUseHealTowerPoint UseHealTowerPoint {
    get { return opPayloadCase_ == OpPayloadOneofCase.UseHealTowerPoint ? (global::CsdFactoryOpUseHealTowerPoint) opPayload_ : null; }
    set {
      opPayload_ = value;
      opPayloadCase_ = value == null ? OpPayloadOneofCase.None : OpPayloadOneofCase.UseHealTowerPoint;
    }
  }

  /// <summary>Field number for the "battle_repair" field.</summary>
  public const int BattleRepairFieldNumber = 30;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::CsdFactoryOpBattleRepair BattleRepair {
    get { return opPayloadCase_ == OpPayloadOneofCase.BattleRepair ? (global::CsdFactoryOpBattleRepair) opPayload_ : null; }
    set {
      opPayload_ = value;
      opPayloadCase_ = value == null ? OpPayloadOneofCase.None : OpPayloadOneofCase.BattleRepair;
    }
  }

  /// <summary>Field number for the "add_connection" field.</summary>
  public const int AddConnectionFieldNumber = 31;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::CsdFactoryOpAddConnection AddConnection {
    get { return opPayloadCase_ == OpPayloadOneofCase.AddConnection ? (global::CsdFactoryOpAddConnection) opPayload_ : null; }
    set {
      opPayload_ = value;
      opPayloadCase_ = value == null ? OpPayloadOneofCase.None : OpPayloadOneofCase.AddConnection;
    }
  }

  /// <summary>Field number for the "del_connection" field.</summary>
  public const int DelConnectionFieldNumber = 32;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::CsdFactoryOpDelConnection DelConnection {
    get { return opPayloadCase_ == OpPayloadOneofCase.DelConnection ? (global::CsdFactoryOpDelConnection) opPayload_ : null; }
    set {
      opPayload_ = value;
      opPayloadCase_ = value == null ? OpPayloadOneofCase.None : OpPayloadOneofCase.DelConnection;
    }
  }

  /// <summary>Field number for the "grid_box_inner_move" field.</summary>
  public const int GridBoxInnerMoveFieldNumber = 41;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::CsdFactoryOpGridBoxInnerMove GridBoxInnerMove {
    get { return opPayloadCase_ == OpPayloadOneofCase.GridBoxInnerMove ? (global::CsdFactoryOpGridBoxInnerMove) opPayload_ : null; }
    set {
      opPayload_ = value;
      opPayloadCase_ = value == null ? OpPayloadOneofCase.None : OpPayloadOneofCase.GridBoxInnerMove;
    }
  }

  /// <summary>Field number for the "grid_box_inner_split" field.</summary>
  public const int GridBoxInnerSplitFieldNumber = 42;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::CsdFactoryOpGridBoxInnerSplit GridBoxInnerSplit {
    get { return opPayloadCase_ == OpPayloadOneofCase.GridBoxInnerSplit ? (global::CsdFactoryOpGridBoxInnerSplit) opPayload_ : null; }
    set {
      opPayload_ = value;
      opPayloadCase_ = value == null ? OpPayloadOneofCase.None : OpPayloadOneofCase.GridBoxInnerSplit;
    }
  }

  /// <summary>Field number for the "move_item_bag_to_grid_box" field.</summary>
  public const int MoveItemBagToGridBoxFieldNumber = 43;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::CsdFactoryOpMoveItemBagToGridBox MoveItemBagToGridBox {
    get { return opPayloadCase_ == OpPayloadOneofCase.MoveItemBagToGridBox ? (global::CsdFactoryOpMoveItemBagToGridBox) opPayload_ : null; }
    set {
      opPayload_ = value;
      opPayloadCase_ = value == null ? OpPayloadOneofCase.None : OpPayloadOneofCase.MoveItemBagToGridBox;
    }
  }

  /// <summary>Field number for the "move_item_grid_box_to_bag" field.</summary>
  public const int MoveItemGridBoxToBagFieldNumber = 44;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::CsdFactoryOpMoveItemGridBoxToBag MoveItemGridBoxToBag {
    get { return opPayloadCase_ == OpPayloadOneofCase.MoveItemGridBoxToBag ? (global::CsdFactoryOpMoveItemGridBoxToBag) opPayload_ : null; }
    set {
      opPayload_ = value;
      opPayloadCase_ = value == null ? OpPayloadOneofCase.None : OpPayloadOneofCase.MoveItemGridBoxToBag;
    }
  }

  /// <summary>Field number for the "move_item_depot_to_grid_box" field.</summary>
  public const int MoveItemDepotToGridBoxFieldNumber = 45;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::CsdFactoryOpMoveItemDepotToGridBox MoveItemDepotToGridBox {
    get { return opPayloadCase_ == OpPayloadOneofCase.MoveItemDepotToGridBox ? (global::CsdFactoryOpMoveItemDepotToGridBox) opPayload_ : null; }
    set {
      opPayload_ = value;
      opPayloadCase_ = value == null ? OpPayloadOneofCase.None : OpPayloadOneofCase.MoveItemDepotToGridBox;
    }
  }

  /// <summary>Field number for the "move_item_grid_box_to_depot" field.</summary>
  public const int MoveItemGridBoxToDepotFieldNumber = 46;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::CsdFactoryOpMoveItemGridBoxToDepot MoveItemGridBoxToDepot {
    get { return opPayloadCase_ == OpPayloadOneofCase.MoveItemGridBoxToDepot ? (global::CsdFactoryOpMoveItemGridBoxToDepot) opPayload_ : null; }
    set {
      opPayload_ = value;
      opPayloadCase_ = value == null ? OpPayloadOneofCase.None : OpPayloadOneofCase.MoveItemGridBoxToDepot;
    }
  }

  /// <summary>Field number for the "move_all_cache_out_item_to_bag" field.</summary>
  public const int MoveAllCacheOutItemToBagFieldNumber = 47;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::CsdFactoryOpMoveAllCacheOutItemToBag MoveAllCacheOutItemToBag {
    get { return opPayloadCase_ == OpPayloadOneofCase.MoveAllCacheOutItemToBag ? (global::CsdFactoryOpMoveAllCacheOutItemToBag) opPayload_ : null; }
    set {
      opPayload_ = value;
      opPayloadCase_ = value == null ? OpPayloadOneofCase.None : OpPayloadOneofCase.MoveAllCacheOutItemToBag;
    }
  }

  /// <summary>Field number for the "quick_put_battery" field.</summary>
  public const int QuickPutBatteryFieldNumber = 48;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::CsdFactoryOpQuickPutBattery QuickPutBattery {
    get { return opPayloadCase_ == OpPayloadOneofCase.QuickPutBattery ? (global::CsdFactoryOpQuickPutBattery) opPayload_ : null; }
    set {
      opPayload_ = value;
      opPayloadCase_ = value == null ? OpPayloadOneofCase.None : OpPayloadOneofCase.QuickPutBattery;
    }
  }

  /// <summary>Field number for the "change_producer_mode" field.</summary>
  public const int ChangeProducerModeFieldNumber = 51;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::CsdFactoryOpChangeProducerMode ChangeProducerMode {
    get { return opPayloadCase_ == OpPayloadOneofCase.ChangeProducerMode ? (global::CsdFactoryOpChangeProducerMode) opPayload_ : null; }
    set {
      opPayload_ = value;
      opPayloadCase_ = value == null ? OpPayloadOneofCase.None : OpPayloadOneofCase.ChangeProducerMode;
    }
  }

  /// <summary>Field number for the "reverse_fluid_conveyor_direction" field.</summary>
  public const int ReverseFluidConveyorDirectionFieldNumber = 52;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::CsdFactoryOpReverseFluidConveyorDirection ReverseFluidConveyorDirection {
    get { return opPayloadCase_ == OpPayloadOneofCase.ReverseFluidConveyorDirection ? (global::CsdFactoryOpReverseFluidConveyorDirection) opPayload_ : null; }
    set {
      opPayload_ = value;
      opPayloadCase_ = value == null ? OpPayloadOneofCase.None : OpPayloadOneofCase.ReverseFluidConveyorDirection;
    }
  }

  /// <summary>Field number for the "dismantle_batch" field.</summary>
  public const int DismantleBatchFieldNumber = 53;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::CsdFactoryOpDismantleBatch DismantleBatch {
    get { return opPayloadCase_ == OpPayloadOneofCase.DismantleBatch ? (global::CsdFactoryOpDismantleBatch) opPayload_ : null; }
    set {
      opPayload_ = value;
      opPayloadCase_ = value == null ? OpPayloadOneofCase.None : OpPayloadOneofCase.DismantleBatch;
    }
  }

  /// <summary>Field number for the "take_out_fluid_from_liquid_body" field.</summary>
  public const int TakeOutFluidFromLiquidBodyFieldNumber = 61;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::CsdFactoryOpTakeOutFluidFromLiquidBody TakeOutFluidFromLiquidBody {
    get { return opPayloadCase_ == OpPayloadOneofCase.TakeOutFluidFromLiquidBody ? (global::CsdFactoryOpTakeOutFluidFromLiquidBody) opPayload_ : null; }
    set {
      opPayload_ = value;
      opPayloadCase_ = value == null ? OpPayloadOneofCase.None : OpPayloadOneofCase.TakeOutFluidFromLiquidBody;
    }
  }

  /// <summary>Field number for the "put_in_fluid_to_liquid_body" field.</summary>
  public const int PutInFluidToLiquidBodyFieldNumber = 62;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::CsdFactoryOpPutInFluidToLiquidBody PutInFluidToLiquidBody {
    get { return opPayloadCase_ == OpPayloadOneofCase.PutInFluidToLiquidBody ? (global::CsdFactoryOpPutInFluidToLiquidBody) opPayload_ : null; }
    set {
      opPayload_ = value;
      opPayloadCase_ = value == null ? OpPayloadOneofCase.None : OpPayloadOneofCase.PutInFluidToLiquidBody;
    }
  }

  /// <summary>Field number for the "filling_fluid_com_with_bag" field.</summary>
  public const int FillingFluidComWithBagFieldNumber = 63;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::CsdFactoryOpFillingFluidComWithBag FillingFluidComWithBag {
    get { return opPayloadCase_ == OpPayloadOneofCase.FillingFluidComWithBag ? (global::CsdFactoryOpFillingFluidComWithBag) opPayload_ : null; }
    set {
      opPayload_ = value;
      opPayloadCase_ = value == null ? OpPayloadOneofCase.None : OpPayloadOneofCase.FillingFluidComWithBag;
    }
  }

  /// <summary>Field number for the "filling_fluid_com_with_depot" field.</summary>
  public const int FillingFluidComWithDepotFieldNumber = 64;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::CsdFactoryOpFillingFluidComWithDepot FillingFluidComWithDepot {
    get { return opPayloadCase_ == OpPayloadOneofCase.FillingFluidComWithDepot ? (global::CsdFactoryOpFillingFluidComWithDepot) opPayload_ : null; }
    set {
      opPayload_ = value;
      opPayloadCase_ = value == null ? OpPayloadOneofCase.None : OpPayloadOneofCase.FillingFluidComWithDepot;
    }
  }

  private object opPayload_;
  /// <summary>Enum of possible cases for the "op_payload" oneof.</summary>
  public enum OpPayloadOneofCase {
    None = 0,
    Place = 11,
    PlaceConveyor = 12,
    Dismantle = 13,
    SetSelectTarget = 15,
    EnableNode = 16,
    MoveNode = 17,
    DismantleBoxConveyor = 18,
    RepairNode = 19,
    MoveItemCacheToCache = 20,
    MoveItemBagToCache = 21,
    MoveItemCacheToBag = 22,
    MoveItemDepotToCache = 23,
    MoveItemCacheToDepot = 24,
    MoveItemConveyorToBag = 25,
    CacheTransportTransfer = 26,
    CacheTransportEnable = 27,
    SetTravelPoleDefaultNext = 28,
    UseHealTowerPoint = 29,
    BattleRepair = 30,
    AddConnection = 31,
    DelConnection = 32,
    GridBoxInnerMove = 41,
    GridBoxInnerSplit = 42,
    MoveItemBagToGridBox = 43,
    MoveItemGridBoxToBag = 44,
    MoveItemDepotToGridBox = 45,
    MoveItemGridBoxToDepot = 46,
    MoveAllCacheOutItemToBag = 47,
    QuickPutBattery = 48,
    ChangeProducerMode = 51,
    ReverseFluidConveyorDirection = 52,
    DismantleBatch = 53,
    TakeOutFluidFromLiquidBody = 61,
    PutInFluidToLiquidBody = 62,
    FillingFluidComWithBag = 63,
    FillingFluidComWithDepot = 64,
  }
  private OpPayloadOneofCase opPayloadCase_ = OpPayloadOneofCase.None;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public OpPayloadOneofCase OpPayloadCase {
    get { return opPayloadCase_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void ClearOpPayload() {
    opPayloadCase_ = OpPayloadOneofCase.None;
    opPayload_ = null;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsFactoryOp);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsFactoryOp other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Index != other.Index) return false;
    if (OpType != other.OpType) return false;
    if (ChapterId != other.ChapterId) return false;
    if (!object.Equals(Place, other.Place)) return false;
    if (!object.Equals(PlaceConveyor, other.PlaceConveyor)) return false;
    if (!object.Equals(Dismantle, other.Dismantle)) return false;
    if (!object.Equals(SetSelectTarget, other.SetSelectTarget)) return false;
    if (!object.Equals(EnableNode, other.EnableNode)) return false;
    if (!object.Equals(MoveNode, other.MoveNode)) return false;
    if (!object.Equals(DismantleBoxConveyor, other.DismantleBoxConveyor)) return false;
    if (!object.Equals(RepairNode, other.RepairNode)) return false;
    if (!object.Equals(MoveItemCacheToCache, other.MoveItemCacheToCache)) return false;
    if (!object.Equals(MoveItemBagToCache, other.MoveItemBagToCache)) return false;
    if (!object.Equals(MoveItemCacheToBag, other.MoveItemCacheToBag)) return false;
    if (!object.Equals(MoveItemDepotToCache, other.MoveItemDepotToCache)) return false;
    if (!object.Equals(MoveItemCacheToDepot, other.MoveItemCacheToDepot)) return false;
    if (!object.Equals(MoveItemConveyorToBag, other.MoveItemConveyorToBag)) return false;
    if (!object.Equals(CacheTransportTransfer, other.CacheTransportTransfer)) return false;
    if (!object.Equals(CacheTransportEnable, other.CacheTransportEnable)) return false;
    if (!object.Equals(SetTravelPoleDefaultNext, other.SetTravelPoleDefaultNext)) return false;
    if (!object.Equals(UseHealTowerPoint, other.UseHealTowerPoint)) return false;
    if (!object.Equals(BattleRepair, other.BattleRepair)) return false;
    if (!object.Equals(AddConnection, other.AddConnection)) return false;
    if (!object.Equals(DelConnection, other.DelConnection)) return false;
    if (!object.Equals(GridBoxInnerMove, other.GridBoxInnerMove)) return false;
    if (!object.Equals(GridBoxInnerSplit, other.GridBoxInnerSplit)) return false;
    if (!object.Equals(MoveItemBagToGridBox, other.MoveItemBagToGridBox)) return false;
    if (!object.Equals(MoveItemGridBoxToBag, other.MoveItemGridBoxToBag)) return false;
    if (!object.Equals(MoveItemDepotToGridBox, other.MoveItemDepotToGridBox)) return false;
    if (!object.Equals(MoveItemGridBoxToDepot, other.MoveItemGridBoxToDepot)) return false;
    if (!object.Equals(MoveAllCacheOutItemToBag, other.MoveAllCacheOutItemToBag)) return false;
    if (!object.Equals(QuickPutBattery, other.QuickPutBattery)) return false;
    if (!object.Equals(ChangeProducerMode, other.ChangeProducerMode)) return false;
    if (!object.Equals(ReverseFluidConveyorDirection, other.ReverseFluidConveyorDirection)) return false;
    if (!object.Equals(DismantleBatch, other.DismantleBatch)) return false;
    if (!object.Equals(TakeOutFluidFromLiquidBody, other.TakeOutFluidFromLiquidBody)) return false;
    if (!object.Equals(PutInFluidToLiquidBody, other.PutInFluidToLiquidBody)) return false;
    if (!object.Equals(FillingFluidComWithBag, other.FillingFluidComWithBag)) return false;
    if (!object.Equals(FillingFluidComWithDepot, other.FillingFluidComWithDepot)) return false;
    if (OpPayloadCase != other.OpPayloadCase) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Index.Length != 0) hash ^= Index.GetHashCode();
    if (OpType != 0) hash ^= OpType.GetHashCode();
    if (ChapterId.Length != 0) hash ^= ChapterId.GetHashCode();
    if (opPayloadCase_ == OpPayloadOneofCase.Place) hash ^= Place.GetHashCode();
    if (opPayloadCase_ == OpPayloadOneofCase.PlaceConveyor) hash ^= PlaceConveyor.GetHashCode();
    if (opPayloadCase_ == OpPayloadOneofCase.Dismantle) hash ^= Dismantle.GetHashCode();
    if (opPayloadCase_ == OpPayloadOneofCase.SetSelectTarget) hash ^= SetSelectTarget.GetHashCode();
    if (opPayloadCase_ == OpPayloadOneofCase.EnableNode) hash ^= EnableNode.GetHashCode();
    if (opPayloadCase_ == OpPayloadOneofCase.MoveNode) hash ^= MoveNode.GetHashCode();
    if (opPayloadCase_ == OpPayloadOneofCase.DismantleBoxConveyor) hash ^= DismantleBoxConveyor.GetHashCode();
    if (opPayloadCase_ == OpPayloadOneofCase.RepairNode) hash ^= RepairNode.GetHashCode();
    if (opPayloadCase_ == OpPayloadOneofCase.MoveItemCacheToCache) hash ^= MoveItemCacheToCache.GetHashCode();
    if (opPayloadCase_ == OpPayloadOneofCase.MoveItemBagToCache) hash ^= MoveItemBagToCache.GetHashCode();
    if (opPayloadCase_ == OpPayloadOneofCase.MoveItemCacheToBag) hash ^= MoveItemCacheToBag.GetHashCode();
    if (opPayloadCase_ == OpPayloadOneofCase.MoveItemDepotToCache) hash ^= MoveItemDepotToCache.GetHashCode();
    if (opPayloadCase_ == OpPayloadOneofCase.MoveItemCacheToDepot) hash ^= MoveItemCacheToDepot.GetHashCode();
    if (opPayloadCase_ == OpPayloadOneofCase.MoveItemConveyorToBag) hash ^= MoveItemConveyorToBag.GetHashCode();
    if (opPayloadCase_ == OpPayloadOneofCase.CacheTransportTransfer) hash ^= CacheTransportTransfer.GetHashCode();
    if (opPayloadCase_ == OpPayloadOneofCase.CacheTransportEnable) hash ^= CacheTransportEnable.GetHashCode();
    if (opPayloadCase_ == OpPayloadOneofCase.SetTravelPoleDefaultNext) hash ^= SetTravelPoleDefaultNext.GetHashCode();
    if (opPayloadCase_ == OpPayloadOneofCase.UseHealTowerPoint) hash ^= UseHealTowerPoint.GetHashCode();
    if (opPayloadCase_ == OpPayloadOneofCase.BattleRepair) hash ^= BattleRepair.GetHashCode();
    if (opPayloadCase_ == OpPayloadOneofCase.AddConnection) hash ^= AddConnection.GetHashCode();
    if (opPayloadCase_ == OpPayloadOneofCase.DelConnection) hash ^= DelConnection.GetHashCode();
    if (opPayloadCase_ == OpPayloadOneofCase.GridBoxInnerMove) hash ^= GridBoxInnerMove.GetHashCode();
    if (opPayloadCase_ == OpPayloadOneofCase.GridBoxInnerSplit) hash ^= GridBoxInnerSplit.GetHashCode();
    if (opPayloadCase_ == OpPayloadOneofCase.MoveItemBagToGridBox) hash ^= MoveItemBagToGridBox.GetHashCode();
    if (opPayloadCase_ == OpPayloadOneofCase.MoveItemGridBoxToBag) hash ^= MoveItemGridBoxToBag.GetHashCode();
    if (opPayloadCase_ == OpPayloadOneofCase.MoveItemDepotToGridBox) hash ^= MoveItemDepotToGridBox.GetHashCode();
    if (opPayloadCase_ == OpPayloadOneofCase.MoveItemGridBoxToDepot) hash ^= MoveItemGridBoxToDepot.GetHashCode();
    if (opPayloadCase_ == OpPayloadOneofCase.MoveAllCacheOutItemToBag) hash ^= MoveAllCacheOutItemToBag.GetHashCode();
    if (opPayloadCase_ == OpPayloadOneofCase.QuickPutBattery) hash ^= QuickPutBattery.GetHashCode();
    if (opPayloadCase_ == OpPayloadOneofCase.ChangeProducerMode) hash ^= ChangeProducerMode.GetHashCode();
    if (opPayloadCase_ == OpPayloadOneofCase.ReverseFluidConveyorDirection) hash ^= ReverseFluidConveyorDirection.GetHashCode();
    if (opPayloadCase_ == OpPayloadOneofCase.DismantleBatch) hash ^= DismantleBatch.GetHashCode();
    if (opPayloadCase_ == OpPayloadOneofCase.TakeOutFluidFromLiquidBody) hash ^= TakeOutFluidFromLiquidBody.GetHashCode();
    if (opPayloadCase_ == OpPayloadOneofCase.PutInFluidToLiquidBody) hash ^= PutInFluidToLiquidBody.GetHashCode();
    if (opPayloadCase_ == OpPayloadOneofCase.FillingFluidComWithBag) hash ^= FillingFluidComWithBag.GetHashCode();
    if (opPayloadCase_ == OpPayloadOneofCase.FillingFluidComWithDepot) hash ^= FillingFluidComWithDepot.GetHashCode();
    hash ^= (int) opPayloadCase_;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Index.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(Index);
    }
    if (OpType != 0) {
      output.WriteRawTag(16);
      output.WriteEnum((int) OpType);
    }
    if (ChapterId.Length != 0) {
      output.WriteRawTag(26);
      output.WriteString(ChapterId);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.Place) {
      output.WriteRawTag(90);
      output.WriteMessage(Place);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.PlaceConveyor) {
      output.WriteRawTag(98);
      output.WriteMessage(PlaceConveyor);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.Dismantle) {
      output.WriteRawTag(106);
      output.WriteMessage(Dismantle);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.SetSelectTarget) {
      output.WriteRawTag(122);
      output.WriteMessage(SetSelectTarget);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.EnableNode) {
      output.WriteRawTag(130, 1);
      output.WriteMessage(EnableNode);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.MoveNode) {
      output.WriteRawTag(138, 1);
      output.WriteMessage(MoveNode);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.DismantleBoxConveyor) {
      output.WriteRawTag(146, 1);
      output.WriteMessage(DismantleBoxConveyor);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.RepairNode) {
      output.WriteRawTag(154, 1);
      output.WriteMessage(RepairNode);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.MoveItemCacheToCache) {
      output.WriteRawTag(162, 1);
      output.WriteMessage(MoveItemCacheToCache);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.MoveItemBagToCache) {
      output.WriteRawTag(170, 1);
      output.WriteMessage(MoveItemBagToCache);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.MoveItemCacheToBag) {
      output.WriteRawTag(178, 1);
      output.WriteMessage(MoveItemCacheToBag);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.MoveItemDepotToCache) {
      output.WriteRawTag(186, 1);
      output.WriteMessage(MoveItemDepotToCache);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.MoveItemCacheToDepot) {
      output.WriteRawTag(194, 1);
      output.WriteMessage(MoveItemCacheToDepot);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.MoveItemConveyorToBag) {
      output.WriteRawTag(202, 1);
      output.WriteMessage(MoveItemConveyorToBag);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.CacheTransportTransfer) {
      output.WriteRawTag(210, 1);
      output.WriteMessage(CacheTransportTransfer);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.CacheTransportEnable) {
      output.WriteRawTag(218, 1);
      output.WriteMessage(CacheTransportEnable);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.SetTravelPoleDefaultNext) {
      output.WriteRawTag(226, 1);
      output.WriteMessage(SetTravelPoleDefaultNext);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.UseHealTowerPoint) {
      output.WriteRawTag(234, 1);
      output.WriteMessage(UseHealTowerPoint);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.BattleRepair) {
      output.WriteRawTag(242, 1);
      output.WriteMessage(BattleRepair);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.AddConnection) {
      output.WriteRawTag(250, 1);
      output.WriteMessage(AddConnection);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.DelConnection) {
      output.WriteRawTag(130, 2);
      output.WriteMessage(DelConnection);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.GridBoxInnerMove) {
      output.WriteRawTag(202, 2);
      output.WriteMessage(GridBoxInnerMove);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.GridBoxInnerSplit) {
      output.WriteRawTag(210, 2);
      output.WriteMessage(GridBoxInnerSplit);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.MoveItemBagToGridBox) {
      output.WriteRawTag(218, 2);
      output.WriteMessage(MoveItemBagToGridBox);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.MoveItemGridBoxToBag) {
      output.WriteRawTag(226, 2);
      output.WriteMessage(MoveItemGridBoxToBag);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.MoveItemDepotToGridBox) {
      output.WriteRawTag(234, 2);
      output.WriteMessage(MoveItemDepotToGridBox);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.MoveItemGridBoxToDepot) {
      output.WriteRawTag(242, 2);
      output.WriteMessage(MoveItemGridBoxToDepot);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.MoveAllCacheOutItemToBag) {
      output.WriteRawTag(250, 2);
      output.WriteMessage(MoveAllCacheOutItemToBag);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.QuickPutBattery) {
      output.WriteRawTag(130, 3);
      output.WriteMessage(QuickPutBattery);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.ChangeProducerMode) {
      output.WriteRawTag(154, 3);
      output.WriteMessage(ChangeProducerMode);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.ReverseFluidConveyorDirection) {
      output.WriteRawTag(162, 3);
      output.WriteMessage(ReverseFluidConveyorDirection);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.DismantleBatch) {
      output.WriteRawTag(170, 3);
      output.WriteMessage(DismantleBatch);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.TakeOutFluidFromLiquidBody) {
      output.WriteRawTag(234, 3);
      output.WriteMessage(TakeOutFluidFromLiquidBody);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.PutInFluidToLiquidBody) {
      output.WriteRawTag(242, 3);
      output.WriteMessage(PutInFluidToLiquidBody);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.FillingFluidComWithBag) {
      output.WriteRawTag(250, 3);
      output.WriteMessage(FillingFluidComWithBag);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.FillingFluidComWithDepot) {
      output.WriteRawTag(130, 4);
      output.WriteMessage(FillingFluidComWithDepot);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Index.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(Index);
    }
    if (OpType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) OpType);
    }
    if (ChapterId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ChapterId);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.Place) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Place);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.PlaceConveyor) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(PlaceConveyor);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.Dismantle) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Dismantle);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.SetSelectTarget) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(SetSelectTarget);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.EnableNode) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(EnableNode);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.MoveNode) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(MoveNode);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.DismantleBoxConveyor) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(DismantleBoxConveyor);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.RepairNode) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(RepairNode);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.MoveItemCacheToCache) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(MoveItemCacheToCache);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.MoveItemBagToCache) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(MoveItemBagToCache);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.MoveItemCacheToBag) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(MoveItemCacheToBag);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.MoveItemDepotToCache) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(MoveItemDepotToCache);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.MoveItemCacheToDepot) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(MoveItemCacheToDepot);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.MoveItemConveyorToBag) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(MoveItemConveyorToBag);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.CacheTransportTransfer) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(CacheTransportTransfer);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.CacheTransportEnable) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(CacheTransportEnable);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.SetTravelPoleDefaultNext) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(SetTravelPoleDefaultNext);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.UseHealTowerPoint) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(UseHealTowerPoint);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.BattleRepair) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(BattleRepair);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.AddConnection) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(AddConnection);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.DelConnection) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(DelConnection);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.GridBoxInnerMove) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(GridBoxInnerMove);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.GridBoxInnerSplit) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(GridBoxInnerSplit);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.MoveItemBagToGridBox) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(MoveItemBagToGridBox);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.MoveItemGridBoxToBag) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(MoveItemGridBoxToBag);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.MoveItemDepotToGridBox) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(MoveItemDepotToGridBox);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.MoveItemGridBoxToDepot) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(MoveItemGridBoxToDepot);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.MoveAllCacheOutItemToBag) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(MoveAllCacheOutItemToBag);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.QuickPutBattery) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(QuickPutBattery);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.ChangeProducerMode) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(ChangeProducerMode);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.ReverseFluidConveyorDirection) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(ReverseFluidConveyorDirection);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.DismantleBatch) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(DismantleBatch);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.TakeOutFluidFromLiquidBody) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(TakeOutFluidFromLiquidBody);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.PutInFluidToLiquidBody) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(PutInFluidToLiquidBody);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.FillingFluidComWithBag) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(FillingFluidComWithBag);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.FillingFluidComWithDepot) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(FillingFluidComWithDepot);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsFactoryOp other) {
    if (other == null) {
      return;
    }
    if (other.Index.Length != 0) {
      Index = other.Index;
    }
    if (other.OpType != 0) {
      OpType = other.OpType;
    }
    if (other.ChapterId.Length != 0) {
      ChapterId = other.ChapterId;
    }
    switch (other.OpPayloadCase) {
      case OpPayloadOneofCase.Place:
        if (Place == null) {
          Place = new global::CsdFactoryOpPlace();
        }
        Place.MergeFrom(other.Place);
        break;
      case OpPayloadOneofCase.PlaceConveyor:
        if (PlaceConveyor == null) {
          PlaceConveyor = new global::CsdFactoryOpPlaceConveyor();
        }
        PlaceConveyor.MergeFrom(other.PlaceConveyor);
        break;
      case OpPayloadOneofCase.Dismantle:
        if (Dismantle == null) {
          Dismantle = new global::CsdFactoryOpDismantle();
        }
        Dismantle.MergeFrom(other.Dismantle);
        break;
      case OpPayloadOneofCase.SetSelectTarget:
        if (SetSelectTarget == null) {
          SetSelectTarget = new global::CsdFactoryOpSetSelectTarget();
        }
        SetSelectTarget.MergeFrom(other.SetSelectTarget);
        break;
      case OpPayloadOneofCase.EnableNode:
        if (EnableNode == null) {
          EnableNode = new global::CsdFactoryOpEnableNode();
        }
        EnableNode.MergeFrom(other.EnableNode);
        break;
      case OpPayloadOneofCase.MoveNode:
        if (MoveNode == null) {
          MoveNode = new global::CsdFactoryOpMoveNode();
        }
        MoveNode.MergeFrom(other.MoveNode);
        break;
      case OpPayloadOneofCase.DismantleBoxConveyor:
        if (DismantleBoxConveyor == null) {
          DismantleBoxConveyor = new global::CsdFactoryOpDismantleBoxConveyor();
        }
        DismantleBoxConveyor.MergeFrom(other.DismantleBoxConveyor);
        break;
      case OpPayloadOneofCase.RepairNode:
        if (RepairNode == null) {
          RepairNode = new global::CsdFactoryOpRepairNode();
        }
        RepairNode.MergeFrom(other.RepairNode);
        break;
      case OpPayloadOneofCase.MoveItemCacheToCache:
        if (MoveItemCacheToCache == null) {
          MoveItemCacheToCache = new global::CsdFactoryOpMoveItemCacheToCache();
        }
        MoveItemCacheToCache.MergeFrom(other.MoveItemCacheToCache);
        break;
      case OpPayloadOneofCase.MoveItemBagToCache:
        if (MoveItemBagToCache == null) {
          MoveItemBagToCache = new global::CsdFactoryOpMoveItemBagToCache();
        }
        MoveItemBagToCache.MergeFrom(other.MoveItemBagToCache);
        break;
      case OpPayloadOneofCase.MoveItemCacheToBag:
        if (MoveItemCacheToBag == null) {
          MoveItemCacheToBag = new global::CsdFactoryOpMoveItemCacheToBag();
        }
        MoveItemCacheToBag.MergeFrom(other.MoveItemCacheToBag);
        break;
      case OpPayloadOneofCase.MoveItemDepotToCache:
        if (MoveItemDepotToCache == null) {
          MoveItemDepotToCache = new global::CsdFactoryOpMoveItemDepotToCache();
        }
        MoveItemDepotToCache.MergeFrom(other.MoveItemDepotToCache);
        break;
      case OpPayloadOneofCase.MoveItemCacheToDepot:
        if (MoveItemCacheToDepot == null) {
          MoveItemCacheToDepot = new global::CsdFactoryOpMoveItemCacheToDepot();
        }
        MoveItemCacheToDepot.MergeFrom(other.MoveItemCacheToDepot);
        break;
      case OpPayloadOneofCase.MoveItemConveyorToBag:
        if (MoveItemConveyorToBag == null) {
          MoveItemConveyorToBag = new global::CsdFactoryOpMoveItemConveyorToBag();
        }
        MoveItemConveyorToBag.MergeFrom(other.MoveItemConveyorToBag);
        break;
      case OpPayloadOneofCase.CacheTransportTransfer:
        if (CacheTransportTransfer == null) {
          CacheTransportTransfer = new global::CsdFactoryOpCacheTransportTransfer();
        }
        CacheTransportTransfer.MergeFrom(other.CacheTransportTransfer);
        break;
      case OpPayloadOneofCase.CacheTransportEnable:
        if (CacheTransportEnable == null) {
          CacheTransportEnable = new global::CsdFactoryOpCacheTransportEnable();
        }
        CacheTransportEnable.MergeFrom(other.CacheTransportEnable);
        break;
      case OpPayloadOneofCase.SetTravelPoleDefaultNext:
        if (SetTravelPoleDefaultNext == null) {
          SetTravelPoleDefaultNext = new global::CsdFactoryOpSetTravelPoleDefaultNext();
        }
        SetTravelPoleDefaultNext.MergeFrom(other.SetTravelPoleDefaultNext);
        break;
      case OpPayloadOneofCase.UseHealTowerPoint:
        if (UseHealTowerPoint == null) {
          UseHealTowerPoint = new global::CsdFactoryOpUseHealTowerPoint();
        }
        UseHealTowerPoint.MergeFrom(other.UseHealTowerPoint);
        break;
      case OpPayloadOneofCase.BattleRepair:
        if (BattleRepair == null) {
          BattleRepair = new global::CsdFactoryOpBattleRepair();
        }
        BattleRepair.MergeFrom(other.BattleRepair);
        break;
      case OpPayloadOneofCase.AddConnection:
        if (AddConnection == null) {
          AddConnection = new global::CsdFactoryOpAddConnection();
        }
        AddConnection.MergeFrom(other.AddConnection);
        break;
      case OpPayloadOneofCase.DelConnection:
        if (DelConnection == null) {
          DelConnection = new global::CsdFactoryOpDelConnection();
        }
        DelConnection.MergeFrom(other.DelConnection);
        break;
      case OpPayloadOneofCase.GridBoxInnerMove:
        if (GridBoxInnerMove == null) {
          GridBoxInnerMove = new global::CsdFactoryOpGridBoxInnerMove();
        }
        GridBoxInnerMove.MergeFrom(other.GridBoxInnerMove);
        break;
      case OpPayloadOneofCase.GridBoxInnerSplit:
        if (GridBoxInnerSplit == null) {
          GridBoxInnerSplit = new global::CsdFactoryOpGridBoxInnerSplit();
        }
        GridBoxInnerSplit.MergeFrom(other.GridBoxInnerSplit);
        break;
      case OpPayloadOneofCase.MoveItemBagToGridBox:
        if (MoveItemBagToGridBox == null) {
          MoveItemBagToGridBox = new global::CsdFactoryOpMoveItemBagToGridBox();
        }
        MoveItemBagToGridBox.MergeFrom(other.MoveItemBagToGridBox);
        break;
      case OpPayloadOneofCase.MoveItemGridBoxToBag:
        if (MoveItemGridBoxToBag == null) {
          MoveItemGridBoxToBag = new global::CsdFactoryOpMoveItemGridBoxToBag();
        }
        MoveItemGridBoxToBag.MergeFrom(other.MoveItemGridBoxToBag);
        break;
      case OpPayloadOneofCase.MoveItemDepotToGridBox:
        if (MoveItemDepotToGridBox == null) {
          MoveItemDepotToGridBox = new global::CsdFactoryOpMoveItemDepotToGridBox();
        }
        MoveItemDepotToGridBox.MergeFrom(other.MoveItemDepotToGridBox);
        break;
      case OpPayloadOneofCase.MoveItemGridBoxToDepot:
        if (MoveItemGridBoxToDepot == null) {
          MoveItemGridBoxToDepot = new global::CsdFactoryOpMoveItemGridBoxToDepot();
        }
        MoveItemGridBoxToDepot.MergeFrom(other.MoveItemGridBoxToDepot);
        break;
      case OpPayloadOneofCase.MoveAllCacheOutItemToBag:
        if (MoveAllCacheOutItemToBag == null) {
          MoveAllCacheOutItemToBag = new global::CsdFactoryOpMoveAllCacheOutItemToBag();
        }
        MoveAllCacheOutItemToBag.MergeFrom(other.MoveAllCacheOutItemToBag);
        break;
      case OpPayloadOneofCase.QuickPutBattery:
        if (QuickPutBattery == null) {
          QuickPutBattery = new global::CsdFactoryOpQuickPutBattery();
        }
        QuickPutBattery.MergeFrom(other.QuickPutBattery);
        break;
      case OpPayloadOneofCase.ChangeProducerMode:
        if (ChangeProducerMode == null) {
          ChangeProducerMode = new global::CsdFactoryOpChangeProducerMode();
        }
        ChangeProducerMode.MergeFrom(other.ChangeProducerMode);
        break;
      case OpPayloadOneofCase.ReverseFluidConveyorDirection:
        if (ReverseFluidConveyorDirection == null) {
          ReverseFluidConveyorDirection = new global::CsdFactoryOpReverseFluidConveyorDirection();
        }
        ReverseFluidConveyorDirection.MergeFrom(other.ReverseFluidConveyorDirection);
        break;
      case OpPayloadOneofCase.DismantleBatch:
        if (DismantleBatch == null) {
          DismantleBatch = new global::CsdFactoryOpDismantleBatch();
        }
        DismantleBatch.MergeFrom(other.DismantleBatch);
        break;
      case OpPayloadOneofCase.TakeOutFluidFromLiquidBody:
        if (TakeOutFluidFromLiquidBody == null) {
          TakeOutFluidFromLiquidBody = new global::CsdFactoryOpTakeOutFluidFromLiquidBody();
        }
        TakeOutFluidFromLiquidBody.MergeFrom(other.TakeOutFluidFromLiquidBody);
        break;
      case OpPayloadOneofCase.PutInFluidToLiquidBody:
        if (PutInFluidToLiquidBody == null) {
          PutInFluidToLiquidBody = new global::CsdFactoryOpPutInFluidToLiquidBody();
        }
        PutInFluidToLiquidBody.MergeFrom(other.PutInFluidToLiquidBody);
        break;
      case OpPayloadOneofCase.FillingFluidComWithBag:
        if (FillingFluidComWithBag == null) {
          FillingFluidComWithBag = new global::CsdFactoryOpFillingFluidComWithBag();
        }
        FillingFluidComWithBag.MergeFrom(other.FillingFluidComWithBag);
        break;
      case OpPayloadOneofCase.FillingFluidComWithDepot:
        if (FillingFluidComWithDepot == null) {
          FillingFluidComWithDepot = new global::CsdFactoryOpFillingFluidComWithDepot();
        }
        FillingFluidComWithDepot.MergeFrom(other.FillingFluidComWithDepot);
        break;
    }

    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          Index = input.ReadString();
          break;
        }
        case 16: {
          opType_ = (global::FactoryOpType) input.ReadEnum();
          break;
        }
        case 26: {
          ChapterId = input.ReadString();
          break;
        }
        case 90: {
          global::CsdFactoryOpPlace subBuilder = new global::CsdFactoryOpPlace();
          if (opPayloadCase_ == OpPayloadOneofCase.Place) {
            subBuilder.MergeFrom(Place);
          }
          input.ReadMessage(subBuilder);
          Place = subBuilder;
          break;
        }
        case 98: {
          global::CsdFactoryOpPlaceConveyor subBuilder = new global::CsdFactoryOpPlaceConveyor();
          if (opPayloadCase_ == OpPayloadOneofCase.PlaceConveyor) {
            subBuilder.MergeFrom(PlaceConveyor);
          }
          input.ReadMessage(subBuilder);
          PlaceConveyor = subBuilder;
          break;
        }
        case 106: {
          global::CsdFactoryOpDismantle subBuilder = new global::CsdFactoryOpDismantle();
          if (opPayloadCase_ == OpPayloadOneofCase.Dismantle) {
            subBuilder.MergeFrom(Dismantle);
          }
          input.ReadMessage(subBuilder);
          Dismantle = subBuilder;
          break;
        }
        case 122: {
          global::CsdFactoryOpSetSelectTarget subBuilder = new global::CsdFactoryOpSetSelectTarget();
          if (opPayloadCase_ == OpPayloadOneofCase.SetSelectTarget) {
            subBuilder.MergeFrom(SetSelectTarget);
          }
          input.ReadMessage(subBuilder);
          SetSelectTarget = subBuilder;
          break;
        }
        case 130: {
          global::CsdFactoryOpEnableNode subBuilder = new global::CsdFactoryOpEnableNode();
          if (opPayloadCase_ == OpPayloadOneofCase.EnableNode) {
            subBuilder.MergeFrom(EnableNode);
          }
          input.ReadMessage(subBuilder);
          EnableNode = subBuilder;
          break;
        }
        case 138: {
          global::CsdFactoryOpMoveNode subBuilder = new global::CsdFactoryOpMoveNode();
          if (opPayloadCase_ == OpPayloadOneofCase.MoveNode) {
            subBuilder.MergeFrom(MoveNode);
          }
          input.ReadMessage(subBuilder);
          MoveNode = subBuilder;
          break;
        }
        case 146: {
          global::CsdFactoryOpDismantleBoxConveyor subBuilder = new global::CsdFactoryOpDismantleBoxConveyor();
          if (opPayloadCase_ == OpPayloadOneofCase.DismantleBoxConveyor) {
            subBuilder.MergeFrom(DismantleBoxConveyor);
          }
          input.ReadMessage(subBuilder);
          DismantleBoxConveyor = subBuilder;
          break;
        }
        case 154: {
          global::CsdFactoryOpRepairNode subBuilder = new global::CsdFactoryOpRepairNode();
          if (opPayloadCase_ == OpPayloadOneofCase.RepairNode) {
            subBuilder.MergeFrom(RepairNode);
          }
          input.ReadMessage(subBuilder);
          RepairNode = subBuilder;
          break;
        }
        case 162: {
          global::CsdFactoryOpMoveItemCacheToCache subBuilder = new global::CsdFactoryOpMoveItemCacheToCache();
          if (opPayloadCase_ == OpPayloadOneofCase.MoveItemCacheToCache) {
            subBuilder.MergeFrom(MoveItemCacheToCache);
          }
          input.ReadMessage(subBuilder);
          MoveItemCacheToCache = subBuilder;
          break;
        }
        case 170: {
          global::CsdFactoryOpMoveItemBagToCache subBuilder = new global::CsdFactoryOpMoveItemBagToCache();
          if (opPayloadCase_ == OpPayloadOneofCase.MoveItemBagToCache) {
            subBuilder.MergeFrom(MoveItemBagToCache);
          }
          input.ReadMessage(subBuilder);
          MoveItemBagToCache = subBuilder;
          break;
        }
        case 178: {
          global::CsdFactoryOpMoveItemCacheToBag subBuilder = new global::CsdFactoryOpMoveItemCacheToBag();
          if (opPayloadCase_ == OpPayloadOneofCase.MoveItemCacheToBag) {
            subBuilder.MergeFrom(MoveItemCacheToBag);
          }
          input.ReadMessage(subBuilder);
          MoveItemCacheToBag = subBuilder;
          break;
        }
        case 186: {
          global::CsdFactoryOpMoveItemDepotToCache subBuilder = new global::CsdFactoryOpMoveItemDepotToCache();
          if (opPayloadCase_ == OpPayloadOneofCase.MoveItemDepotToCache) {
            subBuilder.MergeFrom(MoveItemDepotToCache);
          }
          input.ReadMessage(subBuilder);
          MoveItemDepotToCache = subBuilder;
          break;
        }
        case 194: {
          global::CsdFactoryOpMoveItemCacheToDepot subBuilder = new global::CsdFactoryOpMoveItemCacheToDepot();
          if (opPayloadCase_ == OpPayloadOneofCase.MoveItemCacheToDepot) {
            subBuilder.MergeFrom(MoveItemCacheToDepot);
          }
          input.ReadMessage(subBuilder);
          MoveItemCacheToDepot = subBuilder;
          break;
        }
        case 202: {
          global::CsdFactoryOpMoveItemConveyorToBag subBuilder = new global::CsdFactoryOpMoveItemConveyorToBag();
          if (opPayloadCase_ == OpPayloadOneofCase.MoveItemConveyorToBag) {
            subBuilder.MergeFrom(MoveItemConveyorToBag);
          }
          input.ReadMessage(subBuilder);
          MoveItemConveyorToBag = subBuilder;
          break;
        }
        case 210: {
          global::CsdFactoryOpCacheTransportTransfer subBuilder = new global::CsdFactoryOpCacheTransportTransfer();
          if (opPayloadCase_ == OpPayloadOneofCase.CacheTransportTransfer) {
            subBuilder.MergeFrom(CacheTransportTransfer);
          }
          input.ReadMessage(subBuilder);
          CacheTransportTransfer = subBuilder;
          break;
        }
        case 218: {
          global::CsdFactoryOpCacheTransportEnable subBuilder = new global::CsdFactoryOpCacheTransportEnable();
          if (opPayloadCase_ == OpPayloadOneofCase.CacheTransportEnable) {
            subBuilder.MergeFrom(CacheTransportEnable);
          }
          input.ReadMessage(subBuilder);
          CacheTransportEnable = subBuilder;
          break;
        }
        case 226: {
          global::CsdFactoryOpSetTravelPoleDefaultNext subBuilder = new global::CsdFactoryOpSetTravelPoleDefaultNext();
          if (opPayloadCase_ == OpPayloadOneofCase.SetTravelPoleDefaultNext) {
            subBuilder.MergeFrom(SetTravelPoleDefaultNext);
          }
          input.ReadMessage(subBuilder);
          SetTravelPoleDefaultNext = subBuilder;
          break;
        }
        case 234: {
          global::CsdFactoryOpUseHealTowerPoint subBuilder = new global::CsdFactoryOpUseHealTowerPoint();
          if (opPayloadCase_ == OpPayloadOneofCase.UseHealTowerPoint) {
            subBuilder.MergeFrom(UseHealTowerPoint);
          }
          input.ReadMessage(subBuilder);
          UseHealTowerPoint = subBuilder;
          break;
        }
        case 242: {
          global::CsdFactoryOpBattleRepair subBuilder = new global::CsdFactoryOpBattleRepair();
          if (opPayloadCase_ == OpPayloadOneofCase.BattleRepair) {
            subBuilder.MergeFrom(BattleRepair);
          }
          input.ReadMessage(subBuilder);
          BattleRepair = subBuilder;
          break;
        }
        case 250: {
          global::CsdFactoryOpAddConnection subBuilder = new global::CsdFactoryOpAddConnection();
          if (opPayloadCase_ == OpPayloadOneofCase.AddConnection) {
            subBuilder.MergeFrom(AddConnection);
          }
          input.ReadMessage(subBuilder);
          AddConnection = subBuilder;
          break;
        }
        case 258: {
          global::CsdFactoryOpDelConnection subBuilder = new global::CsdFactoryOpDelConnection();
          if (opPayloadCase_ == OpPayloadOneofCase.DelConnection) {
            subBuilder.MergeFrom(DelConnection);
          }
          input.ReadMessage(subBuilder);
          DelConnection = subBuilder;
          break;
        }
        case 330: {
          global::CsdFactoryOpGridBoxInnerMove subBuilder = new global::CsdFactoryOpGridBoxInnerMove();
          if (opPayloadCase_ == OpPayloadOneofCase.GridBoxInnerMove) {
            subBuilder.MergeFrom(GridBoxInnerMove);
          }
          input.ReadMessage(subBuilder);
          GridBoxInnerMove = subBuilder;
          break;
        }
        case 338: {
          global::CsdFactoryOpGridBoxInnerSplit subBuilder = new global::CsdFactoryOpGridBoxInnerSplit();
          if (opPayloadCase_ == OpPayloadOneofCase.GridBoxInnerSplit) {
            subBuilder.MergeFrom(GridBoxInnerSplit);
          }
          input.ReadMessage(subBuilder);
          GridBoxInnerSplit = subBuilder;
          break;
        }
        case 346: {
          global::CsdFactoryOpMoveItemBagToGridBox subBuilder = new global::CsdFactoryOpMoveItemBagToGridBox();
          if (opPayloadCase_ == OpPayloadOneofCase.MoveItemBagToGridBox) {
            subBuilder.MergeFrom(MoveItemBagToGridBox);
          }
          input.ReadMessage(subBuilder);
          MoveItemBagToGridBox = subBuilder;
          break;
        }
        case 354: {
          global::CsdFactoryOpMoveItemGridBoxToBag subBuilder = new global::CsdFactoryOpMoveItemGridBoxToBag();
          if (opPayloadCase_ == OpPayloadOneofCase.MoveItemGridBoxToBag) {
            subBuilder.MergeFrom(MoveItemGridBoxToBag);
          }
          input.ReadMessage(subBuilder);
          MoveItemGridBoxToBag = subBuilder;
          break;
        }
        case 362: {
          global::CsdFactoryOpMoveItemDepotToGridBox subBuilder = new global::CsdFactoryOpMoveItemDepotToGridBox();
          if (opPayloadCase_ == OpPayloadOneofCase.MoveItemDepotToGridBox) {
            subBuilder.MergeFrom(MoveItemDepotToGridBox);
          }
          input.ReadMessage(subBuilder);
          MoveItemDepotToGridBox = subBuilder;
          break;
        }
        case 370: {
          global::CsdFactoryOpMoveItemGridBoxToDepot subBuilder = new global::CsdFactoryOpMoveItemGridBoxToDepot();
          if (opPayloadCase_ == OpPayloadOneofCase.MoveItemGridBoxToDepot) {
            subBuilder.MergeFrom(MoveItemGridBoxToDepot);
          }
          input.ReadMessage(subBuilder);
          MoveItemGridBoxToDepot = subBuilder;
          break;
        }
        case 378: {
          global::CsdFactoryOpMoveAllCacheOutItemToBag subBuilder = new global::CsdFactoryOpMoveAllCacheOutItemToBag();
          if (opPayloadCase_ == OpPayloadOneofCase.MoveAllCacheOutItemToBag) {
            subBuilder.MergeFrom(MoveAllCacheOutItemToBag);
          }
          input.ReadMessage(subBuilder);
          MoveAllCacheOutItemToBag = subBuilder;
          break;
        }
        case 386: {
          global::CsdFactoryOpQuickPutBattery subBuilder = new global::CsdFactoryOpQuickPutBattery();
          if (opPayloadCase_ == OpPayloadOneofCase.QuickPutBattery) {
            subBuilder.MergeFrom(QuickPutBattery);
          }
          input.ReadMessage(subBuilder);
          QuickPutBattery = subBuilder;
          break;
        }
        case 410: {
          global::CsdFactoryOpChangeProducerMode subBuilder = new global::CsdFactoryOpChangeProducerMode();
          if (opPayloadCase_ == OpPayloadOneofCase.ChangeProducerMode) {
            subBuilder.MergeFrom(ChangeProducerMode);
          }
          input.ReadMessage(subBuilder);
          ChangeProducerMode = subBuilder;
          break;
        }
        case 418: {
          global::CsdFactoryOpReverseFluidConveyorDirection subBuilder = new global::CsdFactoryOpReverseFluidConveyorDirection();
          if (opPayloadCase_ == OpPayloadOneofCase.ReverseFluidConveyorDirection) {
            subBuilder.MergeFrom(ReverseFluidConveyorDirection);
          }
          input.ReadMessage(subBuilder);
          ReverseFluidConveyorDirection = subBuilder;
          break;
        }
        case 426: {
          global::CsdFactoryOpDismantleBatch subBuilder = new global::CsdFactoryOpDismantleBatch();
          if (opPayloadCase_ == OpPayloadOneofCase.DismantleBatch) {
            subBuilder.MergeFrom(DismantleBatch);
          }
          input.ReadMessage(subBuilder);
          DismantleBatch = subBuilder;
          break;
        }
        case 490: {
          global::CsdFactoryOpTakeOutFluidFromLiquidBody subBuilder = new global::CsdFactoryOpTakeOutFluidFromLiquidBody();
          if (opPayloadCase_ == OpPayloadOneofCase.TakeOutFluidFromLiquidBody) {
            subBuilder.MergeFrom(TakeOutFluidFromLiquidBody);
          }
          input.ReadMessage(subBuilder);
          TakeOutFluidFromLiquidBody = subBuilder;
          break;
        }
        case 498: {
          global::CsdFactoryOpPutInFluidToLiquidBody subBuilder = new global::CsdFactoryOpPutInFluidToLiquidBody();
          if (opPayloadCase_ == OpPayloadOneofCase.PutInFluidToLiquidBody) {
            subBuilder.MergeFrom(PutInFluidToLiquidBody);
          }
          input.ReadMessage(subBuilder);
          PutInFluidToLiquidBody = subBuilder;
          break;
        }
        case 506: {
          global::CsdFactoryOpFillingFluidComWithBag subBuilder = new global::CsdFactoryOpFillingFluidComWithBag();
          if (opPayloadCase_ == OpPayloadOneofCase.FillingFluidComWithBag) {
            subBuilder.MergeFrom(FillingFluidComWithBag);
          }
          input.ReadMessage(subBuilder);
          FillingFluidComWithBag = subBuilder;
          break;
        }
        case 514: {
          global::CsdFactoryOpFillingFluidComWithDepot subBuilder = new global::CsdFactoryOpFillingFluidComWithDepot();
          if (opPayloadCase_ == OpPayloadOneofCase.FillingFluidComWithDepot) {
            subBuilder.MergeFrom(FillingFluidComWithDepot);
          }
          input.ReadMessage(subBuilder);
          FillingFluidComWithDepot = subBuilder;
          break;
        }
      }
    }
  }

}

public sealed partial class CsdFactoryOpPlace : pb::IMessage<CsdFactoryOpPlace> {
  private static readonly pb::MessageParser<CsdFactoryOpPlace> _parser = new pb::MessageParser<CsdFactoryOpPlace>(() => new CsdFactoryOpPlace());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsdFactoryOpPlace> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[508]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpPlace() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpPlace(CsdFactoryOpPlace other) : this() {
    templateId_ = other.templateId_;
    position_ = other.position_ != null ? other.position_.Clone() : null;
    direction_ = other.direction_ != null ? other.direction_.Clone() : null;
    mapId_ = other.mapId_;
    interactiveParam_ = other.interactiveParam_ != null ? other.interactiveParam_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpPlace Clone() {
    return new CsdFactoryOpPlace(this);
  }

  /// <summary>Field number for the "template_id" field.</summary>
  public const int TemplateIdFieldNumber = 1;
  private string templateId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string TemplateId {
    get { return templateId_; }
    set {
      templateId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "position" field.</summary>
  public const int PositionFieldNumber = 2;
  private global::ScdVec3Int position_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdVec3Int Position {
    get { return position_; }
    set {
      position_ = value;
    }
  }

  /// <summary>Field number for the "direction" field.</summary>
  public const int DirectionFieldNumber = 3;
  private global::ScdVec3Int direction_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdVec3Int Direction {
    get { return direction_; }
    set {
      direction_ = value;
    }
  }

  /// <summary>Field number for the "map_id" field.</summary>
  public const int MapIdFieldNumber = 4;
  private int mapId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int MapId {
    get { return mapId_; }
    set {
      mapId_ = value;
    }
  }

  /// <summary>Field number for the "interactive_param" field.</summary>
  public const int InteractiveParamFieldNumber = 5;
  private global::CsdFactoryInteractiveParam interactiveParam_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::CsdFactoryInteractiveParam InteractiveParam {
    get { return interactiveParam_; }
    set {
      interactiveParam_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsdFactoryOpPlace);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsdFactoryOpPlace other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (TemplateId != other.TemplateId) return false;
    if (!object.Equals(Position, other.Position)) return false;
    if (!object.Equals(Direction, other.Direction)) return false;
    if (MapId != other.MapId) return false;
    if (!object.Equals(InteractiveParam, other.InteractiveParam)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (TemplateId.Length != 0) hash ^= TemplateId.GetHashCode();
    if (position_ != null) hash ^= Position.GetHashCode();
    if (direction_ != null) hash ^= Direction.GetHashCode();
    if (MapId != 0) hash ^= MapId.GetHashCode();
    if (interactiveParam_ != null) hash ^= InteractiveParam.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (TemplateId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(TemplateId);
    }
    if (position_ != null) {
      output.WriteRawTag(18);
      output.WriteMessage(Position);
    }
    if (direction_ != null) {
      output.WriteRawTag(26);
      output.WriteMessage(Direction);
    }
    if (MapId != 0) {
      output.WriteRawTag(32);
      output.WriteInt32(MapId);
    }
    if (interactiveParam_ != null) {
      output.WriteRawTag(42);
      output.WriteMessage(InteractiveParam);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (TemplateId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(TemplateId);
    }
    if (position_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Position);
    }
    if (direction_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Direction);
    }
    if (MapId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(MapId);
    }
    if (interactiveParam_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(InteractiveParam);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsdFactoryOpPlace other) {
    if (other == null) {
      return;
    }
    if (other.TemplateId.Length != 0) {
      TemplateId = other.TemplateId;
    }
    if (other.position_ != null) {
      if (position_ == null) {
        position_ = new global::ScdVec3Int();
      }
      Position.MergeFrom(other.Position);
    }
    if (other.direction_ != null) {
      if (direction_ == null) {
        direction_ = new global::ScdVec3Int();
      }
      Direction.MergeFrom(other.Direction);
    }
    if (other.MapId != 0) {
      MapId = other.MapId;
    }
    if (other.interactiveParam_ != null) {
      if (interactiveParam_ == null) {
        interactiveParam_ = new global::CsdFactoryInteractiveParam();
      }
      InteractiveParam.MergeFrom(other.InteractiveParam);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          TemplateId = input.ReadString();
          break;
        }
        case 18: {
          if (position_ == null) {
            position_ = new global::ScdVec3Int();
          }
          input.ReadMessage(position_);
          break;
        }
        case 26: {
          if (direction_ == null) {
            direction_ = new global::ScdVec3Int();
          }
          input.ReadMessage(direction_);
          break;
        }
        case 32: {
          MapId = input.ReadInt32();
          break;
        }
        case 42: {
          if (interactiveParam_ == null) {
            interactiveParam_ = new global::CsdFactoryInteractiveParam();
          }
          input.ReadMessage(interactiveParam_);
          break;
        }
      }
    }
  }

}

public sealed partial class CsdFactoryInteractiveParam : pb::IMessage<CsdFactoryInteractiveParam> {
  private static readonly pb::MessageParser<CsdFactoryInteractiveParam> _parser = new pb::MessageParser<CsdFactoryInteractiveParam>(() => new CsdFactoryInteractiveParam());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsdFactoryInteractiveParam> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[509]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryInteractiveParam() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryInteractiveParam(CsdFactoryInteractiveParam other) : this() {
    position_ = other.position_ != null ? other.position_.Clone() : null;
    rotation_ = other.rotation_ != null ? other.rotation_.Clone() : null;
    properties_ = other.properties_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryInteractiveParam Clone() {
    return new CsdFactoryInteractiveParam(this);
  }

  /// <summary>Field number for the "position" field.</summary>
  public const int PositionFieldNumber = 1;
  private global::Vector position_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::Vector Position {
    get { return position_; }
    set {
      position_ = value;
    }
  }

  /// <summary>Field number for the "rotation" field.</summary>
  public const int RotationFieldNumber = 2;
  private global::Vector rotation_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::Vector Rotation {
    get { return rotation_; }
    set {
      rotation_ = value;
    }
  }

  /// <summary>Field number for the "properties" field.</summary>
  public const int PropertiesFieldNumber = 3;
  private static readonly pbc::MapField<int, global::DynamicParameter>.Codec _map_properties_codec
      = new pbc::MapField<int, global::DynamicParameter>.Codec(pb::FieldCodec.ForInt32(8), pb::FieldCodec.ForMessage(18, global::DynamicParameter.Parser), 26);
  private readonly pbc::MapField<int, global::DynamicParameter> properties_ = new pbc::MapField<int, global::DynamicParameter>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<int, global::DynamicParameter> Properties {
    get { return properties_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsdFactoryInteractiveParam);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsdFactoryInteractiveParam other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!object.Equals(Position, other.Position)) return false;
    if (!object.Equals(Rotation, other.Rotation)) return false;
    if (!Properties.Equals(other.Properties)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (position_ != null) hash ^= Position.GetHashCode();
    if (rotation_ != null) hash ^= Rotation.GetHashCode();
    hash ^= Properties.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (position_ != null) {
      output.WriteRawTag(10);
      output.WriteMessage(Position);
    }
    if (rotation_ != null) {
      output.WriteRawTag(18);
      output.WriteMessage(Rotation);
    }
    properties_.WriteTo(output, _map_properties_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (position_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Position);
    }
    if (rotation_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Rotation);
    }
    size += properties_.CalculateSize(_map_properties_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsdFactoryInteractiveParam other) {
    if (other == null) {
      return;
    }
    if (other.position_ != null) {
      if (position_ == null) {
        position_ = new global::Vector();
      }
      Position.MergeFrom(other.Position);
    }
    if (other.rotation_ != null) {
      if (rotation_ == null) {
        rotation_ = new global::Vector();
      }
      Rotation.MergeFrom(other.Rotation);
    }
    properties_.Add(other.properties_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          if (position_ == null) {
            position_ = new global::Vector();
          }
          input.ReadMessage(position_);
          break;
        }
        case 18: {
          if (rotation_ == null) {
            rotation_ = new global::Vector();
          }
          input.ReadMessage(rotation_);
          break;
        }
        case 26: {
          properties_.AddEntriesFrom(input, _map_properties_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class CsdFactoryOpPlaceConveyor : pb::IMessage<CsdFactoryOpPlaceConveyor> {
  private static readonly pb::MessageParser<CsdFactoryOpPlaceConveyor> _parser = new pb::MessageParser<CsdFactoryOpPlaceConveyor>(() => new CsdFactoryOpPlaceConveyor());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsdFactoryOpPlaceConveyor> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[510]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpPlaceConveyor() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpPlaceConveyor(CsdFactoryOpPlaceConveyor other) : this() {
    templateId_ = other.templateId_;
    directionIn_ = other.directionIn_ != null ? other.directionIn_.Clone() : null;
    directionOut_ = other.directionOut_ != null ? other.directionOut_.Clone() : null;
    points_ = other.points_.Clone();
    mapId_ = other.mapId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpPlaceConveyor Clone() {
    return new CsdFactoryOpPlaceConveyor(this);
  }

  /// <summary>Field number for the "template_id" field.</summary>
  public const int TemplateIdFieldNumber = 1;
  private string templateId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string TemplateId {
    get { return templateId_; }
    set {
      templateId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "direction_in" field.</summary>
  public const int DirectionInFieldNumber = 2;
  private global::ScdVec3Int directionIn_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdVec3Int DirectionIn {
    get { return directionIn_; }
    set {
      directionIn_ = value;
    }
  }

  /// <summary>Field number for the "direction_out" field.</summary>
  public const int DirectionOutFieldNumber = 3;
  private global::ScdVec3Int directionOut_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdVec3Int DirectionOut {
    get { return directionOut_; }
    set {
      directionOut_ = value;
    }
  }

  /// <summary>Field number for the "points" field.</summary>
  public const int PointsFieldNumber = 4;
  private static readonly pb::FieldCodec<global::ScdVec3Int> _repeated_points_codec
      = pb::FieldCodec.ForMessage(34, global::ScdVec3Int.Parser);
  private readonly pbc::RepeatedField<global::ScdVec3Int> points_ = new pbc::RepeatedField<global::ScdVec3Int>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdVec3Int> Points {
    get { return points_; }
  }

  /// <summary>Field number for the "map_id" field.</summary>
  public const int MapIdFieldNumber = 5;
  private int mapId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int MapId {
    get { return mapId_; }
    set {
      mapId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsdFactoryOpPlaceConveyor);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsdFactoryOpPlaceConveyor other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (TemplateId != other.TemplateId) return false;
    if (!object.Equals(DirectionIn, other.DirectionIn)) return false;
    if (!object.Equals(DirectionOut, other.DirectionOut)) return false;
    if(!points_.Equals(other.points_)) return false;
    if (MapId != other.MapId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (TemplateId.Length != 0) hash ^= TemplateId.GetHashCode();
    if (directionIn_ != null) hash ^= DirectionIn.GetHashCode();
    if (directionOut_ != null) hash ^= DirectionOut.GetHashCode();
    hash ^= points_.GetHashCode();
    if (MapId != 0) hash ^= MapId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (TemplateId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(TemplateId);
    }
    if (directionIn_ != null) {
      output.WriteRawTag(18);
      output.WriteMessage(DirectionIn);
    }
    if (directionOut_ != null) {
      output.WriteRawTag(26);
      output.WriteMessage(DirectionOut);
    }
    points_.WriteTo(output, _repeated_points_codec);
    if (MapId != 0) {
      output.WriteRawTag(40);
      output.WriteInt32(MapId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (TemplateId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(TemplateId);
    }
    if (directionIn_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(DirectionIn);
    }
    if (directionOut_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(DirectionOut);
    }
    size += points_.CalculateSize(_repeated_points_codec);
    if (MapId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(MapId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsdFactoryOpPlaceConveyor other) {
    if (other == null) {
      return;
    }
    if (other.TemplateId.Length != 0) {
      TemplateId = other.TemplateId;
    }
    if (other.directionIn_ != null) {
      if (directionIn_ == null) {
        directionIn_ = new global::ScdVec3Int();
      }
      DirectionIn.MergeFrom(other.DirectionIn);
    }
    if (other.directionOut_ != null) {
      if (directionOut_ == null) {
        directionOut_ = new global::ScdVec3Int();
      }
      DirectionOut.MergeFrom(other.DirectionOut);
    }
    points_.Add(other.points_);
    if (other.MapId != 0) {
      MapId = other.MapId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          TemplateId = input.ReadString();
          break;
        }
        case 18: {
          if (directionIn_ == null) {
            directionIn_ = new global::ScdVec3Int();
          }
          input.ReadMessage(directionIn_);
          break;
        }
        case 26: {
          if (directionOut_ == null) {
            directionOut_ = new global::ScdVec3Int();
          }
          input.ReadMessage(directionOut_);
          break;
        }
        case 34: {
          points_.AddEntriesFrom(input, _repeated_points_codec);
          break;
        }
        case 40: {
          MapId = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class CsdFactoryOpDismantle : pb::IMessage<CsdFactoryOpDismantle> {
  private static readonly pb::MessageParser<CsdFactoryOpDismantle> _parser = new pb::MessageParser<CsdFactoryOpDismantle>(() => new CsdFactoryOpDismantle());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsdFactoryOpDismantle> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[511]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpDismantle() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpDismantle(CsdFactoryOpDismantle other) : this() {
    nodeId_ = other.nodeId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpDismantle Clone() {
    return new CsdFactoryOpDismantle(this);
  }

  /// <summary>Field number for the "node_id" field.</summary>
  public const int NodeIdFieldNumber = 1;
  private uint nodeId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint NodeId {
    get { return nodeId_; }
    set {
      nodeId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsdFactoryOpDismantle);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsdFactoryOpDismantle other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (NodeId != other.NodeId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (NodeId != 0) hash ^= NodeId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (NodeId != 0) {
      output.WriteRawTag(8);
      output.WriteUInt32(NodeId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (NodeId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(NodeId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsdFactoryOpDismantle other) {
    if (other == null) {
      return;
    }
    if (other.NodeId != 0) {
      NodeId = other.NodeId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          NodeId = input.ReadUInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class CsdFactoryOpSetSelectTarget : pb::IMessage<CsdFactoryOpSetSelectTarget> {
  private static readonly pb::MessageParser<CsdFactoryOpSetSelectTarget> _parser = new pb::MessageParser<CsdFactoryOpSetSelectTarget>(() => new CsdFactoryOpSetSelectTarget());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsdFactoryOpSetSelectTarget> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[512]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpSetSelectTarget() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpSetSelectTarget(CsdFactoryOpSetSelectTarget other) : this() {
    componentId_ = other.componentId_;
    itemId_ = other.itemId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpSetSelectTarget Clone() {
    return new CsdFactoryOpSetSelectTarget(this);
  }

  /// <summary>Field number for the "component_id" field.</summary>
  public const int ComponentIdFieldNumber = 1;
  private uint componentId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint ComponentId {
    get { return componentId_; }
    set {
      componentId_ = value;
    }
  }

  /// <summary>Field number for the "item_id" field.</summary>
  public const int ItemIdFieldNumber = 2;
  private string itemId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ItemId {
    get { return itemId_; }
    set {
      itemId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsdFactoryOpSetSelectTarget);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsdFactoryOpSetSelectTarget other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ComponentId != other.ComponentId) return false;
    if (ItemId != other.ItemId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ComponentId != 0) hash ^= ComponentId.GetHashCode();
    if (ItemId.Length != 0) hash ^= ItemId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ComponentId != 0) {
      output.WriteRawTag(8);
      output.WriteUInt32(ComponentId);
    }
    if (ItemId.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(ItemId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ComponentId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(ComponentId);
    }
    if (ItemId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ItemId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsdFactoryOpSetSelectTarget other) {
    if (other == null) {
      return;
    }
    if (other.ComponentId != 0) {
      ComponentId = other.ComponentId;
    }
    if (other.ItemId.Length != 0) {
      ItemId = other.ItemId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ComponentId = input.ReadUInt32();
          break;
        }
        case 18: {
          ItemId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class CsdFactoryOpEnableNode : pb::IMessage<CsdFactoryOpEnableNode> {
  private static readonly pb::MessageParser<CsdFactoryOpEnableNode> _parser = new pb::MessageParser<CsdFactoryOpEnableNode>(() => new CsdFactoryOpEnableNode());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsdFactoryOpEnableNode> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[513]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpEnableNode() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpEnableNode(CsdFactoryOpEnableNode other) : this() {
    nodeId_ = other.nodeId_;
    enable_ = other.enable_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpEnableNode Clone() {
    return new CsdFactoryOpEnableNode(this);
  }

  /// <summary>Field number for the "node_id" field.</summary>
  public const int NodeIdFieldNumber = 1;
  private uint nodeId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint NodeId {
    get { return nodeId_; }
    set {
      nodeId_ = value;
    }
  }

  /// <summary>Field number for the "enable" field.</summary>
  public const int EnableFieldNumber = 2;
  private bool enable_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Enable {
    get { return enable_; }
    set {
      enable_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsdFactoryOpEnableNode);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsdFactoryOpEnableNode other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (NodeId != other.NodeId) return false;
    if (Enable != other.Enable) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (NodeId != 0) hash ^= NodeId.GetHashCode();
    if (Enable != false) hash ^= Enable.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (NodeId != 0) {
      output.WriteRawTag(8);
      output.WriteUInt32(NodeId);
    }
    if (Enable != false) {
      output.WriteRawTag(16);
      output.WriteBool(Enable);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (NodeId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(NodeId);
    }
    if (Enable != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsdFactoryOpEnableNode other) {
    if (other == null) {
      return;
    }
    if (other.NodeId != 0) {
      NodeId = other.NodeId;
    }
    if (other.Enable != false) {
      Enable = other.Enable;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          NodeId = input.ReadUInt32();
          break;
        }
        case 16: {
          Enable = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class CsdFactoryOpMoveNode : pb::IMessage<CsdFactoryOpMoveNode> {
  private static readonly pb::MessageParser<CsdFactoryOpMoveNode> _parser = new pb::MessageParser<CsdFactoryOpMoveNode>(() => new CsdFactoryOpMoveNode());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsdFactoryOpMoveNode> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[514]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpMoveNode() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpMoveNode(CsdFactoryOpMoveNode other) : this() {
    nodeId_ = other.nodeId_;
    position_ = other.position_ != null ? other.position_.Clone() : null;
    direction_ = other.direction_ != null ? other.direction_.Clone() : null;
    interactiveParam_ = other.interactiveParam_ != null ? other.interactiveParam_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpMoveNode Clone() {
    return new CsdFactoryOpMoveNode(this);
  }

  /// <summary>Field number for the "node_id" field.</summary>
  public const int NodeIdFieldNumber = 1;
  private uint nodeId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint NodeId {
    get { return nodeId_; }
    set {
      nodeId_ = value;
    }
  }

  /// <summary>Field number for the "position" field.</summary>
  public const int PositionFieldNumber = 2;
  private global::ScdVec3Int position_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdVec3Int Position {
    get { return position_; }
    set {
      position_ = value;
    }
  }

  /// <summary>Field number for the "direction" field.</summary>
  public const int DirectionFieldNumber = 3;
  private global::ScdVec3Int direction_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdVec3Int Direction {
    get { return direction_; }
    set {
      direction_ = value;
    }
  }

  /// <summary>Field number for the "interactive_param" field.</summary>
  public const int InteractiveParamFieldNumber = 5;
  private global::CsdFactoryInteractiveParam interactiveParam_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::CsdFactoryInteractiveParam InteractiveParam {
    get { return interactiveParam_; }
    set {
      interactiveParam_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsdFactoryOpMoveNode);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsdFactoryOpMoveNode other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (NodeId != other.NodeId) return false;
    if (!object.Equals(Position, other.Position)) return false;
    if (!object.Equals(Direction, other.Direction)) return false;
    if (!object.Equals(InteractiveParam, other.InteractiveParam)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (NodeId != 0) hash ^= NodeId.GetHashCode();
    if (position_ != null) hash ^= Position.GetHashCode();
    if (direction_ != null) hash ^= Direction.GetHashCode();
    if (interactiveParam_ != null) hash ^= InteractiveParam.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (NodeId != 0) {
      output.WriteRawTag(8);
      output.WriteUInt32(NodeId);
    }
    if (position_ != null) {
      output.WriteRawTag(18);
      output.WriteMessage(Position);
    }
    if (direction_ != null) {
      output.WriteRawTag(26);
      output.WriteMessage(Direction);
    }
    if (interactiveParam_ != null) {
      output.WriteRawTag(42);
      output.WriteMessage(InteractiveParam);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (NodeId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(NodeId);
    }
    if (position_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Position);
    }
    if (direction_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Direction);
    }
    if (interactiveParam_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(InteractiveParam);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsdFactoryOpMoveNode other) {
    if (other == null) {
      return;
    }
    if (other.NodeId != 0) {
      NodeId = other.NodeId;
    }
    if (other.position_ != null) {
      if (position_ == null) {
        position_ = new global::ScdVec3Int();
      }
      Position.MergeFrom(other.Position);
    }
    if (other.direction_ != null) {
      if (direction_ == null) {
        direction_ = new global::ScdVec3Int();
      }
      Direction.MergeFrom(other.Direction);
    }
    if (other.interactiveParam_ != null) {
      if (interactiveParam_ == null) {
        interactiveParam_ = new global::CsdFactoryInteractiveParam();
      }
      InteractiveParam.MergeFrom(other.InteractiveParam);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          NodeId = input.ReadUInt32();
          break;
        }
        case 18: {
          if (position_ == null) {
            position_ = new global::ScdVec3Int();
          }
          input.ReadMessage(position_);
          break;
        }
        case 26: {
          if (direction_ == null) {
            direction_ = new global::ScdVec3Int();
          }
          input.ReadMessage(direction_);
          break;
        }
        case 42: {
          if (interactiveParam_ == null) {
            interactiveParam_ = new global::CsdFactoryInteractiveParam();
          }
          input.ReadMessage(interactiveParam_);
          break;
        }
      }
    }
  }

}

public sealed partial class CsdFactoryOpDismantleBoxConveyor : pb::IMessage<CsdFactoryOpDismantleBoxConveyor> {
  private static readonly pb::MessageParser<CsdFactoryOpDismantleBoxConveyor> _parser = new pb::MessageParser<CsdFactoryOpDismantleBoxConveyor>(() => new CsdFactoryOpDismantleBoxConveyor());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsdFactoryOpDismantleBoxConveyor> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[515]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpDismantleBoxConveyor() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpDismantleBoxConveyor(CsdFactoryOpDismantleBoxConveyor other) : this() {
    nodeId_ = other.nodeId_;
    indexList_ = other.indexList_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpDismantleBoxConveyor Clone() {
    return new CsdFactoryOpDismantleBoxConveyor(this);
  }

  /// <summary>Field number for the "node_id" field.</summary>
  public const int NodeIdFieldNumber = 1;
  private uint nodeId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint NodeId {
    get { return nodeId_; }
    set {
      nodeId_ = value;
    }
  }

  /// <summary>Field number for the "index_list" field.</summary>
  public const int IndexListFieldNumber = 2;
  private static readonly pb::FieldCodec<int> _repeated_indexList_codec
      = pb::FieldCodec.ForInt32(18);
  private readonly pbc::RepeatedField<int> indexList_ = new pbc::RepeatedField<int>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<int> IndexList {
    get { return indexList_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsdFactoryOpDismantleBoxConveyor);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsdFactoryOpDismantleBoxConveyor other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (NodeId != other.NodeId) return false;
    if(!indexList_.Equals(other.indexList_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (NodeId != 0) hash ^= NodeId.GetHashCode();
    hash ^= indexList_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (NodeId != 0) {
      output.WriteRawTag(8);
      output.WriteUInt32(NodeId);
    }
    indexList_.WriteTo(output, _repeated_indexList_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (NodeId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(NodeId);
    }
    size += indexList_.CalculateSize(_repeated_indexList_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsdFactoryOpDismantleBoxConveyor other) {
    if (other == null) {
      return;
    }
    if (other.NodeId != 0) {
      NodeId = other.NodeId;
    }
    indexList_.Add(other.indexList_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          NodeId = input.ReadUInt32();
          break;
        }
        case 18:
        case 16: {
          indexList_.AddEntriesFrom(input, _repeated_indexList_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class CsdFactoryOpRepairNode : pb::IMessage<CsdFactoryOpRepairNode> {
  private static readonly pb::MessageParser<CsdFactoryOpRepairNode> _parser = new pb::MessageParser<CsdFactoryOpRepairNode>(() => new CsdFactoryOpRepairNode());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsdFactoryOpRepairNode> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[516]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpRepairNode() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpRepairNode(CsdFactoryOpRepairNode other) : this() {
    nodeId_ = other.nodeId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpRepairNode Clone() {
    return new CsdFactoryOpRepairNode(this);
  }

  /// <summary>Field number for the "node_id" field.</summary>
  public const int NodeIdFieldNumber = 1;
  private uint nodeId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint NodeId {
    get { return nodeId_; }
    set {
      nodeId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsdFactoryOpRepairNode);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsdFactoryOpRepairNode other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (NodeId != other.NodeId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (NodeId != 0) hash ^= NodeId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (NodeId != 0) {
      output.WriteRawTag(8);
      output.WriteUInt32(NodeId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (NodeId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(NodeId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsdFactoryOpRepairNode other) {
    if (other == null) {
      return;
    }
    if (other.NodeId != 0) {
      NodeId = other.NodeId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          NodeId = input.ReadUInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class CsdFactoryOpMoveItemCacheToCache : pb::IMessage<CsdFactoryOpMoveItemCacheToCache> {
  private static readonly pb::MessageParser<CsdFactoryOpMoveItemCacheToCache> _parser = new pb::MessageParser<CsdFactoryOpMoveItemCacheToCache>(() => new CsdFactoryOpMoveItemCacheToCache());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsdFactoryOpMoveItemCacheToCache> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[517]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpMoveItemCacheToCache() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpMoveItemCacheToCache(CsdFactoryOpMoveItemCacheToCache other) : this() {
    fromComponentId_ = other.fromComponentId_;
    toComponentId_ = other.toComponentId_;
    itemId_ = other.itemId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpMoveItemCacheToCache Clone() {
    return new CsdFactoryOpMoveItemCacheToCache(this);
  }

  /// <summary>Field number for the "from_component_id" field.</summary>
  public const int FromComponentIdFieldNumber = 1;
  private uint fromComponentId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint FromComponentId {
    get { return fromComponentId_; }
    set {
      fromComponentId_ = value;
    }
  }

  /// <summary>Field number for the "to_component_id" field.</summary>
  public const int ToComponentIdFieldNumber = 2;
  private uint toComponentId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint ToComponentId {
    get { return toComponentId_; }
    set {
      toComponentId_ = value;
    }
  }

  /// <summary>Field number for the "item_id" field.</summary>
  public const int ItemIdFieldNumber = 3;
  private string itemId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ItemId {
    get { return itemId_; }
    set {
      itemId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsdFactoryOpMoveItemCacheToCache);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsdFactoryOpMoveItemCacheToCache other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (FromComponentId != other.FromComponentId) return false;
    if (ToComponentId != other.ToComponentId) return false;
    if (ItemId != other.ItemId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (FromComponentId != 0) hash ^= FromComponentId.GetHashCode();
    if (ToComponentId != 0) hash ^= ToComponentId.GetHashCode();
    if (ItemId.Length != 0) hash ^= ItemId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (FromComponentId != 0) {
      output.WriteRawTag(8);
      output.WriteUInt32(FromComponentId);
    }
    if (ToComponentId != 0) {
      output.WriteRawTag(16);
      output.WriteUInt32(ToComponentId);
    }
    if (ItemId.Length != 0) {
      output.WriteRawTag(26);
      output.WriteString(ItemId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (FromComponentId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(FromComponentId);
    }
    if (ToComponentId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(ToComponentId);
    }
    if (ItemId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ItemId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsdFactoryOpMoveItemCacheToCache other) {
    if (other == null) {
      return;
    }
    if (other.FromComponentId != 0) {
      FromComponentId = other.FromComponentId;
    }
    if (other.ToComponentId != 0) {
      ToComponentId = other.ToComponentId;
    }
    if (other.ItemId.Length != 0) {
      ItemId = other.ItemId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          FromComponentId = input.ReadUInt32();
          break;
        }
        case 16: {
          ToComponentId = input.ReadUInt32();
          break;
        }
        case 26: {
          ItemId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class CsdFactoryOpMoveItemBagToCache : pb::IMessage<CsdFactoryOpMoveItemBagToCache> {
  private static readonly pb::MessageParser<CsdFactoryOpMoveItemBagToCache> _parser = new pb::MessageParser<CsdFactoryOpMoveItemBagToCache>(() => new CsdFactoryOpMoveItemBagToCache());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsdFactoryOpMoveItemBagToCache> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[518]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpMoveItemBagToCache() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpMoveItemBagToCache(CsdFactoryOpMoveItemBagToCache other) : this() {
    gridIndex_ = other.gridIndex_;
    componentId_ = other.componentId_;
    cacheGridIndex_ = other.cacheGridIndex_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpMoveItemBagToCache Clone() {
    return new CsdFactoryOpMoveItemBagToCache(this);
  }

  /// <summary>Field number for the "grid_index" field.</summary>
  public const int GridIndexFieldNumber = 1;
  private int gridIndex_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int GridIndex {
    get { return gridIndex_; }
    set {
      gridIndex_ = value;
    }
  }

  /// <summary>Field number for the "component_id" field.</summary>
  public const int ComponentIdFieldNumber = 2;
  private uint componentId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint ComponentId {
    get { return componentId_; }
    set {
      componentId_ = value;
    }
  }

  /// <summary>Field number for the "cache_grid_index" field.</summary>
  public const int CacheGridIndexFieldNumber = 3;
  private int cacheGridIndex_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CacheGridIndex {
    get { return cacheGridIndex_; }
    set {
      cacheGridIndex_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsdFactoryOpMoveItemBagToCache);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsdFactoryOpMoveItemBagToCache other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (GridIndex != other.GridIndex) return false;
    if (ComponentId != other.ComponentId) return false;
    if (CacheGridIndex != other.CacheGridIndex) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (GridIndex != 0) hash ^= GridIndex.GetHashCode();
    if (ComponentId != 0) hash ^= ComponentId.GetHashCode();
    if (CacheGridIndex != 0) hash ^= CacheGridIndex.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (GridIndex != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(GridIndex);
    }
    if (ComponentId != 0) {
      output.WriteRawTag(16);
      output.WriteUInt32(ComponentId);
    }
    if (CacheGridIndex != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(CacheGridIndex);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (GridIndex != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(GridIndex);
    }
    if (ComponentId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(ComponentId);
    }
    if (CacheGridIndex != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(CacheGridIndex);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsdFactoryOpMoveItemBagToCache other) {
    if (other == null) {
      return;
    }
    if (other.GridIndex != 0) {
      GridIndex = other.GridIndex;
    }
    if (other.ComponentId != 0) {
      ComponentId = other.ComponentId;
    }
    if (other.CacheGridIndex != 0) {
      CacheGridIndex = other.CacheGridIndex;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          GridIndex = input.ReadInt32();
          break;
        }
        case 16: {
          ComponentId = input.ReadUInt32();
          break;
        }
        case 24: {
          CacheGridIndex = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class CsdFactoryOpMoveItemCacheToBag : pb::IMessage<CsdFactoryOpMoveItemCacheToBag> {
  private static readonly pb::MessageParser<CsdFactoryOpMoveItemCacheToBag> _parser = new pb::MessageParser<CsdFactoryOpMoveItemCacheToBag>(() => new CsdFactoryOpMoveItemCacheToBag());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsdFactoryOpMoveItemCacheToBag> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[519]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpMoveItemCacheToBag() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpMoveItemCacheToBag(CsdFactoryOpMoveItemCacheToBag other) : this() {
    componentId_ = other.componentId_;
    itemId_ = other.itemId_;
    all_ = other.all_;
    cacheGridIndex_ = other.cacheGridIndex_;
    gridIndex_ = other.gridIndex_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpMoveItemCacheToBag Clone() {
    return new CsdFactoryOpMoveItemCacheToBag(this);
  }

  /// <summary>Field number for the "component_id" field.</summary>
  public const int ComponentIdFieldNumber = 1;
  private uint componentId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint ComponentId {
    get { return componentId_; }
    set {
      componentId_ = value;
    }
  }

  /// <summary>Field number for the "item_id" field.</summary>
  public const int ItemIdFieldNumber = 2;
  private string itemId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ItemId {
    get { return itemId_; }
    set {
      itemId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "all" field.</summary>
  public const int AllFieldNumber = 3;
  private bool all_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool All {
    get { return all_; }
    set {
      all_ = value;
    }
  }

  /// <summary>Field number for the "cache_grid_index" field.</summary>
  public const int CacheGridIndexFieldNumber = 4;
  private int cacheGridIndex_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CacheGridIndex {
    get { return cacheGridIndex_; }
    set {
      cacheGridIndex_ = value;
    }
  }

  /// <summary>Field number for the "grid_index" field.</summary>
  public const int GridIndexFieldNumber = 5;
  private int gridIndex_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int GridIndex {
    get { return gridIndex_; }
    set {
      gridIndex_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsdFactoryOpMoveItemCacheToBag);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsdFactoryOpMoveItemCacheToBag other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ComponentId != other.ComponentId) return false;
    if (ItemId != other.ItemId) return false;
    if (All != other.All) return false;
    if (CacheGridIndex != other.CacheGridIndex) return false;
    if (GridIndex != other.GridIndex) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ComponentId != 0) hash ^= ComponentId.GetHashCode();
    if (ItemId.Length != 0) hash ^= ItemId.GetHashCode();
    if (All != false) hash ^= All.GetHashCode();
    if (CacheGridIndex != 0) hash ^= CacheGridIndex.GetHashCode();
    if (GridIndex != 0) hash ^= GridIndex.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ComponentId != 0) {
      output.WriteRawTag(8);
      output.WriteUInt32(ComponentId);
    }
    if (ItemId.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(ItemId);
    }
    if (All != false) {
      output.WriteRawTag(24);
      output.WriteBool(All);
    }
    if (CacheGridIndex != 0) {
      output.WriteRawTag(32);
      output.WriteInt32(CacheGridIndex);
    }
    if (GridIndex != 0) {
      output.WriteRawTag(40);
      output.WriteInt32(GridIndex);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ComponentId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(ComponentId);
    }
    if (ItemId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ItemId);
    }
    if (All != false) {
      size += 1 + 1;
    }
    if (CacheGridIndex != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(CacheGridIndex);
    }
    if (GridIndex != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(GridIndex);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsdFactoryOpMoveItemCacheToBag other) {
    if (other == null) {
      return;
    }
    if (other.ComponentId != 0) {
      ComponentId = other.ComponentId;
    }
    if (other.ItemId.Length != 0) {
      ItemId = other.ItemId;
    }
    if (other.All != false) {
      All = other.All;
    }
    if (other.CacheGridIndex != 0) {
      CacheGridIndex = other.CacheGridIndex;
    }
    if (other.GridIndex != 0) {
      GridIndex = other.GridIndex;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ComponentId = input.ReadUInt32();
          break;
        }
        case 18: {
          ItemId = input.ReadString();
          break;
        }
        case 24: {
          All = input.ReadBool();
          break;
        }
        case 32: {
          CacheGridIndex = input.ReadInt32();
          break;
        }
        case 40: {
          GridIndex = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class CsdFactoryOpMoveItemDepotToCache : pb::IMessage<CsdFactoryOpMoveItemDepotToCache> {
  private static readonly pb::MessageParser<CsdFactoryOpMoveItemDepotToCache> _parser = new pb::MessageParser<CsdFactoryOpMoveItemDepotToCache>(() => new CsdFactoryOpMoveItemDepotToCache());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsdFactoryOpMoveItemDepotToCache> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[520]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpMoveItemDepotToCache() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpMoveItemDepotToCache(CsdFactoryOpMoveItemDepotToCache other) : this() {
    itemId_ = other.itemId_;
    componentId_ = other.componentId_;
    cacheGridIndex_ = other.cacheGridIndex_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpMoveItemDepotToCache Clone() {
    return new CsdFactoryOpMoveItemDepotToCache(this);
  }

  /// <summary>Field number for the "item_id" field.</summary>
  public const int ItemIdFieldNumber = 1;
  private string itemId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ItemId {
    get { return itemId_; }
    set {
      itemId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "component_id" field.</summary>
  public const int ComponentIdFieldNumber = 2;
  private uint componentId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint ComponentId {
    get { return componentId_; }
    set {
      componentId_ = value;
    }
  }

  /// <summary>Field number for the "cache_grid_index" field.</summary>
  public const int CacheGridIndexFieldNumber = 3;
  private int cacheGridIndex_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CacheGridIndex {
    get { return cacheGridIndex_; }
    set {
      cacheGridIndex_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsdFactoryOpMoveItemDepotToCache);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsdFactoryOpMoveItemDepotToCache other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ItemId != other.ItemId) return false;
    if (ComponentId != other.ComponentId) return false;
    if (CacheGridIndex != other.CacheGridIndex) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ItemId.Length != 0) hash ^= ItemId.GetHashCode();
    if (ComponentId != 0) hash ^= ComponentId.GetHashCode();
    if (CacheGridIndex != 0) hash ^= CacheGridIndex.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ItemId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(ItemId);
    }
    if (ComponentId != 0) {
      output.WriteRawTag(16);
      output.WriteUInt32(ComponentId);
    }
    if (CacheGridIndex != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(CacheGridIndex);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ItemId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ItemId);
    }
    if (ComponentId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(ComponentId);
    }
    if (CacheGridIndex != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(CacheGridIndex);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsdFactoryOpMoveItemDepotToCache other) {
    if (other == null) {
      return;
    }
    if (other.ItemId.Length != 0) {
      ItemId = other.ItemId;
    }
    if (other.ComponentId != 0) {
      ComponentId = other.ComponentId;
    }
    if (other.CacheGridIndex != 0) {
      CacheGridIndex = other.CacheGridIndex;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          ItemId = input.ReadString();
          break;
        }
        case 16: {
          ComponentId = input.ReadUInt32();
          break;
        }
        case 24: {
          CacheGridIndex = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class CsdFactoryOpMoveItemCacheToDepot : pb::IMessage<CsdFactoryOpMoveItemCacheToDepot> {
  private static readonly pb::MessageParser<CsdFactoryOpMoveItemCacheToDepot> _parser = new pb::MessageParser<CsdFactoryOpMoveItemCacheToDepot>(() => new CsdFactoryOpMoveItemCacheToDepot());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsdFactoryOpMoveItemCacheToDepot> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[521]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpMoveItemCacheToDepot() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpMoveItemCacheToDepot(CsdFactoryOpMoveItemCacheToDepot other) : this() {
    componentId_ = other.componentId_;
    itemId_ = other.itemId_;
    all_ = other.all_;
    cacheGridIndex_ = other.cacheGridIndex_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpMoveItemCacheToDepot Clone() {
    return new CsdFactoryOpMoveItemCacheToDepot(this);
  }

  /// <summary>Field number for the "component_id" field.</summary>
  public const int ComponentIdFieldNumber = 1;
  private uint componentId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint ComponentId {
    get { return componentId_; }
    set {
      componentId_ = value;
    }
  }

  /// <summary>Field number for the "item_id" field.</summary>
  public const int ItemIdFieldNumber = 2;
  private string itemId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ItemId {
    get { return itemId_; }
    set {
      itemId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "all" field.</summary>
  public const int AllFieldNumber = 3;
  private bool all_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool All {
    get { return all_; }
    set {
      all_ = value;
    }
  }

  /// <summary>Field number for the "cache_grid_index" field.</summary>
  public const int CacheGridIndexFieldNumber = 4;
  private int cacheGridIndex_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CacheGridIndex {
    get { return cacheGridIndex_; }
    set {
      cacheGridIndex_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsdFactoryOpMoveItemCacheToDepot);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsdFactoryOpMoveItemCacheToDepot other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ComponentId != other.ComponentId) return false;
    if (ItemId != other.ItemId) return false;
    if (All != other.All) return false;
    if (CacheGridIndex != other.CacheGridIndex) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ComponentId != 0) hash ^= ComponentId.GetHashCode();
    if (ItemId.Length != 0) hash ^= ItemId.GetHashCode();
    if (All != false) hash ^= All.GetHashCode();
    if (CacheGridIndex != 0) hash ^= CacheGridIndex.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ComponentId != 0) {
      output.WriteRawTag(8);
      output.WriteUInt32(ComponentId);
    }
    if (ItemId.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(ItemId);
    }
    if (All != false) {
      output.WriteRawTag(24);
      output.WriteBool(All);
    }
    if (CacheGridIndex != 0) {
      output.WriteRawTag(32);
      output.WriteInt32(CacheGridIndex);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ComponentId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(ComponentId);
    }
    if (ItemId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ItemId);
    }
    if (All != false) {
      size += 1 + 1;
    }
    if (CacheGridIndex != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(CacheGridIndex);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsdFactoryOpMoveItemCacheToDepot other) {
    if (other == null) {
      return;
    }
    if (other.ComponentId != 0) {
      ComponentId = other.ComponentId;
    }
    if (other.ItemId.Length != 0) {
      ItemId = other.ItemId;
    }
    if (other.All != false) {
      All = other.All;
    }
    if (other.CacheGridIndex != 0) {
      CacheGridIndex = other.CacheGridIndex;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ComponentId = input.ReadUInt32();
          break;
        }
        case 18: {
          ItemId = input.ReadString();
          break;
        }
        case 24: {
          All = input.ReadBool();
          break;
        }
        case 32: {
          CacheGridIndex = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class CsdFactoryOpMoveItemConveyorToBag : pb::IMessage<CsdFactoryOpMoveItemConveyorToBag> {
  private static readonly pb::MessageParser<CsdFactoryOpMoveItemConveyorToBag> _parser = new pb::MessageParser<CsdFactoryOpMoveItemConveyorToBag>(() => new CsdFactoryOpMoveItemConveyorToBag());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsdFactoryOpMoveItemConveyorToBag> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[522]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpMoveItemConveyorToBag() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpMoveItemConveyorToBag(CsdFactoryOpMoveItemConveyorToBag other) : this() {
    componentId_ = other.componentId_;
    index_ = other.index_;
    all_ = other.all_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpMoveItemConveyorToBag Clone() {
    return new CsdFactoryOpMoveItemConveyorToBag(this);
  }

  /// <summary>Field number for the "component_id" field.</summary>
  public const int ComponentIdFieldNumber = 1;
  private uint componentId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint ComponentId {
    get { return componentId_; }
    set {
      componentId_ = value;
    }
  }

  /// <summary>Field number for the "index" field.</summary>
  public const int IndexFieldNumber = 2;
  private int index_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Index {
    get { return index_; }
    set {
      index_ = value;
    }
  }

  /// <summary>Field number for the "all" field.</summary>
  public const int AllFieldNumber = 3;
  private bool all_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool All {
    get { return all_; }
    set {
      all_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsdFactoryOpMoveItemConveyorToBag);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsdFactoryOpMoveItemConveyorToBag other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ComponentId != other.ComponentId) return false;
    if (Index != other.Index) return false;
    if (All != other.All) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ComponentId != 0) hash ^= ComponentId.GetHashCode();
    if (Index != 0) hash ^= Index.GetHashCode();
    if (All != false) hash ^= All.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ComponentId != 0) {
      output.WriteRawTag(8);
      output.WriteUInt32(ComponentId);
    }
    if (Index != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(Index);
    }
    if (All != false) {
      output.WriteRawTag(24);
      output.WriteBool(All);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ComponentId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(ComponentId);
    }
    if (Index != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Index);
    }
    if (All != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsdFactoryOpMoveItemConveyorToBag other) {
    if (other == null) {
      return;
    }
    if (other.ComponentId != 0) {
      ComponentId = other.ComponentId;
    }
    if (other.Index != 0) {
      Index = other.Index;
    }
    if (other.All != false) {
      All = other.All;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ComponentId = input.ReadUInt32();
          break;
        }
        case 16: {
          Index = input.ReadInt32();
          break;
        }
        case 24: {
          All = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class CsdFactoryOpCacheTransportTransfer : pb::IMessage<CsdFactoryOpCacheTransportTransfer> {
  private static readonly pb::MessageParser<CsdFactoryOpCacheTransportTransfer> _parser = new pb::MessageParser<CsdFactoryOpCacheTransportTransfer>(() => new CsdFactoryOpCacheTransportTransfer());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsdFactoryOpCacheTransportTransfer> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[523]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpCacheTransportTransfer() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpCacheTransportTransfer(CsdFactoryOpCacheTransportTransfer other) : this() {
    componentId_ = other.componentId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpCacheTransportTransfer Clone() {
    return new CsdFactoryOpCacheTransportTransfer(this);
  }

  /// <summary>Field number for the "component_id" field.</summary>
  public const int ComponentIdFieldNumber = 1;
  private uint componentId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint ComponentId {
    get { return componentId_; }
    set {
      componentId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsdFactoryOpCacheTransportTransfer);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsdFactoryOpCacheTransportTransfer other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ComponentId != other.ComponentId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ComponentId != 0) hash ^= ComponentId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ComponentId != 0) {
      output.WriteRawTag(8);
      output.WriteUInt32(ComponentId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ComponentId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(ComponentId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsdFactoryOpCacheTransportTransfer other) {
    if (other == null) {
      return;
    }
    if (other.ComponentId != 0) {
      ComponentId = other.ComponentId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ComponentId = input.ReadUInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class CsdFactoryOpCacheTransportEnable : pb::IMessage<CsdFactoryOpCacheTransportEnable> {
  private static readonly pb::MessageParser<CsdFactoryOpCacheTransportEnable> _parser = new pb::MessageParser<CsdFactoryOpCacheTransportEnable>(() => new CsdFactoryOpCacheTransportEnable());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsdFactoryOpCacheTransportEnable> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[524]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpCacheTransportEnable() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpCacheTransportEnable(CsdFactoryOpCacheTransportEnable other) : this() {
    componentId_ = other.componentId_;
    enable_ = other.enable_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpCacheTransportEnable Clone() {
    return new CsdFactoryOpCacheTransportEnable(this);
  }

  /// <summary>Field number for the "component_id" field.</summary>
  public const int ComponentIdFieldNumber = 1;
  private uint componentId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint ComponentId {
    get { return componentId_; }
    set {
      componentId_ = value;
    }
  }

  /// <summary>Field number for the "enable" field.</summary>
  public const int EnableFieldNumber = 2;
  private bool enable_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Enable {
    get { return enable_; }
    set {
      enable_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsdFactoryOpCacheTransportEnable);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsdFactoryOpCacheTransportEnable other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ComponentId != other.ComponentId) return false;
    if (Enable != other.Enable) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ComponentId != 0) hash ^= ComponentId.GetHashCode();
    if (Enable != false) hash ^= Enable.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ComponentId != 0) {
      output.WriteRawTag(8);
      output.WriteUInt32(ComponentId);
    }
    if (Enable != false) {
      output.WriteRawTag(16);
      output.WriteBool(Enable);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ComponentId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(ComponentId);
    }
    if (Enable != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsdFactoryOpCacheTransportEnable other) {
    if (other == null) {
      return;
    }
    if (other.ComponentId != 0) {
      ComponentId = other.ComponentId;
    }
    if (other.Enable != false) {
      Enable = other.Enable;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ComponentId = input.ReadUInt32();
          break;
        }
        case 16: {
          Enable = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class CsdFactoryOpSetTravelPoleDefaultNext : pb::IMessage<CsdFactoryOpSetTravelPoleDefaultNext> {
  private static readonly pb::MessageParser<CsdFactoryOpSetTravelPoleDefaultNext> _parser = new pb::MessageParser<CsdFactoryOpSetTravelPoleDefaultNext>(() => new CsdFactoryOpSetTravelPoleDefaultNext());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsdFactoryOpSetTravelPoleDefaultNext> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[525]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpSetTravelPoleDefaultNext() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpSetTravelPoleDefaultNext(CsdFactoryOpSetTravelPoleDefaultNext other) : this() {
    componentId_ = other.componentId_;
    defaultNext_ = other.defaultNext_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpSetTravelPoleDefaultNext Clone() {
    return new CsdFactoryOpSetTravelPoleDefaultNext(this);
  }

  /// <summary>Field number for the "component_id" field.</summary>
  public const int ComponentIdFieldNumber = 1;
  private uint componentId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint ComponentId {
    get { return componentId_; }
    set {
      componentId_ = value;
    }
  }

  /// <summary>Field number for the "default_next" field.</summary>
  public const int DefaultNextFieldNumber = 2;
  private uint defaultNext_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint DefaultNext {
    get { return defaultNext_; }
    set {
      defaultNext_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsdFactoryOpSetTravelPoleDefaultNext);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsdFactoryOpSetTravelPoleDefaultNext other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ComponentId != other.ComponentId) return false;
    if (DefaultNext != other.DefaultNext) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ComponentId != 0) hash ^= ComponentId.GetHashCode();
    if (DefaultNext != 0) hash ^= DefaultNext.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ComponentId != 0) {
      output.WriteRawTag(8);
      output.WriteUInt32(ComponentId);
    }
    if (DefaultNext != 0) {
      output.WriteRawTag(16);
      output.WriteUInt32(DefaultNext);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ComponentId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(ComponentId);
    }
    if (DefaultNext != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(DefaultNext);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsdFactoryOpSetTravelPoleDefaultNext other) {
    if (other == null) {
      return;
    }
    if (other.ComponentId != 0) {
      ComponentId = other.ComponentId;
    }
    if (other.DefaultNext != 0) {
      DefaultNext = other.DefaultNext;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ComponentId = input.ReadUInt32();
          break;
        }
        case 16: {
          DefaultNext = input.ReadUInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class CsdFactoryOpUseHealTowerPoint : pb::IMessage<CsdFactoryOpUseHealTowerPoint> {
  private static readonly pb::MessageParser<CsdFactoryOpUseHealTowerPoint> _parser = new pb::MessageParser<CsdFactoryOpUseHealTowerPoint>(() => new CsdFactoryOpUseHealTowerPoint());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsdFactoryOpUseHealTowerPoint> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[526]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpUseHealTowerPoint() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpUseHealTowerPoint(CsdFactoryOpUseHealTowerPoint other) : this() {
    componentId_ = other.componentId_;
    useCount_ = other.useCount_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpUseHealTowerPoint Clone() {
    return new CsdFactoryOpUseHealTowerPoint(this);
  }

  /// <summary>Field number for the "component_id" field.</summary>
  public const int ComponentIdFieldNumber = 1;
  private uint componentId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint ComponentId {
    get { return componentId_; }
    set {
      componentId_ = value;
    }
  }

  /// <summary>Field number for the "use_count" field.</summary>
  public const int UseCountFieldNumber = 2;
  private uint useCount_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint UseCount {
    get { return useCount_; }
    set {
      useCount_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsdFactoryOpUseHealTowerPoint);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsdFactoryOpUseHealTowerPoint other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ComponentId != other.ComponentId) return false;
    if (UseCount != other.UseCount) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ComponentId != 0) hash ^= ComponentId.GetHashCode();
    if (UseCount != 0) hash ^= UseCount.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ComponentId != 0) {
      output.WriteRawTag(8);
      output.WriteUInt32(ComponentId);
    }
    if (UseCount != 0) {
      output.WriteRawTag(16);
      output.WriteUInt32(UseCount);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ComponentId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(ComponentId);
    }
    if (UseCount != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(UseCount);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsdFactoryOpUseHealTowerPoint other) {
    if (other == null) {
      return;
    }
    if (other.ComponentId != 0) {
      ComponentId = other.ComponentId;
    }
    if (other.UseCount != 0) {
      UseCount = other.UseCount;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ComponentId = input.ReadUInt32();
          break;
        }
        case 16: {
          UseCount = input.ReadUInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class CsdFactoryOpBattleRepair : pb::IMessage<CsdFactoryOpBattleRepair> {
  private static readonly pb::MessageParser<CsdFactoryOpBattleRepair> _parser = new pb::MessageParser<CsdFactoryOpBattleRepair>(() => new CsdFactoryOpBattleRepair());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsdFactoryOpBattleRepair> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[527]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpBattleRepair() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpBattleRepair(CsdFactoryOpBattleRepair other) : this() {
    nodeId_ = other.nodeId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpBattleRepair Clone() {
    return new CsdFactoryOpBattleRepair(this);
  }

  /// <summary>Field number for the "node_id" field.</summary>
  public const int NodeIdFieldNumber = 1;
  private uint nodeId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint NodeId {
    get { return nodeId_; }
    set {
      nodeId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsdFactoryOpBattleRepair);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsdFactoryOpBattleRepair other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (NodeId != other.NodeId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (NodeId != 0) hash ^= NodeId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (NodeId != 0) {
      output.WriteRawTag(8);
      output.WriteUInt32(NodeId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (NodeId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(NodeId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsdFactoryOpBattleRepair other) {
    if (other == null) {
      return;
    }
    if (other.NodeId != 0) {
      NodeId = other.NodeId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          NodeId = input.ReadUInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class CsdFactoryOpAddConnection : pb::IMessage<CsdFactoryOpAddConnection> {
  private static readonly pb::MessageParser<CsdFactoryOpAddConnection> _parser = new pb::MessageParser<CsdFactoryOpAddConnection>(() => new CsdFactoryOpAddConnection());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsdFactoryOpAddConnection> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[528]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpAddConnection() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpAddConnection(CsdFactoryOpAddConnection other) : this() {
    mapId_ = other.mapId_;
    fromComId_ = other.fromComId_;
    toComId_ = other.toComId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpAddConnection Clone() {
    return new CsdFactoryOpAddConnection(this);
  }

  /// <summary>Field number for the "map_id" field.</summary>
  public const int MapIdFieldNumber = 1;
  private int mapId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int MapId {
    get { return mapId_; }
    set {
      mapId_ = value;
    }
  }

  /// <summary>Field number for the "from_com_id" field.</summary>
  public const int FromComIdFieldNumber = 4;
  private ulong fromComId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong FromComId {
    get { return fromComId_; }
    set {
      fromComId_ = value;
    }
  }

  /// <summary>Field number for the "to_com_id" field.</summary>
  public const int ToComIdFieldNumber = 5;
  private ulong toComId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong ToComId {
    get { return toComId_; }
    set {
      toComId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsdFactoryOpAddConnection);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsdFactoryOpAddConnection other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (MapId != other.MapId) return false;
    if (FromComId != other.FromComId) return false;
    if (ToComId != other.ToComId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (MapId != 0) hash ^= MapId.GetHashCode();
    if (FromComId != 0UL) hash ^= FromComId.GetHashCode();
    if (ToComId != 0UL) hash ^= ToComId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (MapId != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(MapId);
    }
    if (FromComId != 0UL) {
      output.WriteRawTag(32);
      output.WriteUInt64(FromComId);
    }
    if (ToComId != 0UL) {
      output.WriteRawTag(40);
      output.WriteUInt64(ToComId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (MapId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(MapId);
    }
    if (FromComId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(FromComId);
    }
    if (ToComId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(ToComId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsdFactoryOpAddConnection other) {
    if (other == null) {
      return;
    }
    if (other.MapId != 0) {
      MapId = other.MapId;
    }
    if (other.FromComId != 0UL) {
      FromComId = other.FromComId;
    }
    if (other.ToComId != 0UL) {
      ToComId = other.ToComId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          MapId = input.ReadInt32();
          break;
        }
        case 32: {
          FromComId = input.ReadUInt64();
          break;
        }
        case 40: {
          ToComId = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class CsdFactoryOpDelConnection : pb::IMessage<CsdFactoryOpDelConnection> {
  private static readonly pb::MessageParser<CsdFactoryOpDelConnection> _parser = new pb::MessageParser<CsdFactoryOpDelConnection>(() => new CsdFactoryOpDelConnection());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsdFactoryOpDelConnection> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[529]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpDelConnection() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpDelConnection(CsdFactoryOpDelConnection other) : this() {
    mapId_ = other.mapId_;
    index_ = other.index_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpDelConnection Clone() {
    return new CsdFactoryOpDelConnection(this);
  }

  /// <summary>Field number for the "map_id" field.</summary>
  public const int MapIdFieldNumber = 1;
  private int mapId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int MapId {
    get { return mapId_; }
    set {
      mapId_ = value;
    }
  }

  /// <summary>Field number for the "index" field.</summary>
  public const int IndexFieldNumber = 2;
  private ulong index_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong Index {
    get { return index_; }
    set {
      index_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsdFactoryOpDelConnection);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsdFactoryOpDelConnection other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (MapId != other.MapId) return false;
    if (Index != other.Index) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (MapId != 0) hash ^= MapId.GetHashCode();
    if (Index != 0UL) hash ^= Index.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (MapId != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(MapId);
    }
    if (Index != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(Index);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (MapId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(MapId);
    }
    if (Index != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(Index);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsdFactoryOpDelConnection other) {
    if (other == null) {
      return;
    }
    if (other.MapId != 0) {
      MapId = other.MapId;
    }
    if (other.Index != 0UL) {
      Index = other.Index;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          MapId = input.ReadInt32();
          break;
        }
        case 16: {
          Index = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class CsdFactoryOpGridBoxInnerMove : pb::IMessage<CsdFactoryOpGridBoxInnerMove> {
  private static readonly pb::MessageParser<CsdFactoryOpGridBoxInnerMove> _parser = new pb::MessageParser<CsdFactoryOpGridBoxInnerMove>(() => new CsdFactoryOpGridBoxInnerMove());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsdFactoryOpGridBoxInnerMove> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[530]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpGridBoxInnerMove() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpGridBoxInnerMove(CsdFactoryOpGridBoxInnerMove other) : this() {
    componentId_ = other.componentId_;
    fromIndex_ = other.fromIndex_;
    toIndex_ = other.toIndex_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpGridBoxInnerMove Clone() {
    return new CsdFactoryOpGridBoxInnerMove(this);
  }

  /// <summary>Field number for the "component_id" field.</summary>
  public const int ComponentIdFieldNumber = 1;
  private uint componentId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint ComponentId {
    get { return componentId_; }
    set {
      componentId_ = value;
    }
  }

  /// <summary>Field number for the "from_index" field.</summary>
  public const int FromIndexFieldNumber = 2;
  private int fromIndex_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int FromIndex {
    get { return fromIndex_; }
    set {
      fromIndex_ = value;
    }
  }

  /// <summary>Field number for the "to_index" field.</summary>
  public const int ToIndexFieldNumber = 3;
  private int toIndex_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ToIndex {
    get { return toIndex_; }
    set {
      toIndex_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsdFactoryOpGridBoxInnerMove);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsdFactoryOpGridBoxInnerMove other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ComponentId != other.ComponentId) return false;
    if (FromIndex != other.FromIndex) return false;
    if (ToIndex != other.ToIndex) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ComponentId != 0) hash ^= ComponentId.GetHashCode();
    if (FromIndex != 0) hash ^= FromIndex.GetHashCode();
    if (ToIndex != 0) hash ^= ToIndex.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ComponentId != 0) {
      output.WriteRawTag(8);
      output.WriteUInt32(ComponentId);
    }
    if (FromIndex != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(FromIndex);
    }
    if (ToIndex != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(ToIndex);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ComponentId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(ComponentId);
    }
    if (FromIndex != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(FromIndex);
    }
    if (ToIndex != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ToIndex);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsdFactoryOpGridBoxInnerMove other) {
    if (other == null) {
      return;
    }
    if (other.ComponentId != 0) {
      ComponentId = other.ComponentId;
    }
    if (other.FromIndex != 0) {
      FromIndex = other.FromIndex;
    }
    if (other.ToIndex != 0) {
      ToIndex = other.ToIndex;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ComponentId = input.ReadUInt32();
          break;
        }
        case 16: {
          FromIndex = input.ReadInt32();
          break;
        }
        case 24: {
          ToIndex = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class CsdFactoryOpGridBoxInnerSplit : pb::IMessage<CsdFactoryOpGridBoxInnerSplit> {
  private static readonly pb::MessageParser<CsdFactoryOpGridBoxInnerSplit> _parser = new pb::MessageParser<CsdFactoryOpGridBoxInnerSplit>(() => new CsdFactoryOpGridBoxInnerSplit());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsdFactoryOpGridBoxInnerSplit> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[531]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpGridBoxInnerSplit() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpGridBoxInnerSplit(CsdFactoryOpGridBoxInnerSplit other) : this() {
    componentId_ = other.componentId_;
    fromIndex_ = other.fromIndex_;
    toIndex_ = other.toIndex_;
    count_ = other.count_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpGridBoxInnerSplit Clone() {
    return new CsdFactoryOpGridBoxInnerSplit(this);
  }

  /// <summary>Field number for the "component_id" field.</summary>
  public const int ComponentIdFieldNumber = 1;
  private uint componentId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint ComponentId {
    get { return componentId_; }
    set {
      componentId_ = value;
    }
  }

  /// <summary>Field number for the "from_index" field.</summary>
  public const int FromIndexFieldNumber = 2;
  private int fromIndex_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int FromIndex {
    get { return fromIndex_; }
    set {
      fromIndex_ = value;
    }
  }

  /// <summary>Field number for the "to_index" field.</summary>
  public const int ToIndexFieldNumber = 3;
  private int toIndex_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ToIndex {
    get { return toIndex_; }
    set {
      toIndex_ = value;
    }
  }

  /// <summary>Field number for the "count" field.</summary>
  public const int CountFieldNumber = 4;
  private int count_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Count {
    get { return count_; }
    set {
      count_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsdFactoryOpGridBoxInnerSplit);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsdFactoryOpGridBoxInnerSplit other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ComponentId != other.ComponentId) return false;
    if (FromIndex != other.FromIndex) return false;
    if (ToIndex != other.ToIndex) return false;
    if (Count != other.Count) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ComponentId != 0) hash ^= ComponentId.GetHashCode();
    if (FromIndex != 0) hash ^= FromIndex.GetHashCode();
    if (ToIndex != 0) hash ^= ToIndex.GetHashCode();
    if (Count != 0) hash ^= Count.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ComponentId != 0) {
      output.WriteRawTag(8);
      output.WriteUInt32(ComponentId);
    }
    if (FromIndex != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(FromIndex);
    }
    if (ToIndex != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(ToIndex);
    }
    if (Count != 0) {
      output.WriteRawTag(32);
      output.WriteInt32(Count);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ComponentId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(ComponentId);
    }
    if (FromIndex != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(FromIndex);
    }
    if (ToIndex != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ToIndex);
    }
    if (Count != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Count);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsdFactoryOpGridBoxInnerSplit other) {
    if (other == null) {
      return;
    }
    if (other.ComponentId != 0) {
      ComponentId = other.ComponentId;
    }
    if (other.FromIndex != 0) {
      FromIndex = other.FromIndex;
    }
    if (other.ToIndex != 0) {
      ToIndex = other.ToIndex;
    }
    if (other.Count != 0) {
      Count = other.Count;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ComponentId = input.ReadUInt32();
          break;
        }
        case 16: {
          FromIndex = input.ReadInt32();
          break;
        }
        case 24: {
          ToIndex = input.ReadInt32();
          break;
        }
        case 32: {
          Count = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class CsdFactoryOpMoveItemBagToGridBox : pb::IMessage<CsdFactoryOpMoveItemBagToGridBox> {
  private static readonly pb::MessageParser<CsdFactoryOpMoveItemBagToGridBox> _parser = new pb::MessageParser<CsdFactoryOpMoveItemBagToGridBox>(() => new CsdFactoryOpMoveItemBagToGridBox());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsdFactoryOpMoveItemBagToGridBox> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[532]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpMoveItemBagToGridBox() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpMoveItemBagToGridBox(CsdFactoryOpMoveItemBagToGridBox other) : this() {
    bagGridIndex_ = other.bagGridIndex_;
    componentId_ = other.componentId_;
    gridBoxIndex_ = other.gridBoxIndex_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpMoveItemBagToGridBox Clone() {
    return new CsdFactoryOpMoveItemBagToGridBox(this);
  }

  /// <summary>Field number for the "bag_grid_index" field.</summary>
  public const int BagGridIndexFieldNumber = 1;
  private int bagGridIndex_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int BagGridIndex {
    get { return bagGridIndex_; }
    set {
      bagGridIndex_ = value;
    }
  }

  /// <summary>Field number for the "component_id" field.</summary>
  public const int ComponentIdFieldNumber = 2;
  private uint componentId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint ComponentId {
    get { return componentId_; }
    set {
      componentId_ = value;
    }
  }

  /// <summary>Field number for the "grid_box_index" field.</summary>
  public const int GridBoxIndexFieldNumber = 3;
  private int gridBoxIndex_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int GridBoxIndex {
    get { return gridBoxIndex_; }
    set {
      gridBoxIndex_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsdFactoryOpMoveItemBagToGridBox);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsdFactoryOpMoveItemBagToGridBox other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (BagGridIndex != other.BagGridIndex) return false;
    if (ComponentId != other.ComponentId) return false;
    if (GridBoxIndex != other.GridBoxIndex) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (BagGridIndex != 0) hash ^= BagGridIndex.GetHashCode();
    if (ComponentId != 0) hash ^= ComponentId.GetHashCode();
    if (GridBoxIndex != 0) hash ^= GridBoxIndex.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (BagGridIndex != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(BagGridIndex);
    }
    if (ComponentId != 0) {
      output.WriteRawTag(16);
      output.WriteUInt32(ComponentId);
    }
    if (GridBoxIndex != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(GridBoxIndex);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (BagGridIndex != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(BagGridIndex);
    }
    if (ComponentId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(ComponentId);
    }
    if (GridBoxIndex != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(GridBoxIndex);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsdFactoryOpMoveItemBagToGridBox other) {
    if (other == null) {
      return;
    }
    if (other.BagGridIndex != 0) {
      BagGridIndex = other.BagGridIndex;
    }
    if (other.ComponentId != 0) {
      ComponentId = other.ComponentId;
    }
    if (other.GridBoxIndex != 0) {
      GridBoxIndex = other.GridBoxIndex;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          BagGridIndex = input.ReadInt32();
          break;
        }
        case 16: {
          ComponentId = input.ReadUInt32();
          break;
        }
        case 24: {
          GridBoxIndex = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class CsdFactoryOpMoveItemGridBoxToBag : pb::IMessage<CsdFactoryOpMoveItemGridBoxToBag> {
  private static readonly pb::MessageParser<CsdFactoryOpMoveItemGridBoxToBag> _parser = new pb::MessageParser<CsdFactoryOpMoveItemGridBoxToBag>(() => new CsdFactoryOpMoveItemGridBoxToBag());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsdFactoryOpMoveItemGridBoxToBag> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[533]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpMoveItemGridBoxToBag() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpMoveItemGridBoxToBag(CsdFactoryOpMoveItemGridBoxToBag other) : this() {
    componentId_ = other.componentId_;
    gridBoxIndex_ = other.gridBoxIndex_;
    bagGridIndex_ = other.bagGridIndex_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpMoveItemGridBoxToBag Clone() {
    return new CsdFactoryOpMoveItemGridBoxToBag(this);
  }

  /// <summary>Field number for the "component_id" field.</summary>
  public const int ComponentIdFieldNumber = 1;
  private uint componentId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint ComponentId {
    get { return componentId_; }
    set {
      componentId_ = value;
    }
  }

  /// <summary>Field number for the "grid_box_index" field.</summary>
  public const int GridBoxIndexFieldNumber = 2;
  private int gridBoxIndex_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int GridBoxIndex {
    get { return gridBoxIndex_; }
    set {
      gridBoxIndex_ = value;
    }
  }

  /// <summary>Field number for the "bag_grid_index" field.</summary>
  public const int BagGridIndexFieldNumber = 3;
  private int bagGridIndex_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int BagGridIndex {
    get { return bagGridIndex_; }
    set {
      bagGridIndex_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsdFactoryOpMoveItemGridBoxToBag);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsdFactoryOpMoveItemGridBoxToBag other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ComponentId != other.ComponentId) return false;
    if (GridBoxIndex != other.GridBoxIndex) return false;
    if (BagGridIndex != other.BagGridIndex) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ComponentId != 0) hash ^= ComponentId.GetHashCode();
    if (GridBoxIndex != 0) hash ^= GridBoxIndex.GetHashCode();
    if (BagGridIndex != 0) hash ^= BagGridIndex.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ComponentId != 0) {
      output.WriteRawTag(8);
      output.WriteUInt32(ComponentId);
    }
    if (GridBoxIndex != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(GridBoxIndex);
    }
    if (BagGridIndex != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(BagGridIndex);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ComponentId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(ComponentId);
    }
    if (GridBoxIndex != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(GridBoxIndex);
    }
    if (BagGridIndex != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(BagGridIndex);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsdFactoryOpMoveItemGridBoxToBag other) {
    if (other == null) {
      return;
    }
    if (other.ComponentId != 0) {
      ComponentId = other.ComponentId;
    }
    if (other.GridBoxIndex != 0) {
      GridBoxIndex = other.GridBoxIndex;
    }
    if (other.BagGridIndex != 0) {
      BagGridIndex = other.BagGridIndex;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ComponentId = input.ReadUInt32();
          break;
        }
        case 16: {
          GridBoxIndex = input.ReadInt32();
          break;
        }
        case 24: {
          BagGridIndex = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class CsdFactoryOpMoveItemDepotToGridBox : pb::IMessage<CsdFactoryOpMoveItemDepotToGridBox> {
  private static readonly pb::MessageParser<CsdFactoryOpMoveItemDepotToGridBox> _parser = new pb::MessageParser<CsdFactoryOpMoveItemDepotToGridBox>(() => new CsdFactoryOpMoveItemDepotToGridBox());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsdFactoryOpMoveItemDepotToGridBox> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[534]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpMoveItemDepotToGridBox() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpMoveItemDepotToGridBox(CsdFactoryOpMoveItemDepotToGridBox other) : this() {
    itemId_ = other.itemId_;
    componentId_ = other.componentId_;
    gridBoxIndex_ = other.gridBoxIndex_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpMoveItemDepotToGridBox Clone() {
    return new CsdFactoryOpMoveItemDepotToGridBox(this);
  }

  /// <summary>Field number for the "item_id" field.</summary>
  public const int ItemIdFieldNumber = 1;
  private string itemId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ItemId {
    get { return itemId_; }
    set {
      itemId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "component_id" field.</summary>
  public const int ComponentIdFieldNumber = 2;
  private uint componentId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint ComponentId {
    get { return componentId_; }
    set {
      componentId_ = value;
    }
  }

  /// <summary>Field number for the "grid_box_index" field.</summary>
  public const int GridBoxIndexFieldNumber = 3;
  private int gridBoxIndex_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int GridBoxIndex {
    get { return gridBoxIndex_; }
    set {
      gridBoxIndex_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsdFactoryOpMoveItemDepotToGridBox);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsdFactoryOpMoveItemDepotToGridBox other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ItemId != other.ItemId) return false;
    if (ComponentId != other.ComponentId) return false;
    if (GridBoxIndex != other.GridBoxIndex) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ItemId.Length != 0) hash ^= ItemId.GetHashCode();
    if (ComponentId != 0) hash ^= ComponentId.GetHashCode();
    if (GridBoxIndex != 0) hash ^= GridBoxIndex.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ItemId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(ItemId);
    }
    if (ComponentId != 0) {
      output.WriteRawTag(16);
      output.WriteUInt32(ComponentId);
    }
    if (GridBoxIndex != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(GridBoxIndex);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ItemId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ItemId);
    }
    if (ComponentId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(ComponentId);
    }
    if (GridBoxIndex != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(GridBoxIndex);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsdFactoryOpMoveItemDepotToGridBox other) {
    if (other == null) {
      return;
    }
    if (other.ItemId.Length != 0) {
      ItemId = other.ItemId;
    }
    if (other.ComponentId != 0) {
      ComponentId = other.ComponentId;
    }
    if (other.GridBoxIndex != 0) {
      GridBoxIndex = other.GridBoxIndex;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          ItemId = input.ReadString();
          break;
        }
        case 16: {
          ComponentId = input.ReadUInt32();
          break;
        }
        case 24: {
          GridBoxIndex = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class CsdFactoryOpMoveItemGridBoxToDepot : pb::IMessage<CsdFactoryOpMoveItemGridBoxToDepot> {
  private static readonly pb::MessageParser<CsdFactoryOpMoveItemGridBoxToDepot> _parser = new pb::MessageParser<CsdFactoryOpMoveItemGridBoxToDepot>(() => new CsdFactoryOpMoveItemGridBoxToDepot());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsdFactoryOpMoveItemGridBoxToDepot> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[535]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpMoveItemGridBoxToDepot() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpMoveItemGridBoxToDepot(CsdFactoryOpMoveItemGridBoxToDepot other) : this() {
    componentId_ = other.componentId_;
    gridBoxIndex_ = other.gridBoxIndex_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpMoveItemGridBoxToDepot Clone() {
    return new CsdFactoryOpMoveItemGridBoxToDepot(this);
  }

  /// <summary>Field number for the "component_id" field.</summary>
  public const int ComponentIdFieldNumber = 1;
  private uint componentId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint ComponentId {
    get { return componentId_; }
    set {
      componentId_ = value;
    }
  }

  /// <summary>Field number for the "grid_box_index" field.</summary>
  public const int GridBoxIndexFieldNumber = 2;
  private int gridBoxIndex_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int GridBoxIndex {
    get { return gridBoxIndex_; }
    set {
      gridBoxIndex_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsdFactoryOpMoveItemGridBoxToDepot);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsdFactoryOpMoveItemGridBoxToDepot other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ComponentId != other.ComponentId) return false;
    if (GridBoxIndex != other.GridBoxIndex) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ComponentId != 0) hash ^= ComponentId.GetHashCode();
    if (GridBoxIndex != 0) hash ^= GridBoxIndex.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ComponentId != 0) {
      output.WriteRawTag(8);
      output.WriteUInt32(ComponentId);
    }
    if (GridBoxIndex != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(GridBoxIndex);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ComponentId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(ComponentId);
    }
    if (GridBoxIndex != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(GridBoxIndex);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsdFactoryOpMoveItemGridBoxToDepot other) {
    if (other == null) {
      return;
    }
    if (other.ComponentId != 0) {
      ComponentId = other.ComponentId;
    }
    if (other.GridBoxIndex != 0) {
      GridBoxIndex = other.GridBoxIndex;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ComponentId = input.ReadUInt32();
          break;
        }
        case 16: {
          GridBoxIndex = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class CsdFactoryOpMoveAllCacheOutItemToBag : pb::IMessage<CsdFactoryOpMoveAllCacheOutItemToBag> {
  private static readonly pb::MessageParser<CsdFactoryOpMoveAllCacheOutItemToBag> _parser = new pb::MessageParser<CsdFactoryOpMoveAllCacheOutItemToBag>(() => new CsdFactoryOpMoveAllCacheOutItemToBag());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsdFactoryOpMoveAllCacheOutItemToBag> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[536]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpMoveAllCacheOutItemToBag() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpMoveAllCacheOutItemToBag(CsdFactoryOpMoveAllCacheOutItemToBag other) : this() {
    nodeId_ = other.nodeId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpMoveAllCacheOutItemToBag Clone() {
    return new CsdFactoryOpMoveAllCacheOutItemToBag(this);
  }

  /// <summary>Field number for the "node_id" field.</summary>
  public const int NodeIdFieldNumber = 1;
  private uint nodeId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint NodeId {
    get { return nodeId_; }
    set {
      nodeId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsdFactoryOpMoveAllCacheOutItemToBag);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsdFactoryOpMoveAllCacheOutItemToBag other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (NodeId != other.NodeId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (NodeId != 0) hash ^= NodeId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (NodeId != 0) {
      output.WriteRawTag(8);
      output.WriteUInt32(NodeId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (NodeId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(NodeId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsdFactoryOpMoveAllCacheOutItemToBag other) {
    if (other == null) {
      return;
    }
    if (other.NodeId != 0) {
      NodeId = other.NodeId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          NodeId = input.ReadUInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class CsdFactoryOpQuickPutBattery : pb::IMessage<CsdFactoryOpQuickPutBattery> {
  private static readonly pb::MessageParser<CsdFactoryOpQuickPutBattery> _parser = new pb::MessageParser<CsdFactoryOpQuickPutBattery>(() => new CsdFactoryOpQuickPutBattery());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsdFactoryOpQuickPutBattery> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[537]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpQuickPutBattery() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpQuickPutBattery(CsdFactoryOpQuickPutBattery other) : this() {
    comId_ = other.comId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpQuickPutBattery Clone() {
    return new CsdFactoryOpQuickPutBattery(this);
  }

  /// <summary>Field number for the "com_id" field.</summary>
  public const int ComIdFieldNumber = 1;
  private uint comId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint ComId {
    get { return comId_; }
    set {
      comId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsdFactoryOpQuickPutBattery);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsdFactoryOpQuickPutBattery other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ComId != other.ComId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ComId != 0) hash ^= ComId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ComId != 0) {
      output.WriteRawTag(8);
      output.WriteUInt32(ComId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ComId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(ComId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsdFactoryOpQuickPutBattery other) {
    if (other == null) {
      return;
    }
    if (other.ComId != 0) {
      ComId = other.ComId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ComId = input.ReadUInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class CsdFactoryOpChangeProducerMode : pb::IMessage<CsdFactoryOpChangeProducerMode> {
  private static readonly pb::MessageParser<CsdFactoryOpChangeProducerMode> _parser = new pb::MessageParser<CsdFactoryOpChangeProducerMode>(() => new CsdFactoryOpChangeProducerMode());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsdFactoryOpChangeProducerMode> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[538]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpChangeProducerMode() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpChangeProducerMode(CsdFactoryOpChangeProducerMode other) : this() {
    nodeId_ = other.nodeId_;
    toMode_ = other.toMode_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpChangeProducerMode Clone() {
    return new CsdFactoryOpChangeProducerMode(this);
  }

  /// <summary>Field number for the "node_id" field.</summary>
  public const int NodeIdFieldNumber = 1;
  private uint nodeId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint NodeId {
    get { return nodeId_; }
    set {
      nodeId_ = value;
    }
  }

  /// <summary>Field number for the "to_mode" field.</summary>
  public const int ToModeFieldNumber = 2;
  private string toMode_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ToMode {
    get { return toMode_; }
    set {
      toMode_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsdFactoryOpChangeProducerMode);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsdFactoryOpChangeProducerMode other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (NodeId != other.NodeId) return false;
    if (ToMode != other.ToMode) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (NodeId != 0) hash ^= NodeId.GetHashCode();
    if (ToMode.Length != 0) hash ^= ToMode.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (NodeId != 0) {
      output.WriteRawTag(8);
      output.WriteUInt32(NodeId);
    }
    if (ToMode.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(ToMode);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (NodeId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(NodeId);
    }
    if (ToMode.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ToMode);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsdFactoryOpChangeProducerMode other) {
    if (other == null) {
      return;
    }
    if (other.NodeId != 0) {
      NodeId = other.NodeId;
    }
    if (other.ToMode.Length != 0) {
      ToMode = other.ToMode;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          NodeId = input.ReadUInt32();
          break;
        }
        case 18: {
          ToMode = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class CsdFactoryOpReverseFluidConveyorDirection : pb::IMessage<CsdFactoryOpReverseFluidConveyorDirection> {
  private static readonly pb::MessageParser<CsdFactoryOpReverseFluidConveyorDirection> _parser = new pb::MessageParser<CsdFactoryOpReverseFluidConveyorDirection>(() => new CsdFactoryOpReverseFluidConveyorDirection());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsdFactoryOpReverseFluidConveyorDirection> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[539]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpReverseFluidConveyorDirection() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpReverseFluidConveyorDirection(CsdFactoryOpReverseFluidConveyorDirection other) : this() {
    nodeId_ = other.nodeId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpReverseFluidConveyorDirection Clone() {
    return new CsdFactoryOpReverseFluidConveyorDirection(this);
  }

  /// <summary>Field number for the "node_id" field.</summary>
  public const int NodeIdFieldNumber = 1;
  private uint nodeId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint NodeId {
    get { return nodeId_; }
    set {
      nodeId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsdFactoryOpReverseFluidConveyorDirection);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsdFactoryOpReverseFluidConveyorDirection other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (NodeId != other.NodeId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (NodeId != 0) hash ^= NodeId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (NodeId != 0) {
      output.WriteRawTag(8);
      output.WriteUInt32(NodeId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (NodeId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(NodeId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsdFactoryOpReverseFluidConveyorDirection other) {
    if (other == null) {
      return;
    }
    if (other.NodeId != 0) {
      NodeId = other.NodeId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          NodeId = input.ReadUInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class CsdFactoryOpDismantleBatch : pb::IMessage<CsdFactoryOpDismantleBatch> {
  private static readonly pb::MessageParser<CsdFactoryOpDismantleBatch> _parser = new pb::MessageParser<CsdFactoryOpDismantleBatch>(() => new CsdFactoryOpDismantleBatch());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsdFactoryOpDismantleBatch> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[540]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpDismantleBatch() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpDismantleBatch(CsdFactoryOpDismantleBatch other) : this() {
    dismantles_ = other.dismantles_.Clone();
    dismantleConveyors_ = other.dismantleConveyors_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpDismantleBatch Clone() {
    return new CsdFactoryOpDismantleBatch(this);
  }

  /// <summary>Field number for the "dismantles" field.</summary>
  public const int DismantlesFieldNumber = 1;
  private static readonly pb::FieldCodec<global::CsdFactoryOpDismantle> _repeated_dismantles_codec
      = pb::FieldCodec.ForMessage(10, global::CsdFactoryOpDismantle.Parser);
  private readonly pbc::RepeatedField<global::CsdFactoryOpDismantle> dismantles_ = new pbc::RepeatedField<global::CsdFactoryOpDismantle>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::CsdFactoryOpDismantle> Dismantles {
    get { return dismantles_; }
  }

  /// <summary>Field number for the "dismantle_conveyors" field.</summary>
  public const int DismantleConveyorsFieldNumber = 2;
  private static readonly pb::FieldCodec<global::CsdFactoryOpDismantleBoxConveyor> _repeated_dismantleConveyors_codec
      = pb::FieldCodec.ForMessage(18, global::CsdFactoryOpDismantleBoxConveyor.Parser);
  private readonly pbc::RepeatedField<global::CsdFactoryOpDismantleBoxConveyor> dismantleConveyors_ = new pbc::RepeatedField<global::CsdFactoryOpDismantleBoxConveyor>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::CsdFactoryOpDismantleBoxConveyor> DismantleConveyors {
    get { return dismantleConveyors_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsdFactoryOpDismantleBatch);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsdFactoryOpDismantleBatch other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!dismantles_.Equals(other.dismantles_)) return false;
    if(!dismantleConveyors_.Equals(other.dismantleConveyors_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= dismantles_.GetHashCode();
    hash ^= dismantleConveyors_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    dismantles_.WriteTo(output, _repeated_dismantles_codec);
    dismantleConveyors_.WriteTo(output, _repeated_dismantleConveyors_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += dismantles_.CalculateSize(_repeated_dismantles_codec);
    size += dismantleConveyors_.CalculateSize(_repeated_dismantleConveyors_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsdFactoryOpDismantleBatch other) {
    if (other == null) {
      return;
    }
    dismantles_.Add(other.dismantles_);
    dismantleConveyors_.Add(other.dismantleConveyors_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          dismantles_.AddEntriesFrom(input, _repeated_dismantles_codec);
          break;
        }
        case 18: {
          dismantleConveyors_.AddEntriesFrom(input, _repeated_dismantleConveyors_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class CsdFactoryOpTakeOutFluidFromLiquidBody : pb::IMessage<CsdFactoryOpTakeOutFluidFromLiquidBody> {
  private static readonly pb::MessageParser<CsdFactoryOpTakeOutFluidFromLiquidBody> _parser = new pb::MessageParser<CsdFactoryOpTakeOutFluidFromLiquidBody>(() => new CsdFactoryOpTakeOutFluidFromLiquidBody());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsdFactoryOpTakeOutFluidFromLiquidBody> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[541]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpTakeOutFluidFromLiquidBody() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpTakeOutFluidFromLiquidBody(CsdFactoryOpTakeOutFluidFromLiquidBody other) : this() {
    liquidBodyInstKey_ = other.liquidBodyInstKey_;
    bottleItems_ = other.bottleItems_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpTakeOutFluidFromLiquidBody Clone() {
    return new CsdFactoryOpTakeOutFluidFromLiquidBody(this);
  }

  /// <summary>Field number for the "liquid_body_inst_key" field.</summary>
  public const int LiquidBodyInstKeyFieldNumber = 1;
  private string liquidBodyInstKey_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string LiquidBodyInstKey {
    get { return liquidBodyInstKey_; }
    set {
      liquidBodyInstKey_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "bottle_items" field.</summary>
  public const int BottleItemsFieldNumber = 4;
  private static readonly pb::FieldCodec<global::ItemBundle> _repeated_bottleItems_codec
      = pb::FieldCodec.ForMessage(34, global::ItemBundle.Parser);
  private readonly pbc::RepeatedField<global::ItemBundle> bottleItems_ = new pbc::RepeatedField<global::ItemBundle>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ItemBundle> BottleItems {
    get { return bottleItems_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsdFactoryOpTakeOutFluidFromLiquidBody);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsdFactoryOpTakeOutFluidFromLiquidBody other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (LiquidBodyInstKey != other.LiquidBodyInstKey) return false;
    if(!bottleItems_.Equals(other.bottleItems_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (LiquidBodyInstKey.Length != 0) hash ^= LiquidBodyInstKey.GetHashCode();
    hash ^= bottleItems_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (LiquidBodyInstKey.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(LiquidBodyInstKey);
    }
    bottleItems_.WriteTo(output, _repeated_bottleItems_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (LiquidBodyInstKey.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(LiquidBodyInstKey);
    }
    size += bottleItems_.CalculateSize(_repeated_bottleItems_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsdFactoryOpTakeOutFluidFromLiquidBody other) {
    if (other == null) {
      return;
    }
    if (other.LiquidBodyInstKey.Length != 0) {
      LiquidBodyInstKey = other.LiquidBodyInstKey;
    }
    bottleItems_.Add(other.bottleItems_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          LiquidBodyInstKey = input.ReadString();
          break;
        }
        case 34: {
          bottleItems_.AddEntriesFrom(input, _repeated_bottleItems_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class CsdFactoryOpPutInFluidToLiquidBody : pb::IMessage<CsdFactoryOpPutInFluidToLiquidBody> {
  private static readonly pb::MessageParser<CsdFactoryOpPutInFluidToLiquidBody> _parser = new pb::MessageParser<CsdFactoryOpPutInFluidToLiquidBody>(() => new CsdFactoryOpPutInFluidToLiquidBody());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsdFactoryOpPutInFluidToLiquidBody> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[542]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpPutInFluidToLiquidBody() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpPutInFluidToLiquidBody(CsdFactoryOpPutInFluidToLiquidBody other) : this() {
    liquidBodyInstKey_ = other.liquidBodyInstKey_;
    bottleWaterItems_ = other.bottleWaterItems_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpPutInFluidToLiquidBody Clone() {
    return new CsdFactoryOpPutInFluidToLiquidBody(this);
  }

  /// <summary>Field number for the "liquid_body_inst_key" field.</summary>
  public const int LiquidBodyInstKeyFieldNumber = 1;
  private string liquidBodyInstKey_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string LiquidBodyInstKey {
    get { return liquidBodyInstKey_; }
    set {
      liquidBodyInstKey_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "bottle_water_items" field.</summary>
  public const int BottleWaterItemsFieldNumber = 4;
  private static readonly pb::FieldCodec<global::ItemBundle> _repeated_bottleWaterItems_codec
      = pb::FieldCodec.ForMessage(34, global::ItemBundle.Parser);
  private readonly pbc::RepeatedField<global::ItemBundle> bottleWaterItems_ = new pbc::RepeatedField<global::ItemBundle>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ItemBundle> BottleWaterItems {
    get { return bottleWaterItems_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsdFactoryOpPutInFluidToLiquidBody);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsdFactoryOpPutInFluidToLiquidBody other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (LiquidBodyInstKey != other.LiquidBodyInstKey) return false;
    if(!bottleWaterItems_.Equals(other.bottleWaterItems_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (LiquidBodyInstKey.Length != 0) hash ^= LiquidBodyInstKey.GetHashCode();
    hash ^= bottleWaterItems_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (LiquidBodyInstKey.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(LiquidBodyInstKey);
    }
    bottleWaterItems_.WriteTo(output, _repeated_bottleWaterItems_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (LiquidBodyInstKey.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(LiquidBodyInstKey);
    }
    size += bottleWaterItems_.CalculateSize(_repeated_bottleWaterItems_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsdFactoryOpPutInFluidToLiquidBody other) {
    if (other == null) {
      return;
    }
    if (other.LiquidBodyInstKey.Length != 0) {
      LiquidBodyInstKey = other.LiquidBodyInstKey;
    }
    bottleWaterItems_.Add(other.bottleWaterItems_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          LiquidBodyInstKey = input.ReadString();
          break;
        }
        case 34: {
          bottleWaterItems_.AddEntriesFrom(input, _repeated_bottleWaterItems_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class CsdFactoryOpFillingFluidComWithBag : pb::IMessage<CsdFactoryOpFillingFluidComWithBag> {
  private static readonly pb::MessageParser<CsdFactoryOpFillingFluidComWithBag> _parser = new pb::MessageParser<CsdFactoryOpFillingFluidComWithBag>(() => new CsdFactoryOpFillingFluidComWithBag());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsdFactoryOpFillingFluidComWithBag> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[543]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpFillingFluidComWithBag() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpFillingFluidComWithBag(CsdFactoryOpFillingFluidComWithBag other) : this() {
    componentId_ = other.componentId_;
    bagGridIndex_ = other.bagGridIndex_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpFillingFluidComWithBag Clone() {
    return new CsdFactoryOpFillingFluidComWithBag(this);
  }

  /// <summary>Field number for the "component_id" field.</summary>
  public const int ComponentIdFieldNumber = 1;
  private uint componentId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint ComponentId {
    get { return componentId_; }
    set {
      componentId_ = value;
    }
  }

  /// <summary>Field number for the "bag_grid_index" field.</summary>
  public const int BagGridIndexFieldNumber = 2;
  private int bagGridIndex_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int BagGridIndex {
    get { return bagGridIndex_; }
    set {
      bagGridIndex_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsdFactoryOpFillingFluidComWithBag);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsdFactoryOpFillingFluidComWithBag other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ComponentId != other.ComponentId) return false;
    if (BagGridIndex != other.BagGridIndex) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ComponentId != 0) hash ^= ComponentId.GetHashCode();
    if (BagGridIndex != 0) hash ^= BagGridIndex.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ComponentId != 0) {
      output.WriteRawTag(8);
      output.WriteUInt32(ComponentId);
    }
    if (BagGridIndex != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(BagGridIndex);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ComponentId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(ComponentId);
    }
    if (BagGridIndex != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(BagGridIndex);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsdFactoryOpFillingFluidComWithBag other) {
    if (other == null) {
      return;
    }
    if (other.ComponentId != 0) {
      ComponentId = other.ComponentId;
    }
    if (other.BagGridIndex != 0) {
      BagGridIndex = other.BagGridIndex;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ComponentId = input.ReadUInt32();
          break;
        }
        case 16: {
          BagGridIndex = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class CsdFactoryOpFillingFluidComWithDepot : pb::IMessage<CsdFactoryOpFillingFluidComWithDepot> {
  private static readonly pb::MessageParser<CsdFactoryOpFillingFluidComWithDepot> _parser = new pb::MessageParser<CsdFactoryOpFillingFluidComWithDepot>(() => new CsdFactoryOpFillingFluidComWithDepot());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsdFactoryOpFillingFluidComWithDepot> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[544]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpFillingFluidComWithDepot() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpFillingFluidComWithDepot(CsdFactoryOpFillingFluidComWithDepot other) : this() {
    componentId_ = other.componentId_;
    itemId_ = other.itemId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdFactoryOpFillingFluidComWithDepot Clone() {
    return new CsdFactoryOpFillingFluidComWithDepot(this);
  }

  /// <summary>Field number for the "component_id" field.</summary>
  public const int ComponentIdFieldNumber = 1;
  private uint componentId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint ComponentId {
    get { return componentId_; }
    set {
      componentId_ = value;
    }
  }

  /// <summary>Field number for the "item_id" field.</summary>
  public const int ItemIdFieldNumber = 2;
  private string itemId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ItemId {
    get { return itemId_; }
    set {
      itemId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsdFactoryOpFillingFluidComWithDepot);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsdFactoryOpFillingFluidComWithDepot other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ComponentId != other.ComponentId) return false;
    if (ItemId != other.ItemId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ComponentId != 0) hash ^= ComponentId.GetHashCode();
    if (ItemId.Length != 0) hash ^= ItemId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ComponentId != 0) {
      output.WriteRawTag(8);
      output.WriteUInt32(ComponentId);
    }
    if (ItemId.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(ItemId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ComponentId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(ComponentId);
    }
    if (ItemId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ItemId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsdFactoryOpFillingFluidComWithDepot other) {
    if (other == null) {
      return;
    }
    if (other.ComponentId != 0) {
      ComponentId = other.ComponentId;
    }
    if (other.ItemId.Length != 0) {
      ItemId = other.ItemId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ComponentId = input.ReadUInt32();
          break;
        }
        case 18: {
          ItemId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class ScFactoryOpRet : pb::IMessage<ScFactoryOpRet> {
  private static readonly pb::MessageParser<ScFactoryOpRet> _parser = new pb::MessageParser<ScFactoryOpRet>(() => new ScFactoryOpRet());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScFactoryOpRet> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[545]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactoryOpRet() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactoryOpRet(ScFactoryOpRet other) : this() {
    index_ = other.index_;
    retCode_ = other.retCode_;
    opType_ = other.opType_;
    errMessage_ = other.errMessage_;
    switch (other.OpPayloadCase) {
      case OpPayloadOneofCase.Place:
        Place = other.Place.Clone();
        break;
      case OpPayloadOneofCase.PlaceConveyor:
        PlaceConveyor = other.PlaceConveyor.Clone();
        break;
      case OpPayloadOneofCase.Dismantle:
        Dismantle = other.Dismantle.Clone();
        break;
      case OpPayloadOneofCase.SetSelectTarget:
        SetSelectTarget = other.SetSelectTarget.Clone();
        break;
      case OpPayloadOneofCase.EnableNode:
        EnableNode = other.EnableNode.Clone();
        break;
      case OpPayloadOneofCase.MoveNode:
        MoveNode = other.MoveNode.Clone();
        break;
      case OpPayloadOneofCase.DismantleBoxConveyor:
        DismantleBoxConveyor = other.DismantleBoxConveyor.Clone();
        break;
      case OpPayloadOneofCase.RepairNode:
        RepairNode = other.RepairNode.Clone();
        break;
      case OpPayloadOneofCase.MoveItemCacheToCache:
        MoveItemCacheToCache = other.MoveItemCacheToCache.Clone();
        break;
      case OpPayloadOneofCase.MoveItemBagToCache:
        MoveItemBagToCache = other.MoveItemBagToCache.Clone();
        break;
      case OpPayloadOneofCase.MoveItemCacheToBag:
        MoveItemCacheToBag = other.MoveItemCacheToBag.Clone();
        break;
      case OpPayloadOneofCase.MoveItemDepotToCache:
        MoveItemDepotToCache = other.MoveItemDepotToCache.Clone();
        break;
      case OpPayloadOneofCase.MoveItemCacheToDepot:
        MoveItemCacheToDepot = other.MoveItemCacheToDepot.Clone();
        break;
      case OpPayloadOneofCase.MoveItemConveyorToBag:
        MoveItemConveyorToBag = other.MoveItemConveyorToBag.Clone();
        break;
      case OpPayloadOneofCase.CacheTransportTransfer:
        CacheTransportTransfer = other.CacheTransportTransfer.Clone();
        break;
      case OpPayloadOneofCase.CacheTransportEnable:
        CacheTransportEnable = other.CacheTransportEnable.Clone();
        break;
      case OpPayloadOneofCase.SetTravelPoleDefaultNext:
        SetTravelPoleDefaultNext = other.SetTravelPoleDefaultNext.Clone();
        break;
      case OpPayloadOneofCase.UseHealTowerPoint:
        UseHealTowerPoint = other.UseHealTowerPoint.Clone();
        break;
      case OpPayloadOneofCase.BattleRepair:
        BattleRepair = other.BattleRepair.Clone();
        break;
      case OpPayloadOneofCase.AddConnection:
        AddConnection = other.AddConnection.Clone();
        break;
      case OpPayloadOneofCase.DelConnection:
        DelConnection = other.DelConnection.Clone();
        break;
      case OpPayloadOneofCase.GridBoxInnerMove:
        GridBoxInnerMove = other.GridBoxInnerMove.Clone();
        break;
      case OpPayloadOneofCase.GridBoxInnerSplit:
        GridBoxInnerSplit = other.GridBoxInnerSplit.Clone();
        break;
      case OpPayloadOneofCase.MoveItemBagToGridBox:
        MoveItemBagToGridBox = other.MoveItemBagToGridBox.Clone();
        break;
      case OpPayloadOneofCase.MoveItemGridBoxToBag:
        MoveItemGridBoxToBag = other.MoveItemGridBoxToBag.Clone();
        break;
      case OpPayloadOneofCase.MoveItemDepotToGridBox:
        MoveItemDepotToGridBox = other.MoveItemDepotToGridBox.Clone();
        break;
      case OpPayloadOneofCase.MoveItemGridBoxToDepot:
        MoveItemGridBoxToDepot = other.MoveItemGridBoxToDepot.Clone();
        break;
      case OpPayloadOneofCase.MoveAllCacheOutItemToBag:
        MoveAllCacheOutItemToBag = other.MoveAllCacheOutItemToBag.Clone();
        break;
      case OpPayloadOneofCase.QuickPutBattery:
        QuickPutBattery = other.QuickPutBattery.Clone();
        break;
      case OpPayloadOneofCase.ChangeProducerMode:
        ChangeProducerMode = other.ChangeProducerMode.Clone();
        break;
      case OpPayloadOneofCase.ReverseFluidConveyorDirection:
        ReverseFluidConveyorDirection = other.ReverseFluidConveyorDirection.Clone();
        break;
      case OpPayloadOneofCase.DismantleBatch:
        DismantleBatch = other.DismantleBatch.Clone();
        break;
      case OpPayloadOneofCase.TakeOutFluidFromLiquidBody:
        TakeOutFluidFromLiquidBody = other.TakeOutFluidFromLiquidBody.Clone();
        break;
      case OpPayloadOneofCase.PutInFluidToLiquidBody:
        PutInFluidToLiquidBody = other.PutInFluidToLiquidBody.Clone();
        break;
      case OpPayloadOneofCase.FillingFluidComWithBag:
        FillingFluidComWithBag = other.FillingFluidComWithBag.Clone();
        break;
      case OpPayloadOneofCase.FillingFluidComWithDepot:
        FillingFluidComWithDepot = other.FillingFluidComWithDepot.Clone();
        break;
    }

    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFactoryOpRet Clone() {
    return new ScFactoryOpRet(this);
  }

  /// <summary>Field number for the "index" field.</summary>
  public const int IndexFieldNumber = 1;
  private string index_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string Index {
    get { return index_; }
    set {
      index_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "ret_code" field.</summary>
  public const int RetCodeFieldNumber = 2;
  private global::FactoryOpRetCode retCode_ = 0;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::FactoryOpRetCode RetCode {
    get { return retCode_; }
    set {
      retCode_ = value;
    }
  }

  /// <summary>Field number for the "op_type" field.</summary>
  public const int OpTypeFieldNumber = 3;
  private global::FactoryOpType opType_ = 0;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::FactoryOpType OpType {
    get { return opType_; }
    set {
      opType_ = value;
    }
  }

  /// <summary>Field number for the "err_message" field.</summary>
  public const int ErrMessageFieldNumber = 4;
  private string errMessage_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ErrMessage {
    get { return errMessage_; }
    set {
      errMessage_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "place" field.</summary>
  public const int PlaceFieldNumber = 11;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactoryOpRetPlace Place {
    get { return opPayloadCase_ == OpPayloadOneofCase.Place ? (global::ScdFactoryOpRetPlace) opPayload_ : null; }
    set {
      opPayload_ = value;
      opPayloadCase_ = value == null ? OpPayloadOneofCase.None : OpPayloadOneofCase.Place;
    }
  }

  /// <summary>Field number for the "place_conveyor" field.</summary>
  public const int PlaceConveyorFieldNumber = 12;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactoryOpRetPlaceConveyor PlaceConveyor {
    get { return opPayloadCase_ == OpPayloadOneofCase.PlaceConveyor ? (global::ScdFactoryOpRetPlaceConveyor) opPayload_ : null; }
    set {
      opPayload_ = value;
      opPayloadCase_ = value == null ? OpPayloadOneofCase.None : OpPayloadOneofCase.PlaceConveyor;
    }
  }

  /// <summary>Field number for the "dismantle" field.</summary>
  public const int DismantleFieldNumber = 13;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactoryOpRetDismantle Dismantle {
    get { return opPayloadCase_ == OpPayloadOneofCase.Dismantle ? (global::ScdFactoryOpRetDismantle) opPayload_ : null; }
    set {
      opPayload_ = value;
      opPayloadCase_ = value == null ? OpPayloadOneofCase.None : OpPayloadOneofCase.Dismantle;
    }
  }

  /// <summary>Field number for the "set_select_target" field.</summary>
  public const int SetSelectTargetFieldNumber = 15;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactoryOpRetSetSelectTarget SetSelectTarget {
    get { return opPayloadCase_ == OpPayloadOneofCase.SetSelectTarget ? (global::ScdFactoryOpRetSetSelectTarget) opPayload_ : null; }
    set {
      opPayload_ = value;
      opPayloadCase_ = value == null ? OpPayloadOneofCase.None : OpPayloadOneofCase.SetSelectTarget;
    }
  }

  /// <summary>Field number for the "enable_node" field.</summary>
  public const int EnableNodeFieldNumber = 16;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactoryOpRetEnableNode EnableNode {
    get { return opPayloadCase_ == OpPayloadOneofCase.EnableNode ? (global::ScdFactoryOpRetEnableNode) opPayload_ : null; }
    set {
      opPayload_ = value;
      opPayloadCase_ = value == null ? OpPayloadOneofCase.None : OpPayloadOneofCase.EnableNode;
    }
  }

  /// <summary>Field number for the "move_node" field.</summary>
  public const int MoveNodeFieldNumber = 17;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactoryOpRetMoveNode MoveNode {
    get { return opPayloadCase_ == OpPayloadOneofCase.MoveNode ? (global::ScdFactoryOpRetMoveNode) opPayload_ : null; }
    set {
      opPayload_ = value;
      opPayloadCase_ = value == null ? OpPayloadOneofCase.None : OpPayloadOneofCase.MoveNode;
    }
  }

  /// <summary>Field number for the "dismantle_box_conveyor" field.</summary>
  public const int DismantleBoxConveyorFieldNumber = 18;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactoryOpRetDismantleBoxConveyor DismantleBoxConveyor {
    get { return opPayloadCase_ == OpPayloadOneofCase.DismantleBoxConveyor ? (global::ScdFactoryOpRetDismantleBoxConveyor) opPayload_ : null; }
    set {
      opPayload_ = value;
      opPayloadCase_ = value == null ? OpPayloadOneofCase.None : OpPayloadOneofCase.DismantleBoxConveyor;
    }
  }

  /// <summary>Field number for the "repair_node" field.</summary>
  public const int RepairNodeFieldNumber = 19;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactoryOpRetRepairNode RepairNode {
    get { return opPayloadCase_ == OpPayloadOneofCase.RepairNode ? (global::ScdFactoryOpRetRepairNode) opPayload_ : null; }
    set {
      opPayload_ = value;
      opPayloadCase_ = value == null ? OpPayloadOneofCase.None : OpPayloadOneofCase.RepairNode;
    }
  }

  /// <summary>Field number for the "move_item_cache_to_cache" field.</summary>
  public const int MoveItemCacheToCacheFieldNumber = 20;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactoryOpRetMoveItemCacheToCache MoveItemCacheToCache {
    get { return opPayloadCase_ == OpPayloadOneofCase.MoveItemCacheToCache ? (global::ScdFactoryOpRetMoveItemCacheToCache) opPayload_ : null; }
    set {
      opPayload_ = value;
      opPayloadCase_ = value == null ? OpPayloadOneofCase.None : OpPayloadOneofCase.MoveItemCacheToCache;
    }
  }

  /// <summary>Field number for the "move_item_bag_to_cache" field.</summary>
  public const int MoveItemBagToCacheFieldNumber = 21;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactoryOpRetMoveItemBagToCache MoveItemBagToCache {
    get { return opPayloadCase_ == OpPayloadOneofCase.MoveItemBagToCache ? (global::ScdFactoryOpRetMoveItemBagToCache) opPayload_ : null; }
    set {
      opPayload_ = value;
      opPayloadCase_ = value == null ? OpPayloadOneofCase.None : OpPayloadOneofCase.MoveItemBagToCache;
    }
  }

  /// <summary>Field number for the "move_item_cache_to_bag" field.</summary>
  public const int MoveItemCacheToBagFieldNumber = 22;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactoryOpRetMoveItemCacheToBag MoveItemCacheToBag {
    get { return opPayloadCase_ == OpPayloadOneofCase.MoveItemCacheToBag ? (global::ScdFactoryOpRetMoveItemCacheToBag) opPayload_ : null; }
    set {
      opPayload_ = value;
      opPayloadCase_ = value == null ? OpPayloadOneofCase.None : OpPayloadOneofCase.MoveItemCacheToBag;
    }
  }

  /// <summary>Field number for the "move_item_depot_to_cache" field.</summary>
  public const int MoveItemDepotToCacheFieldNumber = 23;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactoryOpRetMoveItemDepotToCache MoveItemDepotToCache {
    get { return opPayloadCase_ == OpPayloadOneofCase.MoveItemDepotToCache ? (global::ScdFactoryOpRetMoveItemDepotToCache) opPayload_ : null; }
    set {
      opPayload_ = value;
      opPayloadCase_ = value == null ? OpPayloadOneofCase.None : OpPayloadOneofCase.MoveItemDepotToCache;
    }
  }

  /// <summary>Field number for the "move_item_cache_to_depot" field.</summary>
  public const int MoveItemCacheToDepotFieldNumber = 24;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactoryOpRetMoveItemCacheToDepot MoveItemCacheToDepot {
    get { return opPayloadCase_ == OpPayloadOneofCase.MoveItemCacheToDepot ? (global::ScdFactoryOpRetMoveItemCacheToDepot) opPayload_ : null; }
    set {
      opPayload_ = value;
      opPayloadCase_ = value == null ? OpPayloadOneofCase.None : OpPayloadOneofCase.MoveItemCacheToDepot;
    }
  }

  /// <summary>Field number for the "move_item_conveyor_to_bag" field.</summary>
  public const int MoveItemConveyorToBagFieldNumber = 25;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactoryOpRetMoveItemConveyorToBag MoveItemConveyorToBag {
    get { return opPayloadCase_ == OpPayloadOneofCase.MoveItemConveyorToBag ? (global::ScdFactoryOpRetMoveItemConveyorToBag) opPayload_ : null; }
    set {
      opPayload_ = value;
      opPayloadCase_ = value == null ? OpPayloadOneofCase.None : OpPayloadOneofCase.MoveItemConveyorToBag;
    }
  }

  /// <summary>Field number for the "cache_transport_transfer" field.</summary>
  public const int CacheTransportTransferFieldNumber = 26;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactoryOpRetCacheTransportTransfer CacheTransportTransfer {
    get { return opPayloadCase_ == OpPayloadOneofCase.CacheTransportTransfer ? (global::ScdFactoryOpRetCacheTransportTransfer) opPayload_ : null; }
    set {
      opPayload_ = value;
      opPayloadCase_ = value == null ? OpPayloadOneofCase.None : OpPayloadOneofCase.CacheTransportTransfer;
    }
  }

  /// <summary>Field number for the "cache_transport_enable" field.</summary>
  public const int CacheTransportEnableFieldNumber = 27;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactoryOpRetCacheTransportEnable CacheTransportEnable {
    get { return opPayloadCase_ == OpPayloadOneofCase.CacheTransportEnable ? (global::ScdFactoryOpRetCacheTransportEnable) opPayload_ : null; }
    set {
      opPayload_ = value;
      opPayloadCase_ = value == null ? OpPayloadOneofCase.None : OpPayloadOneofCase.CacheTransportEnable;
    }
  }

  /// <summary>Field number for the "set_travel_pole_default_next" field.</summary>
  public const int SetTravelPoleDefaultNextFieldNumber = 28;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactoryOpRetSetTravelPoleDefaultNext SetTravelPoleDefaultNext {
    get { return opPayloadCase_ == OpPayloadOneofCase.SetTravelPoleDefaultNext ? (global::ScdFactoryOpRetSetTravelPoleDefaultNext) opPayload_ : null; }
    set {
      opPayload_ = value;
      opPayloadCase_ = value == null ? OpPayloadOneofCase.None : OpPayloadOneofCase.SetTravelPoleDefaultNext;
    }
  }

  /// <summary>Field number for the "use_heal_tower_point" field.</summary>
  public const int UseHealTowerPointFieldNumber = 29;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactoryOpRetUseHealTowerPoint UseHealTowerPoint {
    get { return opPayloadCase_ == OpPayloadOneofCase.UseHealTowerPoint ? (global::ScdFactoryOpRetUseHealTowerPoint) opPayload_ : null; }
    set {
      opPayload_ = value;
      opPayloadCase_ = value == null ? OpPayloadOneofCase.None : OpPayloadOneofCase.UseHealTowerPoint;
    }
  }

  /// <summary>Field number for the "battle_repair" field.</summary>
  public const int BattleRepairFieldNumber = 30;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactoryOpRetBattleRepair BattleRepair {
    get { return opPayloadCase_ == OpPayloadOneofCase.BattleRepair ? (global::ScdFactoryOpRetBattleRepair) opPayload_ : null; }
    set {
      opPayload_ = value;
      opPayloadCase_ = value == null ? OpPayloadOneofCase.None : OpPayloadOneofCase.BattleRepair;
    }
  }

  /// <summary>Field number for the "add_connection" field.</summary>
  public const int AddConnectionFieldNumber = 31;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactoryOpRetAddConnection AddConnection {
    get { return opPayloadCase_ == OpPayloadOneofCase.AddConnection ? (global::ScdFactoryOpRetAddConnection) opPayload_ : null; }
    set {
      opPayload_ = value;
      opPayloadCase_ = value == null ? OpPayloadOneofCase.None : OpPayloadOneofCase.AddConnection;
    }
  }

  /// <summary>Field number for the "del_connection" field.</summary>
  public const int DelConnectionFieldNumber = 32;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactoryOpRetDelConnection DelConnection {
    get { return opPayloadCase_ == OpPayloadOneofCase.DelConnection ? (global::ScdFactoryOpRetDelConnection) opPayload_ : null; }
    set {
      opPayload_ = value;
      opPayloadCase_ = value == null ? OpPayloadOneofCase.None : OpPayloadOneofCase.DelConnection;
    }
  }

  /// <summary>Field number for the "grid_box_inner_move" field.</summary>
  public const int GridBoxInnerMoveFieldNumber = 41;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactoryOpRetGridBoxInnerMove GridBoxInnerMove {
    get { return opPayloadCase_ == OpPayloadOneofCase.GridBoxInnerMove ? (global::ScdFactoryOpRetGridBoxInnerMove) opPayload_ : null; }
    set {
      opPayload_ = value;
      opPayloadCase_ = value == null ? OpPayloadOneofCase.None : OpPayloadOneofCase.GridBoxInnerMove;
    }
  }

  /// <summary>Field number for the "grid_box_inner_split" field.</summary>
  public const int GridBoxInnerSplitFieldNumber = 42;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactoryOpRetGridBoxInnerSplit GridBoxInnerSplit {
    get { return opPayloadCase_ == OpPayloadOneofCase.GridBoxInnerSplit ? (global::ScdFactoryOpRetGridBoxInnerSplit) opPayload_ : null; }
    set {
      opPayload_ = value;
      opPayloadCase_ = value == null ? OpPayloadOneofCase.None : OpPayloadOneofCase.GridBoxInnerSplit;
    }
  }

  /// <summary>Field number for the "move_item_bag_to_grid_box" field.</summary>
  public const int MoveItemBagToGridBoxFieldNumber = 43;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactoryOpRetMoveItemBagToGridBox MoveItemBagToGridBox {
    get { return opPayloadCase_ == OpPayloadOneofCase.MoveItemBagToGridBox ? (global::ScdFactoryOpRetMoveItemBagToGridBox) opPayload_ : null; }
    set {
      opPayload_ = value;
      opPayloadCase_ = value == null ? OpPayloadOneofCase.None : OpPayloadOneofCase.MoveItemBagToGridBox;
    }
  }

  /// <summary>Field number for the "move_item_grid_box_to_bag" field.</summary>
  public const int MoveItemGridBoxToBagFieldNumber = 44;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactoryOpRetMoveItemGridBoxToBag MoveItemGridBoxToBag {
    get { return opPayloadCase_ == OpPayloadOneofCase.MoveItemGridBoxToBag ? (global::ScdFactoryOpRetMoveItemGridBoxToBag) opPayload_ : null; }
    set {
      opPayload_ = value;
      opPayloadCase_ = value == null ? OpPayloadOneofCase.None : OpPayloadOneofCase.MoveItemGridBoxToBag;
    }
  }

  /// <summary>Field number for the "move_item_depot_to_grid_box" field.</summary>
  public const int MoveItemDepotToGridBoxFieldNumber = 45;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactoryOpRetMoveItemDepotToGridBox MoveItemDepotToGridBox {
    get { return opPayloadCase_ == OpPayloadOneofCase.MoveItemDepotToGridBox ? (global::ScdFactoryOpRetMoveItemDepotToGridBox) opPayload_ : null; }
    set {
      opPayload_ = value;
      opPayloadCase_ = value == null ? OpPayloadOneofCase.None : OpPayloadOneofCase.MoveItemDepotToGridBox;
    }
  }

  /// <summary>Field number for the "move_item_grid_box_to_depot" field.</summary>
  public const int MoveItemGridBoxToDepotFieldNumber = 46;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactoryOpRetMoveItemGridBoxToDepot MoveItemGridBoxToDepot {
    get { return opPayloadCase_ == OpPayloadOneofCase.MoveItemGridBoxToDepot ? (global::ScdFactoryOpRetMoveItemGridBoxToDepot) opPayload_ : null; }
    set {
      opPayload_ = value;
      opPayloadCase_ = value == null ? OpPayloadOneofCase.None : OpPayloadOneofCase.MoveItemGridBoxToDepot;
    }
  }

  /// <summary>Field number for the "move_all_cache_out_item_to_bag" field.</summary>
  public const int MoveAllCacheOutItemToBagFieldNumber = 47;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactoryOpRetMoveAllCacheOutItemToBag MoveAllCacheOutItemToBag {
    get { return opPayloadCase_ == OpPayloadOneofCase.MoveAllCacheOutItemToBag ? (global::ScdFactoryOpRetMoveAllCacheOutItemToBag) opPayload_ : null; }
    set {
      opPayload_ = value;
      opPayloadCase_ = value == null ? OpPayloadOneofCase.None : OpPayloadOneofCase.MoveAllCacheOutItemToBag;
    }
  }

  /// <summary>Field number for the "quick_put_battery" field.</summary>
  public const int QuickPutBatteryFieldNumber = 48;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactoryOpRetQuickPutBattery QuickPutBattery {
    get { return opPayloadCase_ == OpPayloadOneofCase.QuickPutBattery ? (global::ScdFactoryOpRetQuickPutBattery) opPayload_ : null; }
    set {
      opPayload_ = value;
      opPayloadCase_ = value == null ? OpPayloadOneofCase.None : OpPayloadOneofCase.QuickPutBattery;
    }
  }

  /// <summary>Field number for the "change_producer_mode" field.</summary>
  public const int ChangeProducerModeFieldNumber = 51;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactoryOpRetChangeProducerMode ChangeProducerMode {
    get { return opPayloadCase_ == OpPayloadOneofCase.ChangeProducerMode ? (global::ScdFactoryOpRetChangeProducerMode) opPayload_ : null; }
    set {
      opPayload_ = value;
      opPayloadCase_ = value == null ? OpPayloadOneofCase.None : OpPayloadOneofCase.ChangeProducerMode;
    }
  }

  /// <summary>Field number for the "reverse_fluid_conveyor_direction" field.</summary>
  public const int ReverseFluidConveyorDirectionFieldNumber = 52;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactoryOpRetReverseFluidConveyorDirection ReverseFluidConveyorDirection {
    get { return opPayloadCase_ == OpPayloadOneofCase.ReverseFluidConveyorDirection ? (global::ScdFactoryOpRetReverseFluidConveyorDirection) opPayload_ : null; }
    set {
      opPayload_ = value;
      opPayloadCase_ = value == null ? OpPayloadOneofCase.None : OpPayloadOneofCase.ReverseFluidConveyorDirection;
    }
  }

  /// <summary>Field number for the "dismantle_batch" field.</summary>
  public const int DismantleBatchFieldNumber = 53;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactoryOpRetDismantleBatch DismantleBatch {
    get { return opPayloadCase_ == OpPayloadOneofCase.DismantleBatch ? (global::ScdFactoryOpRetDismantleBatch) opPayload_ : null; }
    set {
      opPayload_ = value;
      opPayloadCase_ = value == null ? OpPayloadOneofCase.None : OpPayloadOneofCase.DismantleBatch;
    }
  }

  /// <summary>Field number for the "take_out_fluid_from_liquid_body" field.</summary>
  public const int TakeOutFluidFromLiquidBodyFieldNumber = 61;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactoryOpRetTakeOutFluidFromLiquidBody TakeOutFluidFromLiquidBody {
    get { return opPayloadCase_ == OpPayloadOneofCase.TakeOutFluidFromLiquidBody ? (global::ScdFactoryOpRetTakeOutFluidFromLiquidBody) opPayload_ : null; }
    set {
      opPayload_ = value;
      opPayloadCase_ = value == null ? OpPayloadOneofCase.None : OpPayloadOneofCase.TakeOutFluidFromLiquidBody;
    }
  }

  /// <summary>Field number for the "put_in_fluid_to_liquid_body" field.</summary>
  public const int PutInFluidToLiquidBodyFieldNumber = 62;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactoryOpRetPutInFluidToLiquidBody PutInFluidToLiquidBody {
    get { return opPayloadCase_ == OpPayloadOneofCase.PutInFluidToLiquidBody ? (global::ScdFactoryOpRetPutInFluidToLiquidBody) opPayload_ : null; }
    set {
      opPayload_ = value;
      opPayloadCase_ = value == null ? OpPayloadOneofCase.None : OpPayloadOneofCase.PutInFluidToLiquidBody;
    }
  }

  /// <summary>Field number for the "filling_fluid_com_with_bag" field.</summary>
  public const int FillingFluidComWithBagFieldNumber = 63;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactoryOpRetFillingFluidComWithBag FillingFluidComWithBag {
    get { return opPayloadCase_ == OpPayloadOneofCase.FillingFluidComWithBag ? (global::ScdFactoryOpRetFillingFluidComWithBag) opPayload_ : null; }
    set {
      opPayload_ = value;
      opPayloadCase_ = value == null ? OpPayloadOneofCase.None : OpPayloadOneofCase.FillingFluidComWithBag;
    }
  }

  /// <summary>Field number for the "filling_fluid_com_with_depot" field.</summary>
  public const int FillingFluidComWithDepotFieldNumber = 64;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdFactoryOpRetFillingFluidComWithDepot FillingFluidComWithDepot {
    get { return opPayloadCase_ == OpPayloadOneofCase.FillingFluidComWithDepot ? (global::ScdFactoryOpRetFillingFluidComWithDepot) opPayload_ : null; }
    set {
      opPayload_ = value;
      opPayloadCase_ = value == null ? OpPayloadOneofCase.None : OpPayloadOneofCase.FillingFluidComWithDepot;
    }
  }

  private object opPayload_;
  /// <summary>Enum of possible cases for the "op_payload" oneof.</summary>
  public enum OpPayloadOneofCase {
    None = 0,
    Place = 11,
    PlaceConveyor = 12,
    Dismantle = 13,
    SetSelectTarget = 15,
    EnableNode = 16,
    MoveNode = 17,
    DismantleBoxConveyor = 18,
    RepairNode = 19,
    MoveItemCacheToCache = 20,
    MoveItemBagToCache = 21,
    MoveItemCacheToBag = 22,
    MoveItemDepotToCache = 23,
    MoveItemCacheToDepot = 24,
    MoveItemConveyorToBag = 25,
    CacheTransportTransfer = 26,
    CacheTransportEnable = 27,
    SetTravelPoleDefaultNext = 28,
    UseHealTowerPoint = 29,
    BattleRepair = 30,
    AddConnection = 31,
    DelConnection = 32,
    GridBoxInnerMove = 41,
    GridBoxInnerSplit = 42,
    MoveItemBagToGridBox = 43,
    MoveItemGridBoxToBag = 44,
    MoveItemDepotToGridBox = 45,
    MoveItemGridBoxToDepot = 46,
    MoveAllCacheOutItemToBag = 47,
    QuickPutBattery = 48,
    ChangeProducerMode = 51,
    ReverseFluidConveyorDirection = 52,
    DismantleBatch = 53,
    TakeOutFluidFromLiquidBody = 61,
    PutInFluidToLiquidBody = 62,
    FillingFluidComWithBag = 63,
    FillingFluidComWithDepot = 64,
  }
  private OpPayloadOneofCase opPayloadCase_ = OpPayloadOneofCase.None;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public OpPayloadOneofCase OpPayloadCase {
    get { return opPayloadCase_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void ClearOpPayload() {
    opPayloadCase_ = OpPayloadOneofCase.None;
    opPayload_ = null;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScFactoryOpRet);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScFactoryOpRet other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Index != other.Index) return false;
    if (RetCode != other.RetCode) return false;
    if (OpType != other.OpType) return false;
    if (ErrMessage != other.ErrMessage) return false;
    if (!object.Equals(Place, other.Place)) return false;
    if (!object.Equals(PlaceConveyor, other.PlaceConveyor)) return false;
    if (!object.Equals(Dismantle, other.Dismantle)) return false;
    if (!object.Equals(SetSelectTarget, other.SetSelectTarget)) return false;
    if (!object.Equals(EnableNode, other.EnableNode)) return false;
    if (!object.Equals(MoveNode, other.MoveNode)) return false;
    if (!object.Equals(DismantleBoxConveyor, other.DismantleBoxConveyor)) return false;
    if (!object.Equals(RepairNode, other.RepairNode)) return false;
    if (!object.Equals(MoveItemCacheToCache, other.MoveItemCacheToCache)) return false;
    if (!object.Equals(MoveItemBagToCache, other.MoveItemBagToCache)) return false;
    if (!object.Equals(MoveItemCacheToBag, other.MoveItemCacheToBag)) return false;
    if (!object.Equals(MoveItemDepotToCache, other.MoveItemDepotToCache)) return false;
    if (!object.Equals(MoveItemCacheToDepot, other.MoveItemCacheToDepot)) return false;
    if (!object.Equals(MoveItemConveyorToBag, other.MoveItemConveyorToBag)) return false;
    if (!object.Equals(CacheTransportTransfer, other.CacheTransportTransfer)) return false;
    if (!object.Equals(CacheTransportEnable, other.CacheTransportEnable)) return false;
    if (!object.Equals(SetTravelPoleDefaultNext, other.SetTravelPoleDefaultNext)) return false;
    if (!object.Equals(UseHealTowerPoint, other.UseHealTowerPoint)) return false;
    if (!object.Equals(BattleRepair, other.BattleRepair)) return false;
    if (!object.Equals(AddConnection, other.AddConnection)) return false;
    if (!object.Equals(DelConnection, other.DelConnection)) return false;
    if (!object.Equals(GridBoxInnerMove, other.GridBoxInnerMove)) return false;
    if (!object.Equals(GridBoxInnerSplit, other.GridBoxInnerSplit)) return false;
    if (!object.Equals(MoveItemBagToGridBox, other.MoveItemBagToGridBox)) return false;
    if (!object.Equals(MoveItemGridBoxToBag, other.MoveItemGridBoxToBag)) return false;
    if (!object.Equals(MoveItemDepotToGridBox, other.MoveItemDepotToGridBox)) return false;
    if (!object.Equals(MoveItemGridBoxToDepot, other.MoveItemGridBoxToDepot)) return false;
    if (!object.Equals(MoveAllCacheOutItemToBag, other.MoveAllCacheOutItemToBag)) return false;
    if (!object.Equals(QuickPutBattery, other.QuickPutBattery)) return false;
    if (!object.Equals(ChangeProducerMode, other.ChangeProducerMode)) return false;
    if (!object.Equals(ReverseFluidConveyorDirection, other.ReverseFluidConveyorDirection)) return false;
    if (!object.Equals(DismantleBatch, other.DismantleBatch)) return false;
    if (!object.Equals(TakeOutFluidFromLiquidBody, other.TakeOutFluidFromLiquidBody)) return false;
    if (!object.Equals(PutInFluidToLiquidBody, other.PutInFluidToLiquidBody)) return false;
    if (!object.Equals(FillingFluidComWithBag, other.FillingFluidComWithBag)) return false;
    if (!object.Equals(FillingFluidComWithDepot, other.FillingFluidComWithDepot)) return false;
    if (OpPayloadCase != other.OpPayloadCase) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Index.Length != 0) hash ^= Index.GetHashCode();
    if (RetCode != 0) hash ^= RetCode.GetHashCode();
    if (OpType != 0) hash ^= OpType.GetHashCode();
    if (ErrMessage.Length != 0) hash ^= ErrMessage.GetHashCode();
    if (opPayloadCase_ == OpPayloadOneofCase.Place) hash ^= Place.GetHashCode();
    if (opPayloadCase_ == OpPayloadOneofCase.PlaceConveyor) hash ^= PlaceConveyor.GetHashCode();
    if (opPayloadCase_ == OpPayloadOneofCase.Dismantle) hash ^= Dismantle.GetHashCode();
    if (opPayloadCase_ == OpPayloadOneofCase.SetSelectTarget) hash ^= SetSelectTarget.GetHashCode();
    if (opPayloadCase_ == OpPayloadOneofCase.EnableNode) hash ^= EnableNode.GetHashCode();
    if (opPayloadCase_ == OpPayloadOneofCase.MoveNode) hash ^= MoveNode.GetHashCode();
    if (opPayloadCase_ == OpPayloadOneofCase.DismantleBoxConveyor) hash ^= DismantleBoxConveyor.GetHashCode();
    if (opPayloadCase_ == OpPayloadOneofCase.RepairNode) hash ^= RepairNode.GetHashCode();
    if (opPayloadCase_ == OpPayloadOneofCase.MoveItemCacheToCache) hash ^= MoveItemCacheToCache.GetHashCode();
    if (opPayloadCase_ == OpPayloadOneofCase.MoveItemBagToCache) hash ^= MoveItemBagToCache.GetHashCode();
    if (opPayloadCase_ == OpPayloadOneofCase.MoveItemCacheToBag) hash ^= MoveItemCacheToBag.GetHashCode();
    if (opPayloadCase_ == OpPayloadOneofCase.MoveItemDepotToCache) hash ^= MoveItemDepotToCache.GetHashCode();
    if (opPayloadCase_ == OpPayloadOneofCase.MoveItemCacheToDepot) hash ^= MoveItemCacheToDepot.GetHashCode();
    if (opPayloadCase_ == OpPayloadOneofCase.MoveItemConveyorToBag) hash ^= MoveItemConveyorToBag.GetHashCode();
    if (opPayloadCase_ == OpPayloadOneofCase.CacheTransportTransfer) hash ^= CacheTransportTransfer.GetHashCode();
    if (opPayloadCase_ == OpPayloadOneofCase.CacheTransportEnable) hash ^= CacheTransportEnable.GetHashCode();
    if (opPayloadCase_ == OpPayloadOneofCase.SetTravelPoleDefaultNext) hash ^= SetTravelPoleDefaultNext.GetHashCode();
    if (opPayloadCase_ == OpPayloadOneofCase.UseHealTowerPoint) hash ^= UseHealTowerPoint.GetHashCode();
    if (opPayloadCase_ == OpPayloadOneofCase.BattleRepair) hash ^= BattleRepair.GetHashCode();
    if (opPayloadCase_ == OpPayloadOneofCase.AddConnection) hash ^= AddConnection.GetHashCode();
    if (opPayloadCase_ == OpPayloadOneofCase.DelConnection) hash ^= DelConnection.GetHashCode();
    if (opPayloadCase_ == OpPayloadOneofCase.GridBoxInnerMove) hash ^= GridBoxInnerMove.GetHashCode();
    if (opPayloadCase_ == OpPayloadOneofCase.GridBoxInnerSplit) hash ^= GridBoxInnerSplit.GetHashCode();
    if (opPayloadCase_ == OpPayloadOneofCase.MoveItemBagToGridBox) hash ^= MoveItemBagToGridBox.GetHashCode();
    if (opPayloadCase_ == OpPayloadOneofCase.MoveItemGridBoxToBag) hash ^= MoveItemGridBoxToBag.GetHashCode();
    if (opPayloadCase_ == OpPayloadOneofCase.MoveItemDepotToGridBox) hash ^= MoveItemDepotToGridBox.GetHashCode();
    if (opPayloadCase_ == OpPayloadOneofCase.MoveItemGridBoxToDepot) hash ^= MoveItemGridBoxToDepot.GetHashCode();
    if (opPayloadCase_ == OpPayloadOneofCase.MoveAllCacheOutItemToBag) hash ^= MoveAllCacheOutItemToBag.GetHashCode();
    if (opPayloadCase_ == OpPayloadOneofCase.QuickPutBattery) hash ^= QuickPutBattery.GetHashCode();
    if (opPayloadCase_ == OpPayloadOneofCase.ChangeProducerMode) hash ^= ChangeProducerMode.GetHashCode();
    if (opPayloadCase_ == OpPayloadOneofCase.ReverseFluidConveyorDirection) hash ^= ReverseFluidConveyorDirection.GetHashCode();
    if (opPayloadCase_ == OpPayloadOneofCase.DismantleBatch) hash ^= DismantleBatch.GetHashCode();
    if (opPayloadCase_ == OpPayloadOneofCase.TakeOutFluidFromLiquidBody) hash ^= TakeOutFluidFromLiquidBody.GetHashCode();
    if (opPayloadCase_ == OpPayloadOneofCase.PutInFluidToLiquidBody) hash ^= PutInFluidToLiquidBody.GetHashCode();
    if (opPayloadCase_ == OpPayloadOneofCase.FillingFluidComWithBag) hash ^= FillingFluidComWithBag.GetHashCode();
    if (opPayloadCase_ == OpPayloadOneofCase.FillingFluidComWithDepot) hash ^= FillingFluidComWithDepot.GetHashCode();
    hash ^= (int) opPayloadCase_;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Index.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(Index);
    }
    if (RetCode != 0) {
      output.WriteRawTag(16);
      output.WriteEnum((int) RetCode);
    }
    if (OpType != 0) {
      output.WriteRawTag(24);
      output.WriteEnum((int) OpType);
    }
    if (ErrMessage.Length != 0) {
      output.WriteRawTag(34);
      output.WriteString(ErrMessage);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.Place) {
      output.WriteRawTag(90);
      output.WriteMessage(Place);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.PlaceConveyor) {
      output.WriteRawTag(98);
      output.WriteMessage(PlaceConveyor);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.Dismantle) {
      output.WriteRawTag(106);
      output.WriteMessage(Dismantle);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.SetSelectTarget) {
      output.WriteRawTag(122);
      output.WriteMessage(SetSelectTarget);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.EnableNode) {
      output.WriteRawTag(130, 1);
      output.WriteMessage(EnableNode);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.MoveNode) {
      output.WriteRawTag(138, 1);
      output.WriteMessage(MoveNode);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.DismantleBoxConveyor) {
      output.WriteRawTag(146, 1);
      output.WriteMessage(DismantleBoxConveyor);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.RepairNode) {
      output.WriteRawTag(154, 1);
      output.WriteMessage(RepairNode);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.MoveItemCacheToCache) {
      output.WriteRawTag(162, 1);
      output.WriteMessage(MoveItemCacheToCache);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.MoveItemBagToCache) {
      output.WriteRawTag(170, 1);
      output.WriteMessage(MoveItemBagToCache);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.MoveItemCacheToBag) {
      output.WriteRawTag(178, 1);
      output.WriteMessage(MoveItemCacheToBag);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.MoveItemDepotToCache) {
      output.WriteRawTag(186, 1);
      output.WriteMessage(MoveItemDepotToCache);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.MoveItemCacheToDepot) {
      output.WriteRawTag(194, 1);
      output.WriteMessage(MoveItemCacheToDepot);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.MoveItemConveyorToBag) {
      output.WriteRawTag(202, 1);
      output.WriteMessage(MoveItemConveyorToBag);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.CacheTransportTransfer) {
      output.WriteRawTag(210, 1);
      output.WriteMessage(CacheTransportTransfer);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.CacheTransportEnable) {
      output.WriteRawTag(218, 1);
      output.WriteMessage(CacheTransportEnable);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.SetTravelPoleDefaultNext) {
      output.WriteRawTag(226, 1);
      output.WriteMessage(SetTravelPoleDefaultNext);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.UseHealTowerPoint) {
      output.WriteRawTag(234, 1);
      output.WriteMessage(UseHealTowerPoint);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.BattleRepair) {
      output.WriteRawTag(242, 1);
      output.WriteMessage(BattleRepair);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.AddConnection) {
      output.WriteRawTag(250, 1);
      output.WriteMessage(AddConnection);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.DelConnection) {
      output.WriteRawTag(130, 2);
      output.WriteMessage(DelConnection);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.GridBoxInnerMove) {
      output.WriteRawTag(202, 2);
      output.WriteMessage(GridBoxInnerMove);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.GridBoxInnerSplit) {
      output.WriteRawTag(210, 2);
      output.WriteMessage(GridBoxInnerSplit);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.MoveItemBagToGridBox) {
      output.WriteRawTag(218, 2);
      output.WriteMessage(MoveItemBagToGridBox);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.MoveItemGridBoxToBag) {
      output.WriteRawTag(226, 2);
      output.WriteMessage(MoveItemGridBoxToBag);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.MoveItemDepotToGridBox) {
      output.WriteRawTag(234, 2);
      output.WriteMessage(MoveItemDepotToGridBox);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.MoveItemGridBoxToDepot) {
      output.WriteRawTag(242, 2);
      output.WriteMessage(MoveItemGridBoxToDepot);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.MoveAllCacheOutItemToBag) {
      output.WriteRawTag(250, 2);
      output.WriteMessage(MoveAllCacheOutItemToBag);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.QuickPutBattery) {
      output.WriteRawTag(130, 3);
      output.WriteMessage(QuickPutBattery);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.ChangeProducerMode) {
      output.WriteRawTag(154, 3);
      output.WriteMessage(ChangeProducerMode);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.ReverseFluidConveyorDirection) {
      output.WriteRawTag(162, 3);
      output.WriteMessage(ReverseFluidConveyorDirection);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.DismantleBatch) {
      output.WriteRawTag(170, 3);
      output.WriteMessage(DismantleBatch);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.TakeOutFluidFromLiquidBody) {
      output.WriteRawTag(234, 3);
      output.WriteMessage(TakeOutFluidFromLiquidBody);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.PutInFluidToLiquidBody) {
      output.WriteRawTag(242, 3);
      output.WriteMessage(PutInFluidToLiquidBody);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.FillingFluidComWithBag) {
      output.WriteRawTag(250, 3);
      output.WriteMessage(FillingFluidComWithBag);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.FillingFluidComWithDepot) {
      output.WriteRawTag(130, 4);
      output.WriteMessage(FillingFluidComWithDepot);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Index.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(Index);
    }
    if (RetCode != 0) {
      size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) RetCode);
    }
    if (OpType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) OpType);
    }
    if (ErrMessage.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ErrMessage);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.Place) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Place);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.PlaceConveyor) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(PlaceConveyor);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.Dismantle) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Dismantle);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.SetSelectTarget) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(SetSelectTarget);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.EnableNode) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(EnableNode);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.MoveNode) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(MoveNode);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.DismantleBoxConveyor) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(DismantleBoxConveyor);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.RepairNode) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(RepairNode);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.MoveItemCacheToCache) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(MoveItemCacheToCache);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.MoveItemBagToCache) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(MoveItemBagToCache);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.MoveItemCacheToBag) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(MoveItemCacheToBag);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.MoveItemDepotToCache) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(MoveItemDepotToCache);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.MoveItemCacheToDepot) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(MoveItemCacheToDepot);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.MoveItemConveyorToBag) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(MoveItemConveyorToBag);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.CacheTransportTransfer) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(CacheTransportTransfer);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.CacheTransportEnable) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(CacheTransportEnable);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.SetTravelPoleDefaultNext) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(SetTravelPoleDefaultNext);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.UseHealTowerPoint) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(UseHealTowerPoint);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.BattleRepair) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(BattleRepair);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.AddConnection) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(AddConnection);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.DelConnection) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(DelConnection);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.GridBoxInnerMove) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(GridBoxInnerMove);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.GridBoxInnerSplit) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(GridBoxInnerSplit);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.MoveItemBagToGridBox) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(MoveItemBagToGridBox);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.MoveItemGridBoxToBag) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(MoveItemGridBoxToBag);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.MoveItemDepotToGridBox) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(MoveItemDepotToGridBox);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.MoveItemGridBoxToDepot) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(MoveItemGridBoxToDepot);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.MoveAllCacheOutItemToBag) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(MoveAllCacheOutItemToBag);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.QuickPutBattery) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(QuickPutBattery);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.ChangeProducerMode) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(ChangeProducerMode);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.ReverseFluidConveyorDirection) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(ReverseFluidConveyorDirection);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.DismantleBatch) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(DismantleBatch);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.TakeOutFluidFromLiquidBody) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(TakeOutFluidFromLiquidBody);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.PutInFluidToLiquidBody) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(PutInFluidToLiquidBody);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.FillingFluidComWithBag) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(FillingFluidComWithBag);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.FillingFluidComWithDepot) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(FillingFluidComWithDepot);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScFactoryOpRet other) {
    if (other == null) {
      return;
    }
    if (other.Index.Length != 0) {
      Index = other.Index;
    }
    if (other.RetCode != 0) {
      RetCode = other.RetCode;
    }
    if (other.OpType != 0) {
      OpType = other.OpType;
    }
    if (other.ErrMessage.Length != 0) {
      ErrMessage = other.ErrMessage;
    }
    switch (other.OpPayloadCase) {
      case OpPayloadOneofCase.Place:
        if (Place == null) {
          Place = new global::ScdFactoryOpRetPlace();
        }
        Place.MergeFrom(other.Place);
        break;
      case OpPayloadOneofCase.PlaceConveyor:
        if (PlaceConveyor == null) {
          PlaceConveyor = new global::ScdFactoryOpRetPlaceConveyor();
        }
        PlaceConveyor.MergeFrom(other.PlaceConveyor);
        break;
      case OpPayloadOneofCase.Dismantle:
        if (Dismantle == null) {
          Dismantle = new global::ScdFactoryOpRetDismantle();
        }
        Dismantle.MergeFrom(other.Dismantle);
        break;
      case OpPayloadOneofCase.SetSelectTarget:
        if (SetSelectTarget == null) {
          SetSelectTarget = new global::ScdFactoryOpRetSetSelectTarget();
        }
        SetSelectTarget.MergeFrom(other.SetSelectTarget);
        break;
      case OpPayloadOneofCase.EnableNode:
        if (EnableNode == null) {
          EnableNode = new global::ScdFactoryOpRetEnableNode();
        }
        EnableNode.MergeFrom(other.EnableNode);
        break;
      case OpPayloadOneofCase.MoveNode:
        if (MoveNode == null) {
          MoveNode = new global::ScdFactoryOpRetMoveNode();
        }
        MoveNode.MergeFrom(other.MoveNode);
        break;
      case OpPayloadOneofCase.DismantleBoxConveyor:
        if (DismantleBoxConveyor == null) {
          DismantleBoxConveyor = new global::ScdFactoryOpRetDismantleBoxConveyor();
        }
        DismantleBoxConveyor.MergeFrom(other.DismantleBoxConveyor);
        break;
      case OpPayloadOneofCase.RepairNode:
        if (RepairNode == null) {
          RepairNode = new global::ScdFactoryOpRetRepairNode();
        }
        RepairNode.MergeFrom(other.RepairNode);
        break;
      case OpPayloadOneofCase.MoveItemCacheToCache:
        if (MoveItemCacheToCache == null) {
          MoveItemCacheToCache = new global::ScdFactoryOpRetMoveItemCacheToCache();
        }
        MoveItemCacheToCache.MergeFrom(other.MoveItemCacheToCache);
        break;
      case OpPayloadOneofCase.MoveItemBagToCache:
        if (MoveItemBagToCache == null) {
          MoveItemBagToCache = new global::ScdFactoryOpRetMoveItemBagToCache();
        }
        MoveItemBagToCache.MergeFrom(other.MoveItemBagToCache);
        break;
      case OpPayloadOneofCase.MoveItemCacheToBag:
        if (MoveItemCacheToBag == null) {
          MoveItemCacheToBag = new global::ScdFactoryOpRetMoveItemCacheToBag();
        }
        MoveItemCacheToBag.MergeFrom(other.MoveItemCacheToBag);
        break;
      case OpPayloadOneofCase.MoveItemDepotToCache:
        if (MoveItemDepotToCache == null) {
          MoveItemDepotToCache = new global::ScdFactoryOpRetMoveItemDepotToCache();
        }
        MoveItemDepotToCache.MergeFrom(other.MoveItemDepotToCache);
        break;
      case OpPayloadOneofCase.MoveItemCacheToDepot:
        if (MoveItemCacheToDepot == null) {
          MoveItemCacheToDepot = new global::ScdFactoryOpRetMoveItemCacheToDepot();
        }
        MoveItemCacheToDepot.MergeFrom(other.MoveItemCacheToDepot);
        break;
      case OpPayloadOneofCase.MoveItemConveyorToBag:
        if (MoveItemConveyorToBag == null) {
          MoveItemConveyorToBag = new global::ScdFactoryOpRetMoveItemConveyorToBag();
        }
        MoveItemConveyorToBag.MergeFrom(other.MoveItemConveyorToBag);
        break;
      case OpPayloadOneofCase.CacheTransportTransfer:
        if (CacheTransportTransfer == null) {
          CacheTransportTransfer = new global::ScdFactoryOpRetCacheTransportTransfer();
        }
        CacheTransportTransfer.MergeFrom(other.CacheTransportTransfer);
        break;
      case OpPayloadOneofCase.CacheTransportEnable:
        if (CacheTransportEnable == null) {
          CacheTransportEnable = new global::ScdFactoryOpRetCacheTransportEnable();
        }
        CacheTransportEnable.MergeFrom(other.CacheTransportEnable);
        break;
      case OpPayloadOneofCase.SetTravelPoleDefaultNext:
        if (SetTravelPoleDefaultNext == null) {
          SetTravelPoleDefaultNext = new global::ScdFactoryOpRetSetTravelPoleDefaultNext();
        }
        SetTravelPoleDefaultNext.MergeFrom(other.SetTravelPoleDefaultNext);
        break;
      case OpPayloadOneofCase.UseHealTowerPoint:
        if (UseHealTowerPoint == null) {
          UseHealTowerPoint = new global::ScdFactoryOpRetUseHealTowerPoint();
        }
        UseHealTowerPoint.MergeFrom(other.UseHealTowerPoint);
        break;
      case OpPayloadOneofCase.BattleRepair:
        if (BattleRepair == null) {
          BattleRepair = new global::ScdFactoryOpRetBattleRepair();
        }
        BattleRepair.MergeFrom(other.BattleRepair);
        break;
      case OpPayloadOneofCase.AddConnection:
        if (AddConnection == null) {
          AddConnection = new global::ScdFactoryOpRetAddConnection();
        }
        AddConnection.MergeFrom(other.AddConnection);
        break;
      case OpPayloadOneofCase.DelConnection:
        if (DelConnection == null) {
          DelConnection = new global::ScdFactoryOpRetDelConnection();
        }
        DelConnection.MergeFrom(other.DelConnection);
        break;
      case OpPayloadOneofCase.GridBoxInnerMove:
        if (GridBoxInnerMove == null) {
          GridBoxInnerMove = new global::ScdFactoryOpRetGridBoxInnerMove();
        }
        GridBoxInnerMove.MergeFrom(other.GridBoxInnerMove);
        break;
      case OpPayloadOneofCase.GridBoxInnerSplit:
        if (GridBoxInnerSplit == null) {
          GridBoxInnerSplit = new global::ScdFactoryOpRetGridBoxInnerSplit();
        }
        GridBoxInnerSplit.MergeFrom(other.GridBoxInnerSplit);
        break;
      case OpPayloadOneofCase.MoveItemBagToGridBox:
        if (MoveItemBagToGridBox == null) {
          MoveItemBagToGridBox = new global::ScdFactoryOpRetMoveItemBagToGridBox();
        }
        MoveItemBagToGridBox.MergeFrom(other.MoveItemBagToGridBox);
        break;
      case OpPayloadOneofCase.MoveItemGridBoxToBag:
        if (MoveItemGridBoxToBag == null) {
          MoveItemGridBoxToBag = new global::ScdFactoryOpRetMoveItemGridBoxToBag();
        }
        MoveItemGridBoxToBag.MergeFrom(other.MoveItemGridBoxToBag);
        break;
      case OpPayloadOneofCase.MoveItemDepotToGridBox:
        if (MoveItemDepotToGridBox == null) {
          MoveItemDepotToGridBox = new global::ScdFactoryOpRetMoveItemDepotToGridBox();
        }
        MoveItemDepotToGridBox.MergeFrom(other.MoveItemDepotToGridBox);
        break;
      case OpPayloadOneofCase.MoveItemGridBoxToDepot:
        if (MoveItemGridBoxToDepot == null) {
          MoveItemGridBoxToDepot = new global::ScdFactoryOpRetMoveItemGridBoxToDepot();
        }
        MoveItemGridBoxToDepot.MergeFrom(other.MoveItemGridBoxToDepot);
        break;
      case OpPayloadOneofCase.MoveAllCacheOutItemToBag:
        if (MoveAllCacheOutItemToBag == null) {
          MoveAllCacheOutItemToBag = new global::ScdFactoryOpRetMoveAllCacheOutItemToBag();
        }
        MoveAllCacheOutItemToBag.MergeFrom(other.MoveAllCacheOutItemToBag);
        break;
      case OpPayloadOneofCase.QuickPutBattery:
        if (QuickPutBattery == null) {
          QuickPutBattery = new global::ScdFactoryOpRetQuickPutBattery();
        }
        QuickPutBattery.MergeFrom(other.QuickPutBattery);
        break;
      case OpPayloadOneofCase.ChangeProducerMode:
        if (ChangeProducerMode == null) {
          ChangeProducerMode = new global::ScdFactoryOpRetChangeProducerMode();
        }
        ChangeProducerMode.MergeFrom(other.ChangeProducerMode);
        break;
      case OpPayloadOneofCase.ReverseFluidConveyorDirection:
        if (ReverseFluidConveyorDirection == null) {
          ReverseFluidConveyorDirection = new global::ScdFactoryOpRetReverseFluidConveyorDirection();
        }
        ReverseFluidConveyorDirection.MergeFrom(other.ReverseFluidConveyorDirection);
        break;
      case OpPayloadOneofCase.DismantleBatch:
        if (DismantleBatch == null) {
          DismantleBatch = new global::ScdFactoryOpRetDismantleBatch();
        }
        DismantleBatch.MergeFrom(other.DismantleBatch);
        break;
      case OpPayloadOneofCase.TakeOutFluidFromLiquidBody:
        if (TakeOutFluidFromLiquidBody == null) {
          TakeOutFluidFromLiquidBody = new global::ScdFactoryOpRetTakeOutFluidFromLiquidBody();
        }
        TakeOutFluidFromLiquidBody.MergeFrom(other.TakeOutFluidFromLiquidBody);
        break;
      case OpPayloadOneofCase.PutInFluidToLiquidBody:
        if (PutInFluidToLiquidBody == null) {
          PutInFluidToLiquidBody = new global::ScdFactoryOpRetPutInFluidToLiquidBody();
        }
        PutInFluidToLiquidBody.MergeFrom(other.PutInFluidToLiquidBody);
        break;
      case OpPayloadOneofCase.FillingFluidComWithBag:
        if (FillingFluidComWithBag == null) {
          FillingFluidComWithBag = new global::ScdFactoryOpRetFillingFluidComWithBag();
        }
        FillingFluidComWithBag.MergeFrom(other.FillingFluidComWithBag);
        break;
      case OpPayloadOneofCase.FillingFluidComWithDepot:
        if (FillingFluidComWithDepot == null) {
          FillingFluidComWithDepot = new global::ScdFactoryOpRetFillingFluidComWithDepot();
        }
        FillingFluidComWithDepot.MergeFrom(other.FillingFluidComWithDepot);
        break;
    }

    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          Index = input.ReadString();
          break;
        }
        case 16: {
          retCode_ = (global::FactoryOpRetCode) input.ReadEnum();
          break;
        }
        case 24: {
          opType_ = (global::FactoryOpType) input.ReadEnum();
          break;
        }
        case 34: {
          ErrMessage = input.ReadString();
          break;
        }
        case 90: {
          global::ScdFactoryOpRetPlace subBuilder = new global::ScdFactoryOpRetPlace();
          if (opPayloadCase_ == OpPayloadOneofCase.Place) {
            subBuilder.MergeFrom(Place);
          }
          input.ReadMessage(subBuilder);
          Place = subBuilder;
          break;
        }
        case 98: {
          global::ScdFactoryOpRetPlaceConveyor subBuilder = new global::ScdFactoryOpRetPlaceConveyor();
          if (opPayloadCase_ == OpPayloadOneofCase.PlaceConveyor) {
            subBuilder.MergeFrom(PlaceConveyor);
          }
          input.ReadMessage(subBuilder);
          PlaceConveyor = subBuilder;
          break;
        }
        case 106: {
          global::ScdFactoryOpRetDismantle subBuilder = new global::ScdFactoryOpRetDismantle();
          if (opPayloadCase_ == OpPayloadOneofCase.Dismantle) {
            subBuilder.MergeFrom(Dismantle);
          }
          input.ReadMessage(subBuilder);
          Dismantle = subBuilder;
          break;
        }
        case 122: {
          global::ScdFactoryOpRetSetSelectTarget subBuilder = new global::ScdFactoryOpRetSetSelectTarget();
          if (opPayloadCase_ == OpPayloadOneofCase.SetSelectTarget) {
            subBuilder.MergeFrom(SetSelectTarget);
          }
          input.ReadMessage(subBuilder);
          SetSelectTarget = subBuilder;
          break;
        }
        case 130: {
          global::ScdFactoryOpRetEnableNode subBuilder = new global::ScdFactoryOpRetEnableNode();
          if (opPayloadCase_ == OpPayloadOneofCase.EnableNode) {
            subBuilder.MergeFrom(EnableNode);
          }
          input.ReadMessage(subBuilder);
          EnableNode = subBuilder;
          break;
        }
        case 138: {
          global::ScdFactoryOpRetMoveNode subBuilder = new global::ScdFactoryOpRetMoveNode();
          if (opPayloadCase_ == OpPayloadOneofCase.MoveNode) {
            subBuilder.MergeFrom(MoveNode);
          }
          input.ReadMessage(subBuilder);
          MoveNode = subBuilder;
          break;
        }
        case 146: {
          global::ScdFactoryOpRetDismantleBoxConveyor subBuilder = new global::ScdFactoryOpRetDismantleBoxConveyor();
          if (opPayloadCase_ == OpPayloadOneofCase.DismantleBoxConveyor) {
            subBuilder.MergeFrom(DismantleBoxConveyor);
          }
          input.ReadMessage(subBuilder);
          DismantleBoxConveyor = subBuilder;
          break;
        }
        case 154: {
          global::ScdFactoryOpRetRepairNode subBuilder = new global::ScdFactoryOpRetRepairNode();
          if (opPayloadCase_ == OpPayloadOneofCase.RepairNode) {
            subBuilder.MergeFrom(RepairNode);
          }
          input.ReadMessage(subBuilder);
          RepairNode = subBuilder;
          break;
        }
        case 162: {
          global::ScdFactoryOpRetMoveItemCacheToCache subBuilder = new global::ScdFactoryOpRetMoveItemCacheToCache();
          if (opPayloadCase_ == OpPayloadOneofCase.MoveItemCacheToCache) {
            subBuilder.MergeFrom(MoveItemCacheToCache);
          }
          input.ReadMessage(subBuilder);
          MoveItemCacheToCache = subBuilder;
          break;
        }
        case 170: {
          global::ScdFactoryOpRetMoveItemBagToCache subBuilder = new global::ScdFactoryOpRetMoveItemBagToCache();
          if (opPayloadCase_ == OpPayloadOneofCase.MoveItemBagToCache) {
            subBuilder.MergeFrom(MoveItemBagToCache);
          }
          input.ReadMessage(subBuilder);
          MoveItemBagToCache = subBuilder;
          break;
        }
        case 178: {
          global::ScdFactoryOpRetMoveItemCacheToBag subBuilder = new global::ScdFactoryOpRetMoveItemCacheToBag();
          if (opPayloadCase_ == OpPayloadOneofCase.MoveItemCacheToBag) {
            subBuilder.MergeFrom(MoveItemCacheToBag);
          }
          input.ReadMessage(subBuilder);
          MoveItemCacheToBag = subBuilder;
          break;
        }
        case 186: {
          global::ScdFactoryOpRetMoveItemDepotToCache subBuilder = new global::ScdFactoryOpRetMoveItemDepotToCache();
          if (opPayloadCase_ == OpPayloadOneofCase.MoveItemDepotToCache) {
            subBuilder.MergeFrom(MoveItemDepotToCache);
          }
          input.ReadMessage(subBuilder);
          MoveItemDepotToCache = subBuilder;
          break;
        }
        case 194: {
          global::ScdFactoryOpRetMoveItemCacheToDepot subBuilder = new global::ScdFactoryOpRetMoveItemCacheToDepot();
          if (opPayloadCase_ == OpPayloadOneofCase.MoveItemCacheToDepot) {
            subBuilder.MergeFrom(MoveItemCacheToDepot);
          }
          input.ReadMessage(subBuilder);
          MoveItemCacheToDepot = subBuilder;
          break;
        }
        case 202: {
          global::ScdFactoryOpRetMoveItemConveyorToBag subBuilder = new global::ScdFactoryOpRetMoveItemConveyorToBag();
          if (opPayloadCase_ == OpPayloadOneofCase.MoveItemConveyorToBag) {
            subBuilder.MergeFrom(MoveItemConveyorToBag);
          }
          input.ReadMessage(subBuilder);
          MoveItemConveyorToBag = subBuilder;
          break;
        }
        case 210: {
          global::ScdFactoryOpRetCacheTransportTransfer subBuilder = new global::ScdFactoryOpRetCacheTransportTransfer();
          if (opPayloadCase_ == OpPayloadOneofCase.CacheTransportTransfer) {
            subBuilder.MergeFrom(CacheTransportTransfer);
          }
          input.ReadMessage(subBuilder);
          CacheTransportTransfer = subBuilder;
          break;
        }
        case 218: {
          global::ScdFactoryOpRetCacheTransportEnable subBuilder = new global::ScdFactoryOpRetCacheTransportEnable();
          if (opPayloadCase_ == OpPayloadOneofCase.CacheTransportEnable) {
            subBuilder.MergeFrom(CacheTransportEnable);
          }
          input.ReadMessage(subBuilder);
          CacheTransportEnable = subBuilder;
          break;
        }
        case 226: {
          global::ScdFactoryOpRetSetTravelPoleDefaultNext subBuilder = new global::ScdFactoryOpRetSetTravelPoleDefaultNext();
          if (opPayloadCase_ == OpPayloadOneofCase.SetTravelPoleDefaultNext) {
            subBuilder.MergeFrom(SetTravelPoleDefaultNext);
          }
          input.ReadMessage(subBuilder);
          SetTravelPoleDefaultNext = subBuilder;
          break;
        }
        case 234: {
          global::ScdFactoryOpRetUseHealTowerPoint subBuilder = new global::ScdFactoryOpRetUseHealTowerPoint();
          if (opPayloadCase_ == OpPayloadOneofCase.UseHealTowerPoint) {
            subBuilder.MergeFrom(UseHealTowerPoint);
          }
          input.ReadMessage(subBuilder);
          UseHealTowerPoint = subBuilder;
          break;
        }
        case 242: {
          global::ScdFactoryOpRetBattleRepair subBuilder = new global::ScdFactoryOpRetBattleRepair();
          if (opPayloadCase_ == OpPayloadOneofCase.BattleRepair) {
            subBuilder.MergeFrom(BattleRepair);
          }
          input.ReadMessage(subBuilder);
          BattleRepair = subBuilder;
          break;
        }
        case 250: {
          global::ScdFactoryOpRetAddConnection subBuilder = new global::ScdFactoryOpRetAddConnection();
          if (opPayloadCase_ == OpPayloadOneofCase.AddConnection) {
            subBuilder.MergeFrom(AddConnection);
          }
          input.ReadMessage(subBuilder);
          AddConnection = subBuilder;
          break;
        }
        case 258: {
          global::ScdFactoryOpRetDelConnection subBuilder = new global::ScdFactoryOpRetDelConnection();
          if (opPayloadCase_ == OpPayloadOneofCase.DelConnection) {
            subBuilder.MergeFrom(DelConnection);
          }
          input.ReadMessage(subBuilder);
          DelConnection = subBuilder;
          break;
        }
        case 330: {
          global::ScdFactoryOpRetGridBoxInnerMove subBuilder = new global::ScdFactoryOpRetGridBoxInnerMove();
          if (opPayloadCase_ == OpPayloadOneofCase.GridBoxInnerMove) {
            subBuilder.MergeFrom(GridBoxInnerMove);
          }
          input.ReadMessage(subBuilder);
          GridBoxInnerMove = subBuilder;
          break;
        }
        case 338: {
          global::ScdFactoryOpRetGridBoxInnerSplit subBuilder = new global::ScdFactoryOpRetGridBoxInnerSplit();
          if (opPayloadCase_ == OpPayloadOneofCase.GridBoxInnerSplit) {
            subBuilder.MergeFrom(GridBoxInnerSplit);
          }
          input.ReadMessage(subBuilder);
          GridBoxInnerSplit = subBuilder;
          break;
        }
        case 346: {
          global::ScdFactoryOpRetMoveItemBagToGridBox subBuilder = new global::ScdFactoryOpRetMoveItemBagToGridBox();
          if (opPayloadCase_ == OpPayloadOneofCase.MoveItemBagToGridBox) {
            subBuilder.MergeFrom(MoveItemBagToGridBox);
          }
          input.ReadMessage(subBuilder);
          MoveItemBagToGridBox = subBuilder;
          break;
        }
        case 354: {
          global::ScdFactoryOpRetMoveItemGridBoxToBag subBuilder = new global::ScdFactoryOpRetMoveItemGridBoxToBag();
          if (opPayloadCase_ == OpPayloadOneofCase.MoveItemGridBoxToBag) {
            subBuilder.MergeFrom(MoveItemGridBoxToBag);
          }
          input.ReadMessage(subBuilder);
          MoveItemGridBoxToBag = subBuilder;
          break;
        }
        case 362: {
          global::ScdFactoryOpRetMoveItemDepotToGridBox subBuilder = new global::ScdFactoryOpRetMoveItemDepotToGridBox();
          if (opPayloadCase_ == OpPayloadOneofCase.MoveItemDepotToGridBox) {
            subBuilder.MergeFrom(MoveItemDepotToGridBox);
          }
          input.ReadMessage(subBuilder);
          MoveItemDepotToGridBox = subBuilder;
          break;
        }
        case 370: {
          global::ScdFactoryOpRetMoveItemGridBoxToDepot subBuilder = new global::ScdFactoryOpRetMoveItemGridBoxToDepot();
          if (opPayloadCase_ == OpPayloadOneofCase.MoveItemGridBoxToDepot) {
            subBuilder.MergeFrom(MoveItemGridBoxToDepot);
          }
          input.ReadMessage(subBuilder);
          MoveItemGridBoxToDepot = subBuilder;
          break;
        }
        case 378: {
          global::ScdFactoryOpRetMoveAllCacheOutItemToBag subBuilder = new global::ScdFactoryOpRetMoveAllCacheOutItemToBag();
          if (opPayloadCase_ == OpPayloadOneofCase.MoveAllCacheOutItemToBag) {
            subBuilder.MergeFrom(MoveAllCacheOutItemToBag);
          }
          input.ReadMessage(subBuilder);
          MoveAllCacheOutItemToBag = subBuilder;
          break;
        }
        case 386: {
          global::ScdFactoryOpRetQuickPutBattery subBuilder = new global::ScdFactoryOpRetQuickPutBattery();
          if (opPayloadCase_ == OpPayloadOneofCase.QuickPutBattery) {
            subBuilder.MergeFrom(QuickPutBattery);
          }
          input.ReadMessage(subBuilder);
          QuickPutBattery = subBuilder;
          break;
        }
        case 410: {
          global::ScdFactoryOpRetChangeProducerMode subBuilder = new global::ScdFactoryOpRetChangeProducerMode();
          if (opPayloadCase_ == OpPayloadOneofCase.ChangeProducerMode) {
            subBuilder.MergeFrom(ChangeProducerMode);
          }
          input.ReadMessage(subBuilder);
          ChangeProducerMode = subBuilder;
          break;
        }
        case 418: {
          global::ScdFactoryOpRetReverseFluidConveyorDirection subBuilder = new global::ScdFactoryOpRetReverseFluidConveyorDirection();
          if (opPayloadCase_ == OpPayloadOneofCase.ReverseFluidConveyorDirection) {
            subBuilder.MergeFrom(ReverseFluidConveyorDirection);
          }
          input.ReadMessage(subBuilder);
          ReverseFluidConveyorDirection = subBuilder;
          break;
        }
        case 426: {
          global::ScdFactoryOpRetDismantleBatch subBuilder = new global::ScdFactoryOpRetDismantleBatch();
          if (opPayloadCase_ == OpPayloadOneofCase.DismantleBatch) {
            subBuilder.MergeFrom(DismantleBatch);
          }
          input.ReadMessage(subBuilder);
          DismantleBatch = subBuilder;
          break;
        }
        case 490: {
          global::ScdFactoryOpRetTakeOutFluidFromLiquidBody subBuilder = new global::ScdFactoryOpRetTakeOutFluidFromLiquidBody();
          if (opPayloadCase_ == OpPayloadOneofCase.TakeOutFluidFromLiquidBody) {
            subBuilder.MergeFrom(TakeOutFluidFromLiquidBody);
          }
          input.ReadMessage(subBuilder);
          TakeOutFluidFromLiquidBody = subBuilder;
          break;
        }
        case 498: {
          global::ScdFactoryOpRetPutInFluidToLiquidBody subBuilder = new global::ScdFactoryOpRetPutInFluidToLiquidBody();
          if (opPayloadCase_ == OpPayloadOneofCase.PutInFluidToLiquidBody) {
            subBuilder.MergeFrom(PutInFluidToLiquidBody);
          }
          input.ReadMessage(subBuilder);
          PutInFluidToLiquidBody = subBuilder;
          break;
        }
        case 506: {
          global::ScdFactoryOpRetFillingFluidComWithBag subBuilder = new global::ScdFactoryOpRetFillingFluidComWithBag();
          if (opPayloadCase_ == OpPayloadOneofCase.FillingFluidComWithBag) {
            subBuilder.MergeFrom(FillingFluidComWithBag);
          }
          input.ReadMessage(subBuilder);
          FillingFluidComWithBag = subBuilder;
          break;
        }
        case 514: {
          global::ScdFactoryOpRetFillingFluidComWithDepot subBuilder = new global::ScdFactoryOpRetFillingFluidComWithDepot();
          if (opPayloadCase_ == OpPayloadOneofCase.FillingFluidComWithDepot) {
            subBuilder.MergeFrom(FillingFluidComWithDepot);
          }
          input.ReadMessage(subBuilder);
          FillingFluidComWithDepot = subBuilder;
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFactoryOpRetPlace : pb::IMessage<ScdFactoryOpRetPlace> {
  private static readonly pb::MessageParser<ScdFactoryOpRetPlace> _parser = new pb::MessageParser<ScdFactoryOpRetPlace>(() => new ScdFactoryOpRetPlace());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactoryOpRetPlace> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[546]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetPlace() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetPlace(ScdFactoryOpRetPlace other) : this() {
    nodeId_ = other.nodeId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetPlace Clone() {
    return new ScdFactoryOpRetPlace(this);
  }

  /// <summary>Field number for the "node_id" field.</summary>
  public const int NodeIdFieldNumber = 1;
  private uint nodeId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint NodeId {
    get { return nodeId_; }
    set {
      nodeId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactoryOpRetPlace);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactoryOpRetPlace other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (NodeId != other.NodeId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (NodeId != 0) hash ^= NodeId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (NodeId != 0) {
      output.WriteRawTag(8);
      output.WriteUInt32(NodeId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (NodeId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(NodeId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactoryOpRetPlace other) {
    if (other == null) {
      return;
    }
    if (other.NodeId != 0) {
      NodeId = other.NodeId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          NodeId = input.ReadUInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFactoryOpRetPlaceConveyor : pb::IMessage<ScdFactoryOpRetPlaceConveyor> {
  private static readonly pb::MessageParser<ScdFactoryOpRetPlaceConveyor> _parser = new pb::MessageParser<ScdFactoryOpRetPlaceConveyor>(() => new ScdFactoryOpRetPlaceConveyor());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactoryOpRetPlaceConveyor> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[547]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetPlaceConveyor() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetPlaceConveyor(ScdFactoryOpRetPlaceConveyor other) : this() {
    nodeId_ = other.nodeId_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetPlaceConveyor Clone() {
    return new ScdFactoryOpRetPlaceConveyor(this);
  }

  /// <summary>Field number for the "node_id" field.</summary>
  public const int NodeIdFieldNumber = 1;
  private static readonly pb::FieldCodec<uint> _repeated_nodeId_codec
      = pb::FieldCodec.ForUInt32(10);
  private readonly pbc::RepeatedField<uint> nodeId_ = new pbc::RepeatedField<uint>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<uint> NodeId {
    get { return nodeId_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactoryOpRetPlaceConveyor);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactoryOpRetPlaceConveyor other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!nodeId_.Equals(other.nodeId_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= nodeId_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    nodeId_.WriteTo(output, _repeated_nodeId_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += nodeId_.CalculateSize(_repeated_nodeId_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactoryOpRetPlaceConveyor other) {
    if (other == null) {
      return;
    }
    nodeId_.Add(other.nodeId_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10:
        case 8: {
          nodeId_.AddEntriesFrom(input, _repeated_nodeId_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFactoryOpRetDismantle : pb::IMessage<ScdFactoryOpRetDismantle> {
  private static readonly pb::MessageParser<ScdFactoryOpRetDismantle> _parser = new pb::MessageParser<ScdFactoryOpRetDismantle>(() => new ScdFactoryOpRetDismantle());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactoryOpRetDismantle> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[548]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetDismantle() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetDismantle(ScdFactoryOpRetDismantle other) : this() {
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetDismantle Clone() {
    return new ScdFactoryOpRetDismantle(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactoryOpRetDismantle);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactoryOpRetDismantle other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactoryOpRetDismantle other) {
    if (other == null) {
      return;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
      }
    }
  }

}

public sealed partial class ScdFactoryOpRetSetSelectTarget : pb::IMessage<ScdFactoryOpRetSetSelectTarget> {
  private static readonly pb::MessageParser<ScdFactoryOpRetSetSelectTarget> _parser = new pb::MessageParser<ScdFactoryOpRetSetSelectTarget>(() => new ScdFactoryOpRetSetSelectTarget());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactoryOpRetSetSelectTarget> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[549]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetSetSelectTarget() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetSetSelectTarget(ScdFactoryOpRetSetSelectTarget other) : this() {
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetSetSelectTarget Clone() {
    return new ScdFactoryOpRetSetSelectTarget(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactoryOpRetSetSelectTarget);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactoryOpRetSetSelectTarget other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactoryOpRetSetSelectTarget other) {
    if (other == null) {
      return;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
      }
    }
  }

}

public sealed partial class ScdFactoryOpRetEnableNode : pb::IMessage<ScdFactoryOpRetEnableNode> {
  private static readonly pb::MessageParser<ScdFactoryOpRetEnableNode> _parser = new pb::MessageParser<ScdFactoryOpRetEnableNode>(() => new ScdFactoryOpRetEnableNode());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactoryOpRetEnableNode> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[550]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetEnableNode() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetEnableNode(ScdFactoryOpRetEnableNode other) : this() {
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetEnableNode Clone() {
    return new ScdFactoryOpRetEnableNode(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactoryOpRetEnableNode);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactoryOpRetEnableNode other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactoryOpRetEnableNode other) {
    if (other == null) {
      return;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
      }
    }
  }

}

public sealed partial class ScdFactoryOpRetMoveNode : pb::IMessage<ScdFactoryOpRetMoveNode> {
  private static readonly pb::MessageParser<ScdFactoryOpRetMoveNode> _parser = new pb::MessageParser<ScdFactoryOpRetMoveNode>(() => new ScdFactoryOpRetMoveNode());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactoryOpRetMoveNode> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[551]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetMoveNode() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetMoveNode(ScdFactoryOpRetMoveNode other) : this() {
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetMoveNode Clone() {
    return new ScdFactoryOpRetMoveNode(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactoryOpRetMoveNode);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactoryOpRetMoveNode other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactoryOpRetMoveNode other) {
    if (other == null) {
      return;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
      }
    }
  }

}

public sealed partial class ScdFactoryOpRetDismantleBoxConveyor : pb::IMessage<ScdFactoryOpRetDismantleBoxConveyor> {
  private static readonly pb::MessageParser<ScdFactoryOpRetDismantleBoxConveyor> _parser = new pb::MessageParser<ScdFactoryOpRetDismantleBoxConveyor>(() => new ScdFactoryOpRetDismantleBoxConveyor());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactoryOpRetDismantleBoxConveyor> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[552]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetDismantleBoxConveyor() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetDismantleBoxConveyor(ScdFactoryOpRetDismantleBoxConveyor other) : this() {
    nodeId_ = other.nodeId_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetDismantleBoxConveyor Clone() {
    return new ScdFactoryOpRetDismantleBoxConveyor(this);
  }

  /// <summary>Field number for the "node_id" field.</summary>
  public const int NodeIdFieldNumber = 1;
  private static readonly pb::FieldCodec<uint> _repeated_nodeId_codec
      = pb::FieldCodec.ForUInt32(10);
  private readonly pbc::RepeatedField<uint> nodeId_ = new pbc::RepeatedField<uint>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<uint> NodeId {
    get { return nodeId_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactoryOpRetDismantleBoxConveyor);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactoryOpRetDismantleBoxConveyor other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!nodeId_.Equals(other.nodeId_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= nodeId_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    nodeId_.WriteTo(output, _repeated_nodeId_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += nodeId_.CalculateSize(_repeated_nodeId_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactoryOpRetDismantleBoxConveyor other) {
    if (other == null) {
      return;
    }
    nodeId_.Add(other.nodeId_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10:
        case 8: {
          nodeId_.AddEntriesFrom(input, _repeated_nodeId_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFactoryOpRetRepairNode : pb::IMessage<ScdFactoryOpRetRepairNode> {
  private static readonly pb::MessageParser<ScdFactoryOpRetRepairNode> _parser = new pb::MessageParser<ScdFactoryOpRetRepairNode>(() => new ScdFactoryOpRetRepairNode());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactoryOpRetRepairNode> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[553]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetRepairNode() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetRepairNode(ScdFactoryOpRetRepairNode other) : this() {
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetRepairNode Clone() {
    return new ScdFactoryOpRetRepairNode(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactoryOpRetRepairNode);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactoryOpRetRepairNode other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactoryOpRetRepairNode other) {
    if (other == null) {
      return;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
      }
    }
  }

}

public sealed partial class ScdFactoryOpRetMoveItemCacheToCache : pb::IMessage<ScdFactoryOpRetMoveItemCacheToCache> {
  private static readonly pb::MessageParser<ScdFactoryOpRetMoveItemCacheToCache> _parser = new pb::MessageParser<ScdFactoryOpRetMoveItemCacheToCache>(() => new ScdFactoryOpRetMoveItemCacheToCache());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactoryOpRetMoveItemCacheToCache> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[554]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetMoveItemCacheToCache() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetMoveItemCacheToCache(ScdFactoryOpRetMoveItemCacheToCache other) : this() {
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetMoveItemCacheToCache Clone() {
    return new ScdFactoryOpRetMoveItemCacheToCache(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactoryOpRetMoveItemCacheToCache);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactoryOpRetMoveItemCacheToCache other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactoryOpRetMoveItemCacheToCache other) {
    if (other == null) {
      return;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
      }
    }
  }

}

public sealed partial class ScdFactoryOpRetMoveItemBagToCache : pb::IMessage<ScdFactoryOpRetMoveItemBagToCache> {
  private static readonly pb::MessageParser<ScdFactoryOpRetMoveItemBagToCache> _parser = new pb::MessageParser<ScdFactoryOpRetMoveItemBagToCache>(() => new ScdFactoryOpRetMoveItemBagToCache());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactoryOpRetMoveItemBagToCache> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[555]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetMoveItemBagToCache() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetMoveItemBagToCache(ScdFactoryOpRetMoveItemBagToCache other) : this() {
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetMoveItemBagToCache Clone() {
    return new ScdFactoryOpRetMoveItemBagToCache(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactoryOpRetMoveItemBagToCache);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactoryOpRetMoveItemBagToCache other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactoryOpRetMoveItemBagToCache other) {
    if (other == null) {
      return;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
      }
    }
  }

}

public sealed partial class ScdFactoryOpRetMoveItemCacheToBag : pb::IMessage<ScdFactoryOpRetMoveItemCacheToBag> {
  private static readonly pb::MessageParser<ScdFactoryOpRetMoveItemCacheToBag> _parser = new pb::MessageParser<ScdFactoryOpRetMoveItemCacheToBag>(() => new ScdFactoryOpRetMoveItemCacheToBag());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactoryOpRetMoveItemCacheToBag> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[556]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetMoveItemCacheToBag() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetMoveItemCacheToBag(ScdFactoryOpRetMoveItemCacheToBag other) : this() {
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetMoveItemCacheToBag Clone() {
    return new ScdFactoryOpRetMoveItemCacheToBag(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactoryOpRetMoveItemCacheToBag);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactoryOpRetMoveItemCacheToBag other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactoryOpRetMoveItemCacheToBag other) {
    if (other == null) {
      return;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
      }
    }
  }

}

public sealed partial class ScdFactoryOpRetMoveItemDepotToCache : pb::IMessage<ScdFactoryOpRetMoveItemDepotToCache> {
  private static readonly pb::MessageParser<ScdFactoryOpRetMoveItemDepotToCache> _parser = new pb::MessageParser<ScdFactoryOpRetMoveItemDepotToCache>(() => new ScdFactoryOpRetMoveItemDepotToCache());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactoryOpRetMoveItemDepotToCache> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[557]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetMoveItemDepotToCache() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetMoveItemDepotToCache(ScdFactoryOpRetMoveItemDepotToCache other) : this() {
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetMoveItemDepotToCache Clone() {
    return new ScdFactoryOpRetMoveItemDepotToCache(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactoryOpRetMoveItemDepotToCache);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactoryOpRetMoveItemDepotToCache other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactoryOpRetMoveItemDepotToCache other) {
    if (other == null) {
      return;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
      }
    }
  }

}

public sealed partial class ScdFactoryOpRetMoveItemCacheToDepot : pb::IMessage<ScdFactoryOpRetMoveItemCacheToDepot> {
  private static readonly pb::MessageParser<ScdFactoryOpRetMoveItemCacheToDepot> _parser = new pb::MessageParser<ScdFactoryOpRetMoveItemCacheToDepot>(() => new ScdFactoryOpRetMoveItemCacheToDepot());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactoryOpRetMoveItemCacheToDepot> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[558]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetMoveItemCacheToDepot() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetMoveItemCacheToDepot(ScdFactoryOpRetMoveItemCacheToDepot other) : this() {
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetMoveItemCacheToDepot Clone() {
    return new ScdFactoryOpRetMoveItemCacheToDepot(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactoryOpRetMoveItemCacheToDepot);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactoryOpRetMoveItemCacheToDepot other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactoryOpRetMoveItemCacheToDepot other) {
    if (other == null) {
      return;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
      }
    }
  }

}

public sealed partial class ScdFactoryOpRetMoveItemConveyorToBag : pb::IMessage<ScdFactoryOpRetMoveItemConveyorToBag> {
  private static readonly pb::MessageParser<ScdFactoryOpRetMoveItemConveyorToBag> _parser = new pb::MessageParser<ScdFactoryOpRetMoveItemConveyorToBag>(() => new ScdFactoryOpRetMoveItemConveyorToBag());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactoryOpRetMoveItemConveyorToBag> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[559]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetMoveItemConveyorToBag() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetMoveItemConveyorToBag(ScdFactoryOpRetMoveItemConveyorToBag other) : this() {
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetMoveItemConveyorToBag Clone() {
    return new ScdFactoryOpRetMoveItemConveyorToBag(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactoryOpRetMoveItemConveyorToBag);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactoryOpRetMoveItemConveyorToBag other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactoryOpRetMoveItemConveyorToBag other) {
    if (other == null) {
      return;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
      }
    }
  }

}

public sealed partial class ScdFactoryOpRetCacheTransportTransfer : pb::IMessage<ScdFactoryOpRetCacheTransportTransfer> {
  private static readonly pb::MessageParser<ScdFactoryOpRetCacheTransportTransfer> _parser = new pb::MessageParser<ScdFactoryOpRetCacheTransportTransfer>(() => new ScdFactoryOpRetCacheTransportTransfer());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactoryOpRetCacheTransportTransfer> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[560]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetCacheTransportTransfer() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetCacheTransportTransfer(ScdFactoryOpRetCacheTransportTransfer other) : this() {
    success_ = other.success_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetCacheTransportTransfer Clone() {
    return new ScdFactoryOpRetCacheTransportTransfer(this);
  }

  /// <summary>Field number for the "success" field.</summary>
  public const int SuccessFieldNumber = 1;
  private bool success_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Success {
    get { return success_; }
    set {
      success_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactoryOpRetCacheTransportTransfer);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactoryOpRetCacheTransportTransfer other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Success != other.Success) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Success != false) hash ^= Success.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Success != false) {
      output.WriteRawTag(8);
      output.WriteBool(Success);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Success != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactoryOpRetCacheTransportTransfer other) {
    if (other == null) {
      return;
    }
    if (other.Success != false) {
      Success = other.Success;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Success = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFactoryOpRetCacheTransportEnable : pb::IMessage<ScdFactoryOpRetCacheTransportEnable> {
  private static readonly pb::MessageParser<ScdFactoryOpRetCacheTransportEnable> _parser = new pb::MessageParser<ScdFactoryOpRetCacheTransportEnable>(() => new ScdFactoryOpRetCacheTransportEnable());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactoryOpRetCacheTransportEnable> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[561]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetCacheTransportEnable() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetCacheTransportEnable(ScdFactoryOpRetCacheTransportEnable other) : this() {
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetCacheTransportEnable Clone() {
    return new ScdFactoryOpRetCacheTransportEnable(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactoryOpRetCacheTransportEnable);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactoryOpRetCacheTransportEnable other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactoryOpRetCacheTransportEnable other) {
    if (other == null) {
      return;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
      }
    }
  }

}

public sealed partial class ScdFactoryOpRetSetTravelPoleDefaultNext : pb::IMessage<ScdFactoryOpRetSetTravelPoleDefaultNext> {
  private static readonly pb::MessageParser<ScdFactoryOpRetSetTravelPoleDefaultNext> _parser = new pb::MessageParser<ScdFactoryOpRetSetTravelPoleDefaultNext>(() => new ScdFactoryOpRetSetTravelPoleDefaultNext());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactoryOpRetSetTravelPoleDefaultNext> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[562]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetSetTravelPoleDefaultNext() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetSetTravelPoleDefaultNext(ScdFactoryOpRetSetTravelPoleDefaultNext other) : this() {
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetSetTravelPoleDefaultNext Clone() {
    return new ScdFactoryOpRetSetTravelPoleDefaultNext(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactoryOpRetSetTravelPoleDefaultNext);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactoryOpRetSetTravelPoleDefaultNext other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactoryOpRetSetTravelPoleDefaultNext other) {
    if (other == null) {
      return;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
      }
    }
  }

}

public sealed partial class ScdFactoryOpRetUseHealTowerPoint : pb::IMessage<ScdFactoryOpRetUseHealTowerPoint> {
  private static readonly pb::MessageParser<ScdFactoryOpRetUseHealTowerPoint> _parser = new pb::MessageParser<ScdFactoryOpRetUseHealTowerPoint>(() => new ScdFactoryOpRetUseHealTowerPoint());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactoryOpRetUseHealTowerPoint> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[563]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetUseHealTowerPoint() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetUseHealTowerPoint(ScdFactoryOpRetUseHealTowerPoint other) : this() {
    usedCount_ = other.usedCount_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetUseHealTowerPoint Clone() {
    return new ScdFactoryOpRetUseHealTowerPoint(this);
  }

  /// <summary>Field number for the "used_count" field.</summary>
  public const int UsedCountFieldNumber = 1;
  private uint usedCount_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint UsedCount {
    get { return usedCount_; }
    set {
      usedCount_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactoryOpRetUseHealTowerPoint);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactoryOpRetUseHealTowerPoint other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (UsedCount != other.UsedCount) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (UsedCount != 0) hash ^= UsedCount.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (UsedCount != 0) {
      output.WriteRawTag(8);
      output.WriteUInt32(UsedCount);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (UsedCount != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(UsedCount);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactoryOpRetUseHealTowerPoint other) {
    if (other == null) {
      return;
    }
    if (other.UsedCount != 0) {
      UsedCount = other.UsedCount;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          UsedCount = input.ReadUInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFactoryOpRetBattleRepair : pb::IMessage<ScdFactoryOpRetBattleRepair> {
  private static readonly pb::MessageParser<ScdFactoryOpRetBattleRepair> _parser = new pb::MessageParser<ScdFactoryOpRetBattleRepair>(() => new ScdFactoryOpRetBattleRepair());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactoryOpRetBattleRepair> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[564]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetBattleRepair() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetBattleRepair(ScdFactoryOpRetBattleRepair other) : this() {
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetBattleRepair Clone() {
    return new ScdFactoryOpRetBattleRepair(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactoryOpRetBattleRepair);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactoryOpRetBattleRepair other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactoryOpRetBattleRepair other) {
    if (other == null) {
      return;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
      }
    }
  }

}

public sealed partial class ScdFactoryOpRetAddConnection : pb::IMessage<ScdFactoryOpRetAddConnection> {
  private static readonly pb::MessageParser<ScdFactoryOpRetAddConnection> _parser = new pb::MessageParser<ScdFactoryOpRetAddConnection>(() => new ScdFactoryOpRetAddConnection());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactoryOpRetAddConnection> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[565]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetAddConnection() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetAddConnection(ScdFactoryOpRetAddConnection other) : this() {
    index_ = other.index_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetAddConnection Clone() {
    return new ScdFactoryOpRetAddConnection(this);
  }

  /// <summary>Field number for the "index" field.</summary>
  public const int IndexFieldNumber = 1;
  private ulong index_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong Index {
    get { return index_; }
    set {
      index_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactoryOpRetAddConnection);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactoryOpRetAddConnection other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Index != other.Index) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Index != 0UL) hash ^= Index.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Index != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(Index);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Index != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(Index);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactoryOpRetAddConnection other) {
    if (other == null) {
      return;
    }
    if (other.Index != 0UL) {
      Index = other.Index;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Index = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFactoryOpRetDelConnection : pb::IMessage<ScdFactoryOpRetDelConnection> {
  private static readonly pb::MessageParser<ScdFactoryOpRetDelConnection> _parser = new pb::MessageParser<ScdFactoryOpRetDelConnection>(() => new ScdFactoryOpRetDelConnection());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactoryOpRetDelConnection> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[566]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetDelConnection() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetDelConnection(ScdFactoryOpRetDelConnection other) : this() {
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetDelConnection Clone() {
    return new ScdFactoryOpRetDelConnection(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactoryOpRetDelConnection);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactoryOpRetDelConnection other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactoryOpRetDelConnection other) {
    if (other == null) {
      return;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
      }
    }
  }

}

public sealed partial class ScdFactoryOpRetGridBoxInnerMove : pb::IMessage<ScdFactoryOpRetGridBoxInnerMove> {
  private static readonly pb::MessageParser<ScdFactoryOpRetGridBoxInnerMove> _parser = new pb::MessageParser<ScdFactoryOpRetGridBoxInnerMove>(() => new ScdFactoryOpRetGridBoxInnerMove());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactoryOpRetGridBoxInnerMove> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[567]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetGridBoxInnerMove() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetGridBoxInnerMove(ScdFactoryOpRetGridBoxInnerMove other) : this() {
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetGridBoxInnerMove Clone() {
    return new ScdFactoryOpRetGridBoxInnerMove(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactoryOpRetGridBoxInnerMove);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactoryOpRetGridBoxInnerMove other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactoryOpRetGridBoxInnerMove other) {
    if (other == null) {
      return;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
      }
    }
  }

}

public sealed partial class ScdFactoryOpRetGridBoxInnerSplit : pb::IMessage<ScdFactoryOpRetGridBoxInnerSplit> {
  private static readonly pb::MessageParser<ScdFactoryOpRetGridBoxInnerSplit> _parser = new pb::MessageParser<ScdFactoryOpRetGridBoxInnerSplit>(() => new ScdFactoryOpRetGridBoxInnerSplit());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactoryOpRetGridBoxInnerSplit> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[568]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetGridBoxInnerSplit() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetGridBoxInnerSplit(ScdFactoryOpRetGridBoxInnerSplit other) : this() {
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetGridBoxInnerSplit Clone() {
    return new ScdFactoryOpRetGridBoxInnerSplit(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactoryOpRetGridBoxInnerSplit);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactoryOpRetGridBoxInnerSplit other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactoryOpRetGridBoxInnerSplit other) {
    if (other == null) {
      return;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
      }
    }
  }

}

public sealed partial class ScdFactoryOpRetMoveItemBagToGridBox : pb::IMessage<ScdFactoryOpRetMoveItemBagToGridBox> {
  private static readonly pb::MessageParser<ScdFactoryOpRetMoveItemBagToGridBox> _parser = new pb::MessageParser<ScdFactoryOpRetMoveItemBagToGridBox>(() => new ScdFactoryOpRetMoveItemBagToGridBox());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactoryOpRetMoveItemBagToGridBox> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[569]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetMoveItemBagToGridBox() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetMoveItemBagToGridBox(ScdFactoryOpRetMoveItemBagToGridBox other) : this() {
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetMoveItemBagToGridBox Clone() {
    return new ScdFactoryOpRetMoveItemBagToGridBox(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactoryOpRetMoveItemBagToGridBox);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactoryOpRetMoveItemBagToGridBox other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactoryOpRetMoveItemBagToGridBox other) {
    if (other == null) {
      return;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
      }
    }
  }

}

public sealed partial class ScdFactoryOpRetMoveItemGridBoxToBag : pb::IMessage<ScdFactoryOpRetMoveItemGridBoxToBag> {
  private static readonly pb::MessageParser<ScdFactoryOpRetMoveItemGridBoxToBag> _parser = new pb::MessageParser<ScdFactoryOpRetMoveItemGridBoxToBag>(() => new ScdFactoryOpRetMoveItemGridBoxToBag());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactoryOpRetMoveItemGridBoxToBag> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[570]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetMoveItemGridBoxToBag() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetMoveItemGridBoxToBag(ScdFactoryOpRetMoveItemGridBoxToBag other) : this() {
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetMoveItemGridBoxToBag Clone() {
    return new ScdFactoryOpRetMoveItemGridBoxToBag(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactoryOpRetMoveItemGridBoxToBag);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactoryOpRetMoveItemGridBoxToBag other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactoryOpRetMoveItemGridBoxToBag other) {
    if (other == null) {
      return;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
      }
    }
  }

}

public sealed partial class ScdFactoryOpRetMoveItemDepotToGridBox : pb::IMessage<ScdFactoryOpRetMoveItemDepotToGridBox> {
  private static readonly pb::MessageParser<ScdFactoryOpRetMoveItemDepotToGridBox> _parser = new pb::MessageParser<ScdFactoryOpRetMoveItemDepotToGridBox>(() => new ScdFactoryOpRetMoveItemDepotToGridBox());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactoryOpRetMoveItemDepotToGridBox> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[571]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetMoveItemDepotToGridBox() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetMoveItemDepotToGridBox(ScdFactoryOpRetMoveItemDepotToGridBox other) : this() {
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetMoveItemDepotToGridBox Clone() {
    return new ScdFactoryOpRetMoveItemDepotToGridBox(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactoryOpRetMoveItemDepotToGridBox);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactoryOpRetMoveItemDepotToGridBox other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactoryOpRetMoveItemDepotToGridBox other) {
    if (other == null) {
      return;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
      }
    }
  }

}

public sealed partial class ScdFactoryOpRetMoveItemGridBoxToDepot : pb::IMessage<ScdFactoryOpRetMoveItemGridBoxToDepot> {
  private static readonly pb::MessageParser<ScdFactoryOpRetMoveItemGridBoxToDepot> _parser = new pb::MessageParser<ScdFactoryOpRetMoveItemGridBoxToDepot>(() => new ScdFactoryOpRetMoveItemGridBoxToDepot());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactoryOpRetMoveItemGridBoxToDepot> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[572]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetMoveItemGridBoxToDepot() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetMoveItemGridBoxToDepot(ScdFactoryOpRetMoveItemGridBoxToDepot other) : this() {
    notAllSuccess_ = other.notAllSuccess_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetMoveItemGridBoxToDepot Clone() {
    return new ScdFactoryOpRetMoveItemGridBoxToDepot(this);
  }

  /// <summary>Field number for the "not_all_success" field.</summary>
  public const int NotAllSuccessFieldNumber = 1;
  private bool notAllSuccess_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool NotAllSuccess {
    get { return notAllSuccess_; }
    set {
      notAllSuccess_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactoryOpRetMoveItemGridBoxToDepot);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactoryOpRetMoveItemGridBoxToDepot other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (NotAllSuccess != other.NotAllSuccess) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (NotAllSuccess != false) hash ^= NotAllSuccess.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (NotAllSuccess != false) {
      output.WriteRawTag(8);
      output.WriteBool(NotAllSuccess);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (NotAllSuccess != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactoryOpRetMoveItemGridBoxToDepot other) {
    if (other == null) {
      return;
    }
    if (other.NotAllSuccess != false) {
      NotAllSuccess = other.NotAllSuccess;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          NotAllSuccess = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFactoryOpRetMoveAllCacheOutItemToBag : pb::IMessage<ScdFactoryOpRetMoveAllCacheOutItemToBag> {
  private static readonly pb::MessageParser<ScdFactoryOpRetMoveAllCacheOutItemToBag> _parser = new pb::MessageParser<ScdFactoryOpRetMoveAllCacheOutItemToBag>(() => new ScdFactoryOpRetMoveAllCacheOutItemToBag());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactoryOpRetMoveAllCacheOutItemToBag> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[573]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetMoveAllCacheOutItemToBag() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetMoveAllCacheOutItemToBag(ScdFactoryOpRetMoveAllCacheOutItemToBag other) : this() {
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetMoveAllCacheOutItemToBag Clone() {
    return new ScdFactoryOpRetMoveAllCacheOutItemToBag(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactoryOpRetMoveAllCacheOutItemToBag);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactoryOpRetMoveAllCacheOutItemToBag other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactoryOpRetMoveAllCacheOutItemToBag other) {
    if (other == null) {
      return;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
      }
    }
  }

}

public sealed partial class ScdFactoryOpRetQuickPutBattery : pb::IMessage<ScdFactoryOpRetQuickPutBattery> {
  private static readonly pb::MessageParser<ScdFactoryOpRetQuickPutBattery> _parser = new pb::MessageParser<ScdFactoryOpRetQuickPutBattery>(() => new ScdFactoryOpRetQuickPutBattery());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactoryOpRetQuickPutBattery> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[574]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetQuickPutBattery() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetQuickPutBattery(ScdFactoryOpRetQuickPutBattery other) : this() {
    costItems_ = other.costItems_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetQuickPutBattery Clone() {
    return new ScdFactoryOpRetQuickPutBattery(this);
  }

  /// <summary>Field number for the "cost_items" field.</summary>
  public const int CostItemsFieldNumber = 1;
  private static readonly pb::FieldCodec<global::ItemBundle> _repeated_costItems_codec
      = pb::FieldCodec.ForMessage(10, global::ItemBundle.Parser);
  private readonly pbc::RepeatedField<global::ItemBundle> costItems_ = new pbc::RepeatedField<global::ItemBundle>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ItemBundle> CostItems {
    get { return costItems_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactoryOpRetQuickPutBattery);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactoryOpRetQuickPutBattery other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!costItems_.Equals(other.costItems_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= costItems_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    costItems_.WriteTo(output, _repeated_costItems_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += costItems_.CalculateSize(_repeated_costItems_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactoryOpRetQuickPutBattery other) {
    if (other == null) {
      return;
    }
    costItems_.Add(other.costItems_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          costItems_.AddEntriesFrom(input, _repeated_costItems_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFactoryOpRetChangeProducerMode : pb::IMessage<ScdFactoryOpRetChangeProducerMode> {
  private static readonly pb::MessageParser<ScdFactoryOpRetChangeProducerMode> _parser = new pb::MessageParser<ScdFactoryOpRetChangeProducerMode>(() => new ScdFactoryOpRetChangeProducerMode());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactoryOpRetChangeProducerMode> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[575]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetChangeProducerMode() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetChangeProducerMode(ScdFactoryOpRetChangeProducerMode other) : this() {
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetChangeProducerMode Clone() {
    return new ScdFactoryOpRetChangeProducerMode(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactoryOpRetChangeProducerMode);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactoryOpRetChangeProducerMode other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactoryOpRetChangeProducerMode other) {
    if (other == null) {
      return;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
      }
    }
  }

}

public sealed partial class ScdFactoryOpRetReverseFluidConveyorDirection : pb::IMessage<ScdFactoryOpRetReverseFluidConveyorDirection> {
  private static readonly pb::MessageParser<ScdFactoryOpRetReverseFluidConveyorDirection> _parser = new pb::MessageParser<ScdFactoryOpRetReverseFluidConveyorDirection>(() => new ScdFactoryOpRetReverseFluidConveyorDirection());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactoryOpRetReverseFluidConveyorDirection> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[576]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetReverseFluidConveyorDirection() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetReverseFluidConveyorDirection(ScdFactoryOpRetReverseFluidConveyorDirection other) : this() {
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetReverseFluidConveyorDirection Clone() {
    return new ScdFactoryOpRetReverseFluidConveyorDirection(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactoryOpRetReverseFluidConveyorDirection);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactoryOpRetReverseFluidConveyorDirection other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactoryOpRetReverseFluidConveyorDirection other) {
    if (other == null) {
      return;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
      }
    }
  }

}

public sealed partial class ScdFactoryOpRetDismantleBatch : pb::IMessage<ScdFactoryOpRetDismantleBatch> {
  private static readonly pb::MessageParser<ScdFactoryOpRetDismantleBatch> _parser = new pb::MessageParser<ScdFactoryOpRetDismantleBatch>(() => new ScdFactoryOpRetDismantleBatch());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactoryOpRetDismantleBatch> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[577]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetDismantleBatch() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetDismantleBatch(ScdFactoryOpRetDismantleBatch other) : this() {
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetDismantleBatch Clone() {
    return new ScdFactoryOpRetDismantleBatch(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactoryOpRetDismantleBatch);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactoryOpRetDismantleBatch other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactoryOpRetDismantleBatch other) {
    if (other == null) {
      return;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
      }
    }
  }

}

public sealed partial class ScdFactoryOpRetTakeOutFluidFromLiquidBody : pb::IMessage<ScdFactoryOpRetTakeOutFluidFromLiquidBody> {
  private static readonly pb::MessageParser<ScdFactoryOpRetTakeOutFluidFromLiquidBody> _parser = new pb::MessageParser<ScdFactoryOpRetTakeOutFluidFromLiquidBody>(() => new ScdFactoryOpRetTakeOutFluidFromLiquidBody());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactoryOpRetTakeOutFluidFromLiquidBody> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[578]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetTakeOutFluidFromLiquidBody() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetTakeOutFluidFromLiquidBody(ScdFactoryOpRetTakeOutFluidFromLiquidBody other) : this() {
    costBottleItems_ = other.costBottleItems_.Clone();
    gainBottleWaterItems_ = other.gainBottleWaterItems_.Clone();
    costLiquid_ = other.costLiquid_;
    ret_ = other.ret_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetTakeOutFluidFromLiquidBody Clone() {
    return new ScdFactoryOpRetTakeOutFluidFromLiquidBody(this);
  }

  /// <summary>Field number for the "cost_bottle_items" field.</summary>
  public const int CostBottleItemsFieldNumber = 1;
  private static readonly pb::FieldCodec<global::ItemBundle> _repeated_costBottleItems_codec
      = pb::FieldCodec.ForMessage(10, global::ItemBundle.Parser);
  private readonly pbc::RepeatedField<global::ItemBundle> costBottleItems_ = new pbc::RepeatedField<global::ItemBundle>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ItemBundle> CostBottleItems {
    get { return costBottleItems_; }
  }

  /// <summary>Field number for the "gain_bottle_water_items" field.</summary>
  public const int GainBottleWaterItemsFieldNumber = 2;
  private static readonly pb::FieldCodec<global::ItemBundle> _repeated_gainBottleWaterItems_codec
      = pb::FieldCodec.ForMessage(18, global::ItemBundle.Parser);
  private readonly pbc::RepeatedField<global::ItemBundle> gainBottleWaterItems_ = new pbc::RepeatedField<global::ItemBundle>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ItemBundle> GainBottleWaterItems {
    get { return gainBottleWaterItems_; }
  }

  /// <summary>Field number for the "cost_liquid" field.</summary>
  public const int CostLiquidFieldNumber = 3;
  private int costLiquid_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CostLiquid {
    get { return costLiquid_; }
    set {
      costLiquid_ = value;
    }
  }

  /// <summary>Field number for the "ret" field.</summary>
  public const int RetFieldNumber = 4;
  private global::RetFluidWithLiquidBody ret_ = 0;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::RetFluidWithLiquidBody Ret {
    get { return ret_; }
    set {
      ret_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactoryOpRetTakeOutFluidFromLiquidBody);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactoryOpRetTakeOutFluidFromLiquidBody other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!costBottleItems_.Equals(other.costBottleItems_)) return false;
    if(!gainBottleWaterItems_.Equals(other.gainBottleWaterItems_)) return false;
    if (CostLiquid != other.CostLiquid) return false;
    if (Ret != other.Ret) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= costBottleItems_.GetHashCode();
    hash ^= gainBottleWaterItems_.GetHashCode();
    if (CostLiquid != 0) hash ^= CostLiquid.GetHashCode();
    if (Ret != 0) hash ^= Ret.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    costBottleItems_.WriteTo(output, _repeated_costBottleItems_codec);
    gainBottleWaterItems_.WriteTo(output, _repeated_gainBottleWaterItems_codec);
    if (CostLiquid != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(CostLiquid);
    }
    if (Ret != 0) {
      output.WriteRawTag(32);
      output.WriteEnum((int) Ret);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += costBottleItems_.CalculateSize(_repeated_costBottleItems_codec);
    size += gainBottleWaterItems_.CalculateSize(_repeated_gainBottleWaterItems_codec);
    if (CostLiquid != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(CostLiquid);
    }
    if (Ret != 0) {
      size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Ret);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactoryOpRetTakeOutFluidFromLiquidBody other) {
    if (other == null) {
      return;
    }
    costBottleItems_.Add(other.costBottleItems_);
    gainBottleWaterItems_.Add(other.gainBottleWaterItems_);
    if (other.CostLiquid != 0) {
      CostLiquid = other.CostLiquid;
    }
    if (other.Ret != 0) {
      Ret = other.Ret;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          costBottleItems_.AddEntriesFrom(input, _repeated_costBottleItems_codec);
          break;
        }
        case 18: {
          gainBottleWaterItems_.AddEntriesFrom(input, _repeated_gainBottleWaterItems_codec);
          break;
        }
        case 24: {
          CostLiquid = input.ReadInt32();
          break;
        }
        case 32: {
          ret_ = (global::RetFluidWithLiquidBody) input.ReadEnum();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFactoryOpRetPutInFluidToLiquidBody : pb::IMessage<ScdFactoryOpRetPutInFluidToLiquidBody> {
  private static readonly pb::MessageParser<ScdFactoryOpRetPutInFluidToLiquidBody> _parser = new pb::MessageParser<ScdFactoryOpRetPutInFluidToLiquidBody>(() => new ScdFactoryOpRetPutInFluidToLiquidBody());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactoryOpRetPutInFluidToLiquidBody> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[579]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetPutInFluidToLiquidBody() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetPutInFluidToLiquidBody(ScdFactoryOpRetPutInFluidToLiquidBody other) : this() {
    costBottleWaterItems_ = other.costBottleWaterItems_.Clone();
    gainBottleItems_ = other.gainBottleItems_.Clone();
    gainLiquid_ = other.gainLiquid_;
    ret_ = other.ret_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetPutInFluidToLiquidBody Clone() {
    return new ScdFactoryOpRetPutInFluidToLiquidBody(this);
  }

  /// <summary>Field number for the "cost_bottle_water_items" field.</summary>
  public const int CostBottleWaterItemsFieldNumber = 1;
  private static readonly pb::FieldCodec<global::ItemBundle> _repeated_costBottleWaterItems_codec
      = pb::FieldCodec.ForMessage(10, global::ItemBundle.Parser);
  private readonly pbc::RepeatedField<global::ItemBundle> costBottleWaterItems_ = new pbc::RepeatedField<global::ItemBundle>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ItemBundle> CostBottleWaterItems {
    get { return costBottleWaterItems_; }
  }

  /// <summary>Field number for the "gain_bottle_items" field.</summary>
  public const int GainBottleItemsFieldNumber = 2;
  private static readonly pb::FieldCodec<global::ItemBundle> _repeated_gainBottleItems_codec
      = pb::FieldCodec.ForMessage(18, global::ItemBundle.Parser);
  private readonly pbc::RepeatedField<global::ItemBundle> gainBottleItems_ = new pbc::RepeatedField<global::ItemBundle>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ItemBundle> GainBottleItems {
    get { return gainBottleItems_; }
  }

  /// <summary>Field number for the "gain_liquid" field.</summary>
  public const int GainLiquidFieldNumber = 3;
  private int gainLiquid_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int GainLiquid {
    get { return gainLiquid_; }
    set {
      gainLiquid_ = value;
    }
  }

  /// <summary>Field number for the "ret" field.</summary>
  public const int RetFieldNumber = 4;
  private global::RetFluidWithLiquidBody ret_ = 0;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::RetFluidWithLiquidBody Ret {
    get { return ret_; }
    set {
      ret_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactoryOpRetPutInFluidToLiquidBody);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactoryOpRetPutInFluidToLiquidBody other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!costBottleWaterItems_.Equals(other.costBottleWaterItems_)) return false;
    if(!gainBottleItems_.Equals(other.gainBottleItems_)) return false;
    if (GainLiquid != other.GainLiquid) return false;
    if (Ret != other.Ret) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= costBottleWaterItems_.GetHashCode();
    hash ^= gainBottleItems_.GetHashCode();
    if (GainLiquid != 0) hash ^= GainLiquid.GetHashCode();
    if (Ret != 0) hash ^= Ret.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    costBottleWaterItems_.WriteTo(output, _repeated_costBottleWaterItems_codec);
    gainBottleItems_.WriteTo(output, _repeated_gainBottleItems_codec);
    if (GainLiquid != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(GainLiquid);
    }
    if (Ret != 0) {
      output.WriteRawTag(32);
      output.WriteEnum((int) Ret);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += costBottleWaterItems_.CalculateSize(_repeated_costBottleWaterItems_codec);
    size += gainBottleItems_.CalculateSize(_repeated_gainBottleItems_codec);
    if (GainLiquid != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(GainLiquid);
    }
    if (Ret != 0) {
      size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Ret);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactoryOpRetPutInFluidToLiquidBody other) {
    if (other == null) {
      return;
    }
    costBottleWaterItems_.Add(other.costBottleWaterItems_);
    gainBottleItems_.Add(other.gainBottleItems_);
    if (other.GainLiquid != 0) {
      GainLiquid = other.GainLiquid;
    }
    if (other.Ret != 0) {
      Ret = other.Ret;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          costBottleWaterItems_.AddEntriesFrom(input, _repeated_costBottleWaterItems_codec);
          break;
        }
        case 18: {
          gainBottleItems_.AddEntriesFrom(input, _repeated_gainBottleItems_codec);
          break;
        }
        case 24: {
          GainLiquid = input.ReadInt32();
          break;
        }
        case 32: {
          ret_ = (global::RetFluidWithLiquidBody) input.ReadEnum();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdFactoryOpRetFillingFluidComWithBag : pb::IMessage<ScdFactoryOpRetFillingFluidComWithBag> {
  private static readonly pb::MessageParser<ScdFactoryOpRetFillingFluidComWithBag> _parser = new pb::MessageParser<ScdFactoryOpRetFillingFluidComWithBag>(() => new ScdFactoryOpRetFillingFluidComWithBag());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactoryOpRetFillingFluidComWithBag> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[580]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetFillingFluidComWithBag() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetFillingFluidComWithBag(ScdFactoryOpRetFillingFluidComWithBag other) : this() {
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetFillingFluidComWithBag Clone() {
    return new ScdFactoryOpRetFillingFluidComWithBag(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactoryOpRetFillingFluidComWithBag);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactoryOpRetFillingFluidComWithBag other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactoryOpRetFillingFluidComWithBag other) {
    if (other == null) {
      return;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
      }
    }
  }

}

public sealed partial class ScdFactoryOpRetFillingFluidComWithDepot : pb::IMessage<ScdFactoryOpRetFillingFluidComWithDepot> {
  private static readonly pb::MessageParser<ScdFactoryOpRetFillingFluidComWithDepot> _parser = new pb::MessageParser<ScdFactoryOpRetFillingFluidComWithDepot>(() => new ScdFactoryOpRetFillingFluidComWithDepot());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdFactoryOpRetFillingFluidComWithDepot> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[581]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetFillingFluidComWithDepot() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetFillingFluidComWithDepot(ScdFactoryOpRetFillingFluidComWithDepot other) : this() {
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdFactoryOpRetFillingFluidComWithDepot Clone() {
    return new ScdFactoryOpRetFillingFluidComWithDepot(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdFactoryOpRetFillingFluidComWithDepot);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdFactoryOpRetFillingFluidComWithDepot other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdFactoryOpRetFillingFluidComWithDepot other) {
    if (other == null) {
      return;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
      }
    }
  }

}

public sealed partial class CsFriendListSync : pb::IMessage<CsFriendListSync> {
  private static readonly pb::MessageParser<CsFriendListSync> _parser = new pb::MessageParser<CsFriendListSync>(() => new CsFriendListSync());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsFriendListSync> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[582]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFriendListSync() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFriendListSync(CsFriendListSync other) : this() {
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFriendListSync Clone() {
    return new CsFriendListSync(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsFriendListSync);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsFriendListSync other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsFriendListSync other) {
    if (other == null) {
      return;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
      }
    }
  }

}

public sealed partial class CsFriendRequestListSync : pb::IMessage<CsFriendRequestListSync> {
  private static readonly pb::MessageParser<CsFriendRequestListSync> _parser = new pb::MessageParser<CsFriendRequestListSync>(() => new CsFriendRequestListSync());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsFriendRequestListSync> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[583]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFriendRequestListSync() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFriendRequestListSync(CsFriendRequestListSync other) : this() {
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFriendRequestListSync Clone() {
    return new CsFriendRequestListSync(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsFriendRequestListSync);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsFriendRequestListSync other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsFriendRequestListSync other) {
    if (other == null) {
      return;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
      }
    }
  }

}

public sealed partial class CsFriendSearchName : pb::IMessage<CsFriendSearchName> {
  private static readonly pb::MessageParser<CsFriendSearchName> _parser = new pb::MessageParser<CsFriendSearchName>(() => new CsFriendSearchName());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsFriendSearchName> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[584]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFriendSearchName() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFriendSearchName(CsFriendSearchName other) : this() {
    name_ = other.name_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFriendSearchName Clone() {
    return new CsFriendSearchName(this);
  }

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

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsFriendSearchName);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsFriendSearchName other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Name != other.Name) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Name.Length != 0) hash ^= Name.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Name.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(Name);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Name.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsFriendSearchName other) {
    if (other == null) {
      return;
    }
    if (other.Name.Length != 0) {
      Name = other.Name;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          Name = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class CsFriendRequestAccept : pb::IMessage<CsFriendRequestAccept> {
  private static readonly pb::MessageParser<CsFriendRequestAccept> _parser = new pb::MessageParser<CsFriendRequestAccept>(() => new CsFriendRequestAccept());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsFriendRequestAccept> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[585]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFriendRequestAccept() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFriendRequestAccept(CsFriendRequestAccept other) : this() {
    roleId_ = other.roleId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFriendRequestAccept Clone() {
    return new CsFriendRequestAccept(this);
  }

  /// <summary>Field number for the "role_id" field.</summary>
  public const int RoleIdFieldNumber = 1;
  private ulong roleId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong RoleId {
    get { return roleId_; }
    set {
      roleId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsFriendRequestAccept);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsFriendRequestAccept other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (RoleId != other.RoleId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (RoleId != 0UL) hash ^= RoleId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (RoleId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(RoleId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (RoleId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(RoleId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsFriendRequestAccept other) {
    if (other == null) {
      return;
    }
    if (other.RoleId != 0UL) {
      RoleId = other.RoleId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          RoleId = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class CsFriendRequestReject : pb::IMessage<CsFriendRequestReject> {
  private static readonly pb::MessageParser<CsFriendRequestReject> _parser = new pb::MessageParser<CsFriendRequestReject>(() => new CsFriendRequestReject());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsFriendRequestReject> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[586]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFriendRequestReject() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFriendRequestReject(CsFriendRequestReject other) : this() {
    roleId_ = other.roleId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFriendRequestReject Clone() {
    return new CsFriendRequestReject(this);
  }

  /// <summary>Field number for the "role_id" field.</summary>
  public const int RoleIdFieldNumber = 1;
  private ulong roleId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong RoleId {
    get { return roleId_; }
    set {
      roleId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsFriendRequestReject);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsFriendRequestReject other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (RoleId != other.RoleId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (RoleId != 0UL) hash ^= RoleId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (RoleId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(RoleId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (RoleId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(RoleId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsFriendRequestReject other) {
    if (other == null) {
      return;
    }
    if (other.RoleId != 0UL) {
      RoleId = other.RoleId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          RoleId = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class CsFriendDelete : pb::IMessage<CsFriendDelete> {
  private static readonly pb::MessageParser<CsFriendDelete> _parser = new pb::MessageParser<CsFriendDelete>(() => new CsFriendDelete());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsFriendDelete> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[587]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFriendDelete() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFriendDelete(CsFriendDelete other) : this() {
    roleId_ = other.roleId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFriendDelete Clone() {
    return new CsFriendDelete(this);
  }

  /// <summary>Field number for the "role_id" field.</summary>
  public const int RoleIdFieldNumber = 1;
  private ulong roleId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong RoleId {
    get { return roleId_; }
    set {
      roleId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsFriendDelete);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsFriendDelete other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (RoleId != other.RoleId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (RoleId != 0UL) hash ^= RoleId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (RoleId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(RoleId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (RoleId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(RoleId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsFriendDelete other) {
    if (other == null) {
      return;
    }
    if (other.RoleId != 0UL) {
      RoleId = other.RoleId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          RoleId = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class CsFriendRequestSubmit : pb::IMessage<CsFriendRequestSubmit> {
  private static readonly pb::MessageParser<CsFriendRequestSubmit> _parser = new pb::MessageParser<CsFriendRequestSubmit>(() => new CsFriendRequestSubmit());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsFriendRequestSubmit> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[588]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFriendRequestSubmit() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFriendRequestSubmit(CsFriendRequestSubmit other) : this() {
    roleId_ = other.roleId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFriendRequestSubmit Clone() {
    return new CsFriendRequestSubmit(this);
  }

  /// <summary>Field number for the "role_id" field.</summary>
  public const int RoleIdFieldNumber = 1;
  private ulong roleId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong RoleId {
    get { return roleId_; }
    set {
      roleId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsFriendRequestSubmit);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsFriendRequestSubmit other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (RoleId != other.RoleId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (RoleId != 0UL) hash ^= RoleId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (RoleId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(RoleId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (RoleId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(RoleId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsFriendRequestSubmit other) {
    if (other == null) {
      return;
    }
    if (other.RoleId != 0UL) {
      RoleId = other.RoleId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          RoleId = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class ScFriendListSync : pb::IMessage<ScFriendListSync> {
  private static readonly pb::MessageParser<ScFriendListSync> _parser = new pb::MessageParser<ScFriendListSync>(() => new ScFriendListSync());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScFriendListSync> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[589]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFriendListSync() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFriendListSync(ScFriendListSync other) : this() {
    friendList_ = other.friendList_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFriendListSync Clone() {
    return new ScFriendListSync(this);
  }

  /// <summary>Field number for the "friend_list" field.</summary>
  public const int FriendListFieldNumber = 1;
  private static readonly pb::FieldCodec<global::FriendFriendInfo> _repeated_friendList_codec
      = pb::FieldCodec.ForMessage(10, global::FriendFriendInfo.Parser);
  private readonly pbc::RepeatedField<global::FriendFriendInfo> friendList_ = new pbc::RepeatedField<global::FriendFriendInfo>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::FriendFriendInfo> FriendList {
    get { return friendList_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScFriendListSync);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScFriendListSync other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!friendList_.Equals(other.friendList_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= friendList_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    friendList_.WriteTo(output, _repeated_friendList_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += friendList_.CalculateSize(_repeated_friendList_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScFriendListSync other) {
    if (other == null) {
      return;
    }
    friendList_.Add(other.friendList_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          friendList_.AddEntriesFrom(input, _repeated_friendList_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScFriendRequestListSync : pb::IMessage<ScFriendRequestListSync> {
  private static readonly pb::MessageParser<ScFriendRequestListSync> _parser = new pb::MessageParser<ScFriendRequestListSync>(() => new ScFriendRequestListSync());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScFriendRequestListSync> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[590]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFriendRequestListSync() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFriendRequestListSync(ScFriendRequestListSync other) : this() {
    friendRequestList_ = other.friendRequestList_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFriendRequestListSync Clone() {
    return new ScFriendRequestListSync(this);
  }

  /// <summary>Field number for the "friend_request_list" field.</summary>
  public const int FriendRequestListFieldNumber = 1;
  private static readonly pb::FieldCodec<global::FriendRequestInfo> _repeated_friendRequestList_codec
      = pb::FieldCodec.ForMessage(10, global::FriendRequestInfo.Parser);
  private readonly pbc::RepeatedField<global::FriendRequestInfo> friendRequestList_ = new pbc::RepeatedField<global::FriendRequestInfo>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::FriendRequestInfo> FriendRequestList {
    get { return friendRequestList_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScFriendRequestListSync);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScFriendRequestListSync other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!friendRequestList_.Equals(other.friendRequestList_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= friendRequestList_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    friendRequestList_.WriteTo(output, _repeated_friendRequestList_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += friendRequestList_.CalculateSize(_repeated_friendRequestList_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScFriendRequestListSync other) {
    if (other == null) {
      return;
    }
    friendRequestList_.Add(other.friendRequestList_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          friendRequestList_.AddEntriesFrom(input, _repeated_friendRequestList_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScFriendSearchName : pb::IMessage<ScFriendSearchName> {
  private static readonly pb::MessageParser<ScFriendSearchName> _parser = new pb::MessageParser<ScFriendSearchName>(() => new ScFriendSearchName());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScFriendSearchName> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[591]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFriendSearchName() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFriendSearchName(ScFriendSearchName other) : this() {
    strangerList_ = other.strangerList_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFriendSearchName Clone() {
    return new ScFriendSearchName(this);
  }

  /// <summary>Field number for the "stranger_list" field.</summary>
  public const int StrangerListFieldNumber = 1;
  private static readonly pb::FieldCodec<global::FriendStrangerUserInfo> _repeated_strangerList_codec
      = pb::FieldCodec.ForMessage(10, global::FriendStrangerUserInfo.Parser);
  private readonly pbc::RepeatedField<global::FriendStrangerUserInfo> strangerList_ = new pbc::RepeatedField<global::FriendStrangerUserInfo>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::FriendStrangerUserInfo> StrangerList {
    get { return strangerList_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScFriendSearchName);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScFriendSearchName other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!strangerList_.Equals(other.strangerList_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= strangerList_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    strangerList_.WriteTo(output, _repeated_strangerList_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += strangerList_.CalculateSize(_repeated_strangerList_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScFriendSearchName other) {
    if (other == null) {
      return;
    }
    strangerList_.Add(other.strangerList_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          strangerList_.AddEntriesFrom(input, _repeated_strangerList_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScFriendRequestAccept : pb::IMessage<ScFriendRequestAccept> {
  private static readonly pb::MessageParser<ScFriendRequestAccept> _parser = new pb::MessageParser<ScFriendRequestAccept>(() => new ScFriendRequestAccept());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScFriendRequestAccept> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[592]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFriendRequestAccept() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFriendRequestAccept(ScFriendRequestAccept other) : this() {
    roleId_ = other.roleId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFriendRequestAccept Clone() {
    return new ScFriendRequestAccept(this);
  }

  /// <summary>Field number for the "role_id" field.</summary>
  public const int RoleIdFieldNumber = 1;
  private ulong roleId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong RoleId {
    get { return roleId_; }
    set {
      roleId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScFriendRequestAccept);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScFriendRequestAccept other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (RoleId != other.RoleId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (RoleId != 0UL) hash ^= RoleId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (RoleId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(RoleId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (RoleId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(RoleId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScFriendRequestAccept other) {
    if (other == null) {
      return;
    }
    if (other.RoleId != 0UL) {
      RoleId = other.RoleId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          RoleId = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class ScFriendRequestReject : pb::IMessage<ScFriendRequestReject> {
  private static readonly pb::MessageParser<ScFriendRequestReject> _parser = new pb::MessageParser<ScFriendRequestReject>(() => new ScFriendRequestReject());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScFriendRequestReject> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[593]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFriendRequestReject() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFriendRequestReject(ScFriendRequestReject other) : this() {
    roleId_ = other.roleId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFriendRequestReject Clone() {
    return new ScFriendRequestReject(this);
  }

  /// <summary>Field number for the "role_id" field.</summary>
  public const int RoleIdFieldNumber = 1;
  private ulong roleId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong RoleId {
    get { return roleId_; }
    set {
      roleId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScFriendRequestReject);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScFriendRequestReject other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (RoleId != other.RoleId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (RoleId != 0UL) hash ^= RoleId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (RoleId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(RoleId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (RoleId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(RoleId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScFriendRequestReject other) {
    if (other == null) {
      return;
    }
    if (other.RoleId != 0UL) {
      RoleId = other.RoleId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          RoleId = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class ScFriendDelete : pb::IMessage<ScFriendDelete> {
  private static readonly pb::MessageParser<ScFriendDelete> _parser = new pb::MessageParser<ScFriendDelete>(() => new ScFriendDelete());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScFriendDelete> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[594]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFriendDelete() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFriendDelete(ScFriendDelete other) : this() {
    roleId_ = other.roleId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFriendDelete Clone() {
    return new ScFriendDelete(this);
  }

  /// <summary>Field number for the "role_id" field.</summary>
  public const int RoleIdFieldNumber = 1;
  private ulong roleId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong RoleId {
    get { return roleId_; }
    set {
      roleId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScFriendDelete);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScFriendDelete other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (RoleId != other.RoleId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (RoleId != 0UL) hash ^= RoleId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (RoleId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(RoleId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (RoleId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(RoleId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScFriendDelete other) {
    if (other == null) {
      return;
    }
    if (other.RoleId != 0UL) {
      RoleId = other.RoleId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          RoleId = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class ScFriendRequestSubmit : pb::IMessage<ScFriendRequestSubmit> {
  private static readonly pb::MessageParser<ScFriendRequestSubmit> _parser = new pb::MessageParser<ScFriendRequestSubmit>(() => new ScFriendRequestSubmit());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScFriendRequestSubmit> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[595]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFriendRequestSubmit() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFriendRequestSubmit(ScFriendRequestSubmit other) : this() {
    roleId_ = other.roleId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFriendRequestSubmit Clone() {
    return new ScFriendRequestSubmit(this);
  }

  /// <summary>Field number for the "role_id" field.</summary>
  public const int RoleIdFieldNumber = 1;
  private ulong roleId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong RoleId {
    get { return roleId_; }
    set {
      roleId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScFriendRequestSubmit);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScFriendRequestSubmit other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (RoleId != other.RoleId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (RoleId != 0UL) hash ^= RoleId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (RoleId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(RoleId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (RoleId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(RoleId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScFriendRequestSubmit other) {
    if (other == null) {
      return;
    }
    if (other.RoleId != 0UL) {
      RoleId = other.RoleId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          RoleId = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class ScFriendRequestAddNotify : pb::IMessage<ScFriendRequestAddNotify> {
  private static readonly pb::MessageParser<ScFriendRequestAddNotify> _parser = new pb::MessageParser<ScFriendRequestAddNotify>(() => new ScFriendRequestAddNotify());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScFriendRequestAddNotify> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[596]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFriendRequestAddNotify() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFriendRequestAddNotify(ScFriendRequestAddNotify other) : this() {
    friendRequestInfo_ = other.friendRequestInfo_ != null ? other.friendRequestInfo_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFriendRequestAddNotify Clone() {
    return new ScFriendRequestAddNotify(this);
  }

  /// <summary>Field number for the "friend_request_info" field.</summary>
  public const int FriendRequestInfoFieldNumber = 1;
  private global::FriendRequestInfo friendRequestInfo_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::FriendRequestInfo FriendRequestInfo {
    get { return friendRequestInfo_; }
    set {
      friendRequestInfo_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScFriendRequestAddNotify);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScFriendRequestAddNotify other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!object.Equals(FriendRequestInfo, other.FriendRequestInfo)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (friendRequestInfo_ != null) hash ^= FriendRequestInfo.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (friendRequestInfo_ != null) {
      output.WriteRawTag(10);
      output.WriteMessage(FriendRequestInfo);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (friendRequestInfo_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(FriendRequestInfo);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScFriendRequestAddNotify other) {
    if (other == null) {
      return;
    }
    if (other.friendRequestInfo_ != null) {
      if (friendRequestInfo_ == null) {
        friendRequestInfo_ = new global::FriendRequestInfo();
      }
      FriendRequestInfo.MergeFrom(other.FriendRequestInfo);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          if (friendRequestInfo_ == null) {
            friendRequestInfo_ = new global::FriendRequestInfo();
          }
          input.ReadMessage(friendRequestInfo_);
          break;
        }
      }
    }
  }

}

public sealed partial class ScFriendAddNotify : pb::IMessage<ScFriendAddNotify> {
  private static readonly pb::MessageParser<ScFriendAddNotify> _parser = new pb::MessageParser<ScFriendAddNotify>(() => new ScFriendAddNotify());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScFriendAddNotify> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[597]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFriendAddNotify() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFriendAddNotify(ScFriendAddNotify other) : this() {
    friendInfo_ = other.friendInfo_ != null ? other.friendInfo_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFriendAddNotify Clone() {
    return new ScFriendAddNotify(this);
  }

  /// <summary>Field number for the "friend_info" field.</summary>
  public const int FriendInfoFieldNumber = 1;
  private global::FriendFriendInfo friendInfo_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::FriendFriendInfo FriendInfo {
    get { return friendInfo_; }
    set {
      friendInfo_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScFriendAddNotify);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScFriendAddNotify other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!object.Equals(FriendInfo, other.FriendInfo)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (friendInfo_ != null) hash ^= FriendInfo.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (friendInfo_ != null) {
      output.WriteRawTag(10);
      output.WriteMessage(FriendInfo);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (friendInfo_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(FriendInfo);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScFriendAddNotify other) {
    if (other == null) {
      return;
    }
    if (other.friendInfo_ != null) {
      if (friendInfo_ == null) {
        friendInfo_ = new global::FriendFriendInfo();
      }
      FriendInfo.MergeFrom(other.FriendInfo);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          if (friendInfo_ == null) {
            friendInfo_ = new global::FriendFriendInfo();
          }
          input.ReadMessage(friendInfo_);
          break;
        }
      }
    }
  }

}

public sealed partial class CsGachaSinglePullReq : pb::IMessage<CsGachaSinglePullReq> {
  private static readonly pb::MessageParser<CsGachaSinglePullReq> _parser = new pb::MessageParser<CsGachaSinglePullReq>(() => new CsGachaSinglePullReq());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsGachaSinglePullReq> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[598]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsGachaSinglePullReq() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsGachaSinglePullReq(CsGachaSinglePullReq other) : this() {
    gachaType_ = other.gachaType_;
    gachaPoolId_ = other.gachaPoolId_;
    pullCosts_ = other.pullCosts_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsGachaSinglePullReq Clone() {
    return new CsGachaSinglePullReq(this);
  }

  /// <summary>Field number for the "gacha_type" field.</summary>
  public const int GachaTypeFieldNumber = 1;
  private int gachaType_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int GachaType {
    get { return gachaType_; }
    set {
      gachaType_ = value;
    }
  }

  /// <summary>Field number for the "gacha_pool_id" field.</summary>
  public const int GachaPoolIdFieldNumber = 2;
  private string gachaPoolId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string GachaPoolId {
    get { return gachaPoolId_; }
    set {
      gachaPoolId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "pull_costs" field.</summary>
  public const int PullCostsFieldNumber = 3;
  private static readonly pbc::MapField<string, int>.Codec _map_pullCosts_codec
      = new pbc::MapField<string, int>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForInt32(16), 26);
  private readonly pbc::MapField<string, int> pullCosts_ = new pbc::MapField<string, int>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<string, int> PullCosts {
    get { return pullCosts_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsGachaSinglePullReq);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsGachaSinglePullReq other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (GachaType != other.GachaType) return false;
    if (GachaPoolId != other.GachaPoolId) return false;
    if (!PullCosts.Equals(other.PullCosts)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (GachaType != 0) hash ^= GachaType.GetHashCode();
    if (GachaPoolId.Length != 0) hash ^= GachaPoolId.GetHashCode();
    hash ^= PullCosts.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (GachaType != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(GachaType);
    }
    if (GachaPoolId.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(GachaPoolId);
    }
    pullCosts_.WriteTo(output, _map_pullCosts_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (GachaType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(GachaType);
    }
    if (GachaPoolId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(GachaPoolId);
    }
    size += pullCosts_.CalculateSize(_map_pullCosts_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsGachaSinglePullReq other) {
    if (other == null) {
      return;
    }
    if (other.GachaType != 0) {
      GachaType = other.GachaType;
    }
    if (other.GachaPoolId.Length != 0) {
      GachaPoolId = other.GachaPoolId;
    }
    pullCosts_.Add(other.pullCosts_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          GachaType = input.ReadInt32();
          break;
        }
        case 18: {
          GachaPoolId = input.ReadString();
          break;
        }
        case 26: {
          pullCosts_.AddEntriesFrom(input, _map_pullCosts_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class CsGachaTenPullReq : pb::IMessage<CsGachaTenPullReq> {
  private static readonly pb::MessageParser<CsGachaTenPullReq> _parser = new pb::MessageParser<CsGachaTenPullReq>(() => new CsGachaTenPullReq());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsGachaTenPullReq> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[599]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsGachaTenPullReq() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsGachaTenPullReq(CsGachaTenPullReq other) : this() {
    gachaType_ = other.gachaType_;
    gachaPoolId_ = other.gachaPoolId_;
    pullCosts_ = other.pullCosts_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsGachaTenPullReq Clone() {
    return new CsGachaTenPullReq(this);
  }

  /// <summary>Field number for the "gacha_type" field.</summary>
  public const int GachaTypeFieldNumber = 1;
  private int gachaType_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int GachaType {
    get { return gachaType_; }
    set {
      gachaType_ = value;
    }
  }

  /// <summary>Field number for the "gacha_pool_id" field.</summary>
  public const int GachaPoolIdFieldNumber = 2;
  private string gachaPoolId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string GachaPoolId {
    get { return gachaPoolId_; }
    set {
      gachaPoolId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "pull_costs" field.</summary>
  public const int PullCostsFieldNumber = 3;
  private static readonly pbc::MapField<string, int>.Codec _map_pullCosts_codec
      = new pbc::MapField<string, int>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForInt32(16), 26);
  private readonly pbc::MapField<string, int> pullCosts_ = new pbc::MapField<string, int>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<string, int> PullCosts {
    get { return pullCosts_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsGachaTenPullReq);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsGachaTenPullReq other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (GachaType != other.GachaType) return false;
    if (GachaPoolId != other.GachaPoolId) return false;
    if (!PullCosts.Equals(other.PullCosts)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (GachaType != 0) hash ^= GachaType.GetHashCode();
    if (GachaPoolId.Length != 0) hash ^= GachaPoolId.GetHashCode();
    hash ^= PullCosts.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (GachaType != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(GachaType);
    }
    if (GachaPoolId.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(GachaPoolId);
    }
    pullCosts_.WriteTo(output, _map_pullCosts_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (GachaType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(GachaType);
    }
    if (GachaPoolId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(GachaPoolId);
    }
    size += pullCosts_.CalculateSize(_map_pullCosts_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsGachaTenPullReq other) {
    if (other == null) {
      return;
    }
    if (other.GachaType != 0) {
      GachaType = other.GachaType;
    }
    if (other.GachaPoolId.Length != 0) {
      GachaPoolId = other.GachaPoolId;
    }
    pullCosts_.Add(other.pullCosts_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          GachaType = input.ReadInt32();
          break;
        }
        case 18: {
          GachaPoolId = input.ReadString();
          break;
        }
        case 26: {
          pullCosts_.AddEntriesFrom(input, _map_pullCosts_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScdGachaPoolInfo : pb::IMessage<ScdGachaPoolInfo> {
  private static readonly pb::MessageParser<ScdGachaPoolInfo> _parser = new pb::MessageParser<ScdGachaPoolInfo>(() => new ScdGachaPoolInfo());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdGachaPoolInfo> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[600]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdGachaPoolInfo() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdGachaPoolInfo(ScdGachaPoolInfo other) : this() {
    gachaPoolId_ = other.gachaPoolId_;
    openTime_ = other.openTime_;
    closeTime_ = other.closeTime_;
    isClosed_ = other.isClosed_;
    publicCloseReason_ = other.publicCloseReason_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdGachaPoolInfo Clone() {
    return new ScdGachaPoolInfo(this);
  }

  /// <summary>Field number for the "gacha_pool_id" field.</summary>
  public const int GachaPoolIdFieldNumber = 1;
  private string gachaPoolId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string GachaPoolId {
    get { return gachaPoolId_; }
    set {
      gachaPoolId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "open_time" field.</summary>
  public const int OpenTimeFieldNumber = 2;
  private long openTime_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long OpenTime {
    get { return openTime_; }
    set {
      openTime_ = value;
    }
  }

  /// <summary>Field number for the "close_time" field.</summary>
  public const int CloseTimeFieldNumber = 3;
  private long closeTime_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long CloseTime {
    get { return closeTime_; }
    set {
      closeTime_ = value;
    }
  }

  /// <summary>Field number for the "is_closed" field.</summary>
  public const int IsClosedFieldNumber = 4;
  private bool isClosed_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool IsClosed {
    get { return isClosed_; }
    set {
      isClosed_ = value;
    }
  }

  /// <summary>Field number for the "public_close_reason" field.</summary>
  public const int PublicCloseReasonFieldNumber = 5;
  private int publicCloseReason_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int PublicCloseReason {
    get { return publicCloseReason_; }
    set {
      publicCloseReason_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdGachaPoolInfo);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdGachaPoolInfo other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (GachaPoolId != other.GachaPoolId) return false;
    if (OpenTime != other.OpenTime) return false;
    if (CloseTime != other.CloseTime) return false;
    if (IsClosed != other.IsClosed) return false;
    if (PublicCloseReason != other.PublicCloseReason) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (GachaPoolId.Length != 0) hash ^= GachaPoolId.GetHashCode();
    if (OpenTime != 0L) hash ^= OpenTime.GetHashCode();
    if (CloseTime != 0L) hash ^= CloseTime.GetHashCode();
    if (IsClosed != false) hash ^= IsClosed.GetHashCode();
    if (PublicCloseReason != 0) hash ^= PublicCloseReason.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (GachaPoolId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(GachaPoolId);
    }
    if (OpenTime != 0L) {
      output.WriteRawTag(16);
      output.WriteInt64(OpenTime);
    }
    if (CloseTime != 0L) {
      output.WriteRawTag(24);
      output.WriteInt64(CloseTime);
    }
    if (IsClosed != false) {
      output.WriteRawTag(32);
      output.WriteBool(IsClosed);
    }
    if (PublicCloseReason != 0) {
      output.WriteRawTag(40);
      output.WriteInt32(PublicCloseReason);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (GachaPoolId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(GachaPoolId);
    }
    if (OpenTime != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(OpenTime);
    }
    if (CloseTime != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(CloseTime);
    }
    if (IsClosed != false) {
      size += 1 + 1;
    }
    if (PublicCloseReason != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(PublicCloseReason);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdGachaPoolInfo other) {
    if (other == null) {
      return;
    }
    if (other.GachaPoolId.Length != 0) {
      GachaPoolId = other.GachaPoolId;
    }
    if (other.OpenTime != 0L) {
      OpenTime = other.OpenTime;
    }
    if (other.CloseTime != 0L) {
      CloseTime = other.CloseTime;
    }
    if (other.IsClosed != false) {
      IsClosed = other.IsClosed;
    }
    if (other.PublicCloseReason != 0) {
      PublicCloseReason = other.PublicCloseReason;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          GachaPoolId = input.ReadString();
          break;
        }
        case 16: {
          OpenTime = input.ReadInt64();
          break;
        }
        case 24: {
          CloseTime = input.ReadInt64();
          break;
        }
        case 32: {
          IsClosed = input.ReadBool();
          break;
        }
        case 40: {
          PublicCloseReason = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdGachaPoolRoleData : pb::IMessage<ScdGachaPoolRoleData> {
  private static readonly pb::MessageParser<ScdGachaPoolRoleData> _parser = new pb::MessageParser<ScdGachaPoolRoleData>(() => new ScdGachaPoolRoleData());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdGachaPoolRoleData> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[601]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdGachaPoolRoleData() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdGachaPoolRoleData(ScdGachaPoolRoleData other) : this() {
    gachaPoolId_ = other.gachaPoolId_;
    isClosed_ = other.isClosed_;
    personalCloseReason_ = other.personalCloseReason_;
    totalPullCount_ = other.totalPullCount_;
    hardGuaranteeProgress_ = other.hardGuaranteeProgress_;
    softGuaranteeProgress_ = other.softGuaranteeProgress_;
    star5SoftGuaranteeProgress_ = other.star5SoftGuaranteeProgress_;
    upGotCount_ = other.upGotCount_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdGachaPoolRoleData Clone() {
    return new ScdGachaPoolRoleData(this);
  }

  /// <summary>Field number for the "gacha_pool_id" field.</summary>
  public const int GachaPoolIdFieldNumber = 1;
  private string gachaPoolId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string GachaPoolId {
    get { return gachaPoolId_; }
    set {
      gachaPoolId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "is_closed" field.</summary>
  public const int IsClosedFieldNumber = 2;
  private bool isClosed_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool IsClosed {
    get { return isClosed_; }
    set {
      isClosed_ = value;
    }
  }

  /// <summary>Field number for the "personal_close_reason" field.</summary>
  public const int PersonalCloseReasonFieldNumber = 3;
  private int personalCloseReason_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int PersonalCloseReason {
    get { return personalCloseReason_; }
    set {
      personalCloseReason_ = value;
    }
  }

  /// <summary>Field number for the "total_pull_count" field.</summary>
  public const int TotalPullCountFieldNumber = 4;
  private int totalPullCount_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int TotalPullCount {
    get { return totalPullCount_; }
    set {
      totalPullCount_ = value;
    }
  }

  /// <summary>Field number for the "hard_guarantee_progress" field.</summary>
  public const int HardGuaranteeProgressFieldNumber = 5;
  private int hardGuaranteeProgress_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int HardGuaranteeProgress {
    get { return hardGuaranteeProgress_; }
    set {
      hardGuaranteeProgress_ = value;
    }
  }

  /// <summary>Field number for the "soft_guarantee_progress" field.</summary>
  public const int SoftGuaranteeProgressFieldNumber = 6;
  private int softGuaranteeProgress_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int SoftGuaranteeProgress {
    get { return softGuaranteeProgress_; }
    set {
      softGuaranteeProgress_ = value;
    }
  }

  /// <summary>Field number for the "star5_soft_guarantee_progress" field.</summary>
  public const int Star5SoftGuaranteeProgressFieldNumber = 7;
  private int star5SoftGuaranteeProgress_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Star5SoftGuaranteeProgress {
    get { return star5SoftGuaranteeProgress_; }
    set {
      star5SoftGuaranteeProgress_ = value;
    }
  }

  /// <summary>Field number for the "up_got_count" field.</summary>
  public const int UpGotCountFieldNumber = 8;
  private int upGotCount_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int UpGotCount {
    get { return upGotCount_; }
    set {
      upGotCount_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdGachaPoolRoleData);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdGachaPoolRoleData other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (GachaPoolId != other.GachaPoolId) return false;
    if (IsClosed != other.IsClosed) return false;
    if (PersonalCloseReason != other.PersonalCloseReason) return false;
    if (TotalPullCount != other.TotalPullCount) return false;
    if (HardGuaranteeProgress != other.HardGuaranteeProgress) return false;
    if (SoftGuaranteeProgress != other.SoftGuaranteeProgress) return false;
    if (Star5SoftGuaranteeProgress != other.Star5SoftGuaranteeProgress) return false;
    if (UpGotCount != other.UpGotCount) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (GachaPoolId.Length != 0) hash ^= GachaPoolId.GetHashCode();
    if (IsClosed != false) hash ^= IsClosed.GetHashCode();
    if (PersonalCloseReason != 0) hash ^= PersonalCloseReason.GetHashCode();
    if (TotalPullCount != 0) hash ^= TotalPullCount.GetHashCode();
    if (HardGuaranteeProgress != 0) hash ^= HardGuaranteeProgress.GetHashCode();
    if (SoftGuaranteeProgress != 0) hash ^= SoftGuaranteeProgress.GetHashCode();
    if (Star5SoftGuaranteeProgress != 0) hash ^= Star5SoftGuaranteeProgress.GetHashCode();
    if (UpGotCount != 0) hash ^= UpGotCount.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (GachaPoolId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(GachaPoolId);
    }
    if (IsClosed != false) {
      output.WriteRawTag(16);
      output.WriteBool(IsClosed);
    }
    if (PersonalCloseReason != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(PersonalCloseReason);
    }
    if (TotalPullCount != 0) {
      output.WriteRawTag(32);
      output.WriteInt32(TotalPullCount);
    }
    if (HardGuaranteeProgress != 0) {
      output.WriteRawTag(40);
      output.WriteInt32(HardGuaranteeProgress);
    }
    if (SoftGuaranteeProgress != 0) {
      output.WriteRawTag(48);
      output.WriteInt32(SoftGuaranteeProgress);
    }
    if (Star5SoftGuaranteeProgress != 0) {
      output.WriteRawTag(56);
      output.WriteInt32(Star5SoftGuaranteeProgress);
    }
    if (UpGotCount != 0) {
      output.WriteRawTag(64);
      output.WriteInt32(UpGotCount);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (GachaPoolId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(GachaPoolId);
    }
    if (IsClosed != false) {
      size += 1 + 1;
    }
    if (PersonalCloseReason != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(PersonalCloseReason);
    }
    if (TotalPullCount != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(TotalPullCount);
    }
    if (HardGuaranteeProgress != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(HardGuaranteeProgress);
    }
    if (SoftGuaranteeProgress != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(SoftGuaranteeProgress);
    }
    if (Star5SoftGuaranteeProgress != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Star5SoftGuaranteeProgress);
    }
    if (UpGotCount != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(UpGotCount);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdGachaPoolRoleData other) {
    if (other == null) {
      return;
    }
    if (other.GachaPoolId.Length != 0) {
      GachaPoolId = other.GachaPoolId;
    }
    if (other.IsClosed != false) {
      IsClosed = other.IsClosed;
    }
    if (other.PersonalCloseReason != 0) {
      PersonalCloseReason = other.PersonalCloseReason;
    }
    if (other.TotalPullCount != 0) {
      TotalPullCount = other.TotalPullCount;
    }
    if (other.HardGuaranteeProgress != 0) {
      HardGuaranteeProgress = other.HardGuaranteeProgress;
    }
    if (other.SoftGuaranteeProgress != 0) {
      SoftGuaranteeProgress = other.SoftGuaranteeProgress;
    }
    if (other.Star5SoftGuaranteeProgress != 0) {
      Star5SoftGuaranteeProgress = other.Star5SoftGuaranteeProgress;
    }
    if (other.UpGotCount != 0) {
      UpGotCount = other.UpGotCount;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          GachaPoolId = input.ReadString();
          break;
        }
        case 16: {
          IsClosed = input.ReadBool();
          break;
        }
        case 24: {
          PersonalCloseReason = input.ReadInt32();
          break;
        }
        case 32: {
          TotalPullCount = input.ReadInt32();
          break;
        }
        case 40: {
          HardGuaranteeProgress = input.ReadInt32();
          break;
        }
        case 48: {
          SoftGuaranteeProgress = input.ReadInt32();
          break;
        }
        case 56: {
          Star5SoftGuaranteeProgress = input.ReadInt32();
          break;
        }
        case 64: {
          UpGotCount = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdGachaPoolCategoryRoleData : pb::IMessage<ScdGachaPoolCategoryRoleData> {
  private static readonly pb::MessageParser<ScdGachaPoolCategoryRoleData> _parser = new pb::MessageParser<ScdGachaPoolCategoryRoleData>(() => new ScdGachaPoolCategoryRoleData());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdGachaPoolCategoryRoleData> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[602]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdGachaPoolCategoryRoleData() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdGachaPoolCategoryRoleData(ScdGachaPoolCategoryRoleData other) : this() {
    gachaPoolType_ = other.gachaPoolType_;
    totalPullCount_ = other.totalPullCount_;
    softGuaranteeProgress_ = other.softGuaranteeProgress_;
    star5SoftGuaranteeProgress_ = other.star5SoftGuaranteeProgress_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdGachaPoolCategoryRoleData Clone() {
    return new ScdGachaPoolCategoryRoleData(this);
  }

  /// <summary>Field number for the "gacha_pool_type" field.</summary>
  public const int GachaPoolTypeFieldNumber = 1;
  private int gachaPoolType_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int GachaPoolType {
    get { return gachaPoolType_; }
    set {
      gachaPoolType_ = value;
    }
  }

  /// <summary>Field number for the "total_pull_count" field.</summary>
  public const int TotalPullCountFieldNumber = 2;
  private int totalPullCount_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int TotalPullCount {
    get { return totalPullCount_; }
    set {
      totalPullCount_ = value;
    }
  }

  /// <summary>Field number for the "soft_guarantee_progress" field.</summary>
  public const int SoftGuaranteeProgressFieldNumber = 3;
  private int softGuaranteeProgress_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int SoftGuaranteeProgress {
    get { return softGuaranteeProgress_; }
    set {
      softGuaranteeProgress_ = value;
    }
  }

  /// <summary>Field number for the "star5_soft_guarantee_progress" field.</summary>
  public const int Star5SoftGuaranteeProgressFieldNumber = 4;
  private int star5SoftGuaranteeProgress_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Star5SoftGuaranteeProgress {
    get { return star5SoftGuaranteeProgress_; }
    set {
      star5SoftGuaranteeProgress_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdGachaPoolCategoryRoleData);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdGachaPoolCategoryRoleData other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (GachaPoolType != other.GachaPoolType) return false;
    if (TotalPullCount != other.TotalPullCount) return false;
    if (SoftGuaranteeProgress != other.SoftGuaranteeProgress) return false;
    if (Star5SoftGuaranteeProgress != other.Star5SoftGuaranteeProgress) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (GachaPoolType != 0) hash ^= GachaPoolType.GetHashCode();
    if (TotalPullCount != 0) hash ^= TotalPullCount.GetHashCode();
    if (SoftGuaranteeProgress != 0) hash ^= SoftGuaranteeProgress.GetHashCode();
    if (Star5SoftGuaranteeProgress != 0) hash ^= Star5SoftGuaranteeProgress.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (GachaPoolType != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(GachaPoolType);
    }
    if (TotalPullCount != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(TotalPullCount);
    }
    if (SoftGuaranteeProgress != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(SoftGuaranteeProgress);
    }
    if (Star5SoftGuaranteeProgress != 0) {
      output.WriteRawTag(32);
      output.WriteInt32(Star5SoftGuaranteeProgress);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (GachaPoolType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(GachaPoolType);
    }
    if (TotalPullCount != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(TotalPullCount);
    }
    if (SoftGuaranteeProgress != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(SoftGuaranteeProgress);
    }
    if (Star5SoftGuaranteeProgress != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Star5SoftGuaranteeProgress);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdGachaPoolCategoryRoleData other) {
    if (other == null) {
      return;
    }
    if (other.GachaPoolType != 0) {
      GachaPoolType = other.GachaPoolType;
    }
    if (other.TotalPullCount != 0) {
      TotalPullCount = other.TotalPullCount;
    }
    if (other.SoftGuaranteeProgress != 0) {
      SoftGuaranteeProgress = other.SoftGuaranteeProgress;
    }
    if (other.Star5SoftGuaranteeProgress != 0) {
      Star5SoftGuaranteeProgress = other.Star5SoftGuaranteeProgress;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          GachaPoolType = input.ReadInt32();
          break;
        }
        case 16: {
          TotalPullCount = input.ReadInt32();
          break;
        }
        case 24: {
          SoftGuaranteeProgress = input.ReadInt32();
          break;
        }
        case 32: {
          Star5SoftGuaranteeProgress = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdGachaPoolMgr : pb::IMessage<ScdGachaPoolMgr> {
  private static readonly pb::MessageParser<ScdGachaPoolMgr> _parser = new pb::MessageParser<ScdGachaPoolMgr>(() => new ScdGachaPoolMgr());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdGachaPoolMgr> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[603]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdGachaPoolMgr() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdGachaPoolMgr(ScdGachaPoolMgr other) : this() {
    gachaPoolInfos_ = other.gachaPoolInfos_.Clone();
    gachaPoolRoleDatas_ = other.gachaPoolRoleDatas_.Clone();
    gachaPoolCategoryRoleDatas_ = other.gachaPoolCategoryRoleDatas_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdGachaPoolMgr Clone() {
    return new ScdGachaPoolMgr(this);
  }

  /// <summary>Field number for the "gacha_pool_infos" field.</summary>
  public const int GachaPoolInfosFieldNumber = 1;
  private static readonly pb::FieldCodec<global::ScdGachaPoolInfo> _repeated_gachaPoolInfos_codec
      = pb::FieldCodec.ForMessage(10, global::ScdGachaPoolInfo.Parser);
  private readonly pbc::RepeatedField<global::ScdGachaPoolInfo> gachaPoolInfos_ = new pbc::RepeatedField<global::ScdGachaPoolInfo>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdGachaPoolInfo> GachaPoolInfos {
    get { return gachaPoolInfos_; }
  }

  /// <summary>Field number for the "gacha_pool_role_datas" field.</summary>
  public const int GachaPoolRoleDatasFieldNumber = 2;
  private static readonly pb::FieldCodec<global::ScdGachaPoolRoleData> _repeated_gachaPoolRoleDatas_codec
      = pb::FieldCodec.ForMessage(18, global::ScdGachaPoolRoleData.Parser);
  private readonly pbc::RepeatedField<global::ScdGachaPoolRoleData> gachaPoolRoleDatas_ = new pbc::RepeatedField<global::ScdGachaPoolRoleData>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdGachaPoolRoleData> GachaPoolRoleDatas {
    get { return gachaPoolRoleDatas_; }
  }

  /// <summary>Field number for the "gacha_pool_category_role_datas" field.</summary>
  public const int GachaPoolCategoryRoleDatasFieldNumber = 3;
  private static readonly pb::FieldCodec<global::ScdGachaPoolCategoryRoleData> _repeated_gachaPoolCategoryRoleDatas_codec
      = pb::FieldCodec.ForMessage(26, global::ScdGachaPoolCategoryRoleData.Parser);
  private readonly pbc::RepeatedField<global::ScdGachaPoolCategoryRoleData> gachaPoolCategoryRoleDatas_ = new pbc::RepeatedField<global::ScdGachaPoolCategoryRoleData>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdGachaPoolCategoryRoleData> GachaPoolCategoryRoleDatas {
    get { return gachaPoolCategoryRoleDatas_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdGachaPoolMgr);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdGachaPoolMgr other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!gachaPoolInfos_.Equals(other.gachaPoolInfos_)) return false;
    if(!gachaPoolRoleDatas_.Equals(other.gachaPoolRoleDatas_)) return false;
    if(!gachaPoolCategoryRoleDatas_.Equals(other.gachaPoolCategoryRoleDatas_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= gachaPoolInfos_.GetHashCode();
    hash ^= gachaPoolRoleDatas_.GetHashCode();
    hash ^= gachaPoolCategoryRoleDatas_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    gachaPoolInfos_.WriteTo(output, _repeated_gachaPoolInfos_codec);
    gachaPoolRoleDatas_.WriteTo(output, _repeated_gachaPoolRoleDatas_codec);
    gachaPoolCategoryRoleDatas_.WriteTo(output, _repeated_gachaPoolCategoryRoleDatas_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += gachaPoolInfos_.CalculateSize(_repeated_gachaPoolInfos_codec);
    size += gachaPoolRoleDatas_.CalculateSize(_repeated_gachaPoolRoleDatas_codec);
    size += gachaPoolCategoryRoleDatas_.CalculateSize(_repeated_gachaPoolCategoryRoleDatas_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdGachaPoolMgr other) {
    if (other == null) {
      return;
    }
    gachaPoolInfos_.Add(other.gachaPoolInfos_);
    gachaPoolRoleDatas_.Add(other.gachaPoolRoleDatas_);
    gachaPoolCategoryRoleDatas_.Add(other.gachaPoolCategoryRoleDatas_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          gachaPoolInfos_.AddEntriesFrom(input, _repeated_gachaPoolInfos_codec);
          break;
        }
        case 18: {
          gachaPoolRoleDatas_.AddEntriesFrom(input, _repeated_gachaPoolRoleDatas_codec);
          break;
        }
        case 26: {
          gachaPoolCategoryRoleDatas_.AddEntriesFrom(input, _repeated_gachaPoolCategoryRoleDatas_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScGachaSync : pb::IMessage<ScGachaSync> {
  private static readonly pb::MessageParser<ScGachaSync> _parser = new pb::MessageParser<ScGachaSync>(() => new ScGachaSync());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScGachaSync> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[604]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScGachaSync() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScGachaSync(ScGachaSync other) : this() {
    charGachaPool_ = other.charGachaPool_ != null ? other.charGachaPool_.Clone() : null;
    weaponGachaPool_ = other.weaponGachaPool_ != null ? other.weaponGachaPool_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScGachaSync Clone() {
    return new ScGachaSync(this);
  }

  /// <summary>Field number for the "char_gacha_pool" field.</summary>
  public const int CharGachaPoolFieldNumber = 1;
  private global::ScdGachaPoolMgr charGachaPool_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdGachaPoolMgr CharGachaPool {
    get { return charGachaPool_; }
    set {
      charGachaPool_ = value;
    }
  }

  /// <summary>Field number for the "weapon_gacha_pool" field.</summary>
  public const int WeaponGachaPoolFieldNumber = 2;
  private global::ScdGachaPoolMgr weaponGachaPool_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdGachaPoolMgr WeaponGachaPool {
    get { return weaponGachaPool_; }
    set {
      weaponGachaPool_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScGachaSync);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScGachaSync other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!object.Equals(CharGachaPool, other.CharGachaPool)) return false;
    if (!object.Equals(WeaponGachaPool, other.WeaponGachaPool)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (charGachaPool_ != null) hash ^= CharGachaPool.GetHashCode();
    if (weaponGachaPool_ != null) hash ^= WeaponGachaPool.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (charGachaPool_ != null) {
      output.WriteRawTag(10);
      output.WriteMessage(CharGachaPool);
    }
    if (weaponGachaPool_ != null) {
      output.WriteRawTag(18);
      output.WriteMessage(WeaponGachaPool);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (charGachaPool_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(CharGachaPool);
    }
    if (weaponGachaPool_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(WeaponGachaPool);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScGachaSync other) {
    if (other == null) {
      return;
    }
    if (other.charGachaPool_ != null) {
      if (charGachaPool_ == null) {
        charGachaPool_ = new global::ScdGachaPoolMgr();
      }
      CharGachaPool.MergeFrom(other.CharGachaPool);
    }
    if (other.weaponGachaPool_ != null) {
      if (weaponGachaPool_ == null) {
        weaponGachaPool_ = new global::ScdGachaPoolMgr();
      }
      WeaponGachaPool.MergeFrom(other.WeaponGachaPool);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          if (charGachaPool_ == null) {
            charGachaPool_ = new global::ScdGachaPoolMgr();
          }
          input.ReadMessage(charGachaPool_);
          break;
        }
        case 18: {
          if (weaponGachaPool_ == null) {
            weaponGachaPool_ = new global::ScdGachaPoolMgr();
          }
          input.ReadMessage(weaponGachaPool_);
          break;
        }
      }
    }
  }

}

public sealed partial class ScGachaModifyPoolInfo : pb::IMessage<ScGachaModifyPoolInfo> {
  private static readonly pb::MessageParser<ScGachaModifyPoolInfo> _parser = new pb::MessageParser<ScGachaModifyPoolInfo>(() => new ScGachaModifyPoolInfo());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScGachaModifyPoolInfo> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[605]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScGachaModifyPoolInfo() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScGachaModifyPoolInfo(ScGachaModifyPoolInfo other) : this() {
    charGachaPools_ = other.charGachaPools_.Clone();
    weaponGachaPools_ = other.weaponGachaPools_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScGachaModifyPoolInfo Clone() {
    return new ScGachaModifyPoolInfo(this);
  }

  /// <summary>Field number for the "char_gacha_pools" field.</summary>
  public const int CharGachaPoolsFieldNumber = 1;
  private static readonly pb::FieldCodec<global::ScdGachaPoolInfo> _repeated_charGachaPools_codec
      = pb::FieldCodec.ForMessage(10, global::ScdGachaPoolInfo.Parser);
  private readonly pbc::RepeatedField<global::ScdGachaPoolInfo> charGachaPools_ = new pbc::RepeatedField<global::ScdGachaPoolInfo>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdGachaPoolInfo> CharGachaPools {
    get { return charGachaPools_; }
  }

  /// <summary>Field number for the "weapon_gacha_pools" field.</summary>
  public const int WeaponGachaPoolsFieldNumber = 2;
  private static readonly pb::FieldCodec<global::ScdGachaPoolInfo> _repeated_weaponGachaPools_codec
      = pb::FieldCodec.ForMessage(18, global::ScdGachaPoolInfo.Parser);
  private readonly pbc::RepeatedField<global::ScdGachaPoolInfo> weaponGachaPools_ = new pbc::RepeatedField<global::ScdGachaPoolInfo>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdGachaPoolInfo> WeaponGachaPools {
    get { return weaponGachaPools_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScGachaModifyPoolInfo);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScGachaModifyPoolInfo other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!charGachaPools_.Equals(other.charGachaPools_)) return false;
    if(!weaponGachaPools_.Equals(other.weaponGachaPools_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= charGachaPools_.GetHashCode();
    hash ^= weaponGachaPools_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    charGachaPools_.WriteTo(output, _repeated_charGachaPools_codec);
    weaponGachaPools_.WriteTo(output, _repeated_weaponGachaPools_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += charGachaPools_.CalculateSize(_repeated_charGachaPools_codec);
    size += weaponGachaPools_.CalculateSize(_repeated_weaponGachaPools_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScGachaModifyPoolInfo other) {
    if (other == null) {
      return;
    }
    charGachaPools_.Add(other.charGachaPools_);
    weaponGachaPools_.Add(other.weaponGachaPools_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          charGachaPools_.AddEntriesFrom(input, _repeated_charGachaPools_codec);
          break;
        }
        case 18: {
          weaponGachaPools_.AddEntriesFrom(input, _repeated_weaponGachaPools_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScdGachaFinalResult : pb::IMessage<ScdGachaFinalResult> {
  private static readonly pb::MessageParser<ScdGachaFinalResult> _parser = new pb::MessageParser<ScdGachaFinalResult>(() => new ScdGachaFinalResult());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdGachaFinalResult> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[606]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdGachaFinalResult() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdGachaFinalResult(ScdGachaFinalResult other) : this() {
    itemId_ = other.itemId_;
    rewardItemId_ = other.rewardItemId_;
    rewardIds_ = other.rewardIds_.Clone();
    isNew_ = other.isNew_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdGachaFinalResult Clone() {
    return new ScdGachaFinalResult(this);
  }

  /// <summary>Field number for the "item_id" field.</summary>
  public const int ItemIdFieldNumber = 1;
  private string itemId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ItemId {
    get { return itemId_; }
    set {
      itemId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "reward_item_id" field.</summary>
  public const int RewardItemIdFieldNumber = 2;
  private string rewardItemId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string RewardItemId {
    get { return rewardItemId_; }
    set {
      rewardItemId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "reward_ids" field.</summary>
  public const int RewardIdsFieldNumber = 3;
  private static readonly pb::FieldCodec<string> _repeated_rewardIds_codec
      = pb::FieldCodec.ForString(26);
  private readonly pbc::RepeatedField<string> rewardIds_ = new pbc::RepeatedField<string>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<string> RewardIds {
    get { return rewardIds_; }
  }

  /// <summary>Field number for the "is_new" field.</summary>
  public const int IsNewFieldNumber = 4;
  private bool isNew_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool IsNew {
    get { return isNew_; }
    set {
      isNew_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdGachaFinalResult);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdGachaFinalResult other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ItemId != other.ItemId) return false;
    if (RewardItemId != other.RewardItemId) return false;
    if(!rewardIds_.Equals(other.rewardIds_)) return false;
    if (IsNew != other.IsNew) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ItemId.Length != 0) hash ^= ItemId.GetHashCode();
    if (RewardItemId.Length != 0) hash ^= RewardItemId.GetHashCode();
    hash ^= rewardIds_.GetHashCode();
    if (IsNew != false) hash ^= IsNew.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ItemId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(ItemId);
    }
    if (RewardItemId.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(RewardItemId);
    }
    rewardIds_.WriteTo(output, _repeated_rewardIds_codec);
    if (IsNew != false) {
      output.WriteRawTag(32);
      output.WriteBool(IsNew);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ItemId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ItemId);
    }
    if (RewardItemId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(RewardItemId);
    }
    size += rewardIds_.CalculateSize(_repeated_rewardIds_codec);
    if (IsNew != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdGachaFinalResult other) {
    if (other == null) {
      return;
    }
    if (other.ItemId.Length != 0) {
      ItemId = other.ItemId;
    }
    if (other.RewardItemId.Length != 0) {
      RewardItemId = other.RewardItemId;
    }
    rewardIds_.Add(other.rewardIds_);
    if (other.IsNew != false) {
      IsNew = other.IsNew;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          ItemId = input.ReadString();
          break;
        }
        case 18: {
          RewardItemId = input.ReadString();
          break;
        }
        case 26: {
          rewardIds_.AddEntriesFrom(input, _repeated_rewardIds_codec);
          break;
        }
        case 32: {
          IsNew = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class ScGachaSyncPullResult : pb::IMessage<ScGachaSyncPullResult> {
  private static readonly pb::MessageParser<ScGachaSyncPullResult> _parser = new pb::MessageParser<ScGachaSyncPullResult>(() => new ScGachaSyncPullResult());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScGachaSyncPullResult> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[607]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScGachaSyncPullResult() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScGachaSyncPullResult(ScGachaSyncPullResult other) : this() {
    gachaType_ = other.gachaType_;
    gachaPoolId_ = other.gachaPoolId_;
    oriResultIds_ = other.oriResultIds_.Clone();
    finalResults_ = other.finalResults_.Clone();
    upGotCount_ = other.upGotCount_;
    star6GotCount_ = other.star6GotCount_;
    star5GotCount_ = other.star5GotCount_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScGachaSyncPullResult Clone() {
    return new ScGachaSyncPullResult(this);
  }

  /// <summary>Field number for the "gacha_type" field.</summary>
  public const int GachaTypeFieldNumber = 1;
  private int gachaType_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int GachaType {
    get { return gachaType_; }
    set {
      gachaType_ = value;
    }
  }

  /// <summary>Field number for the "gacha_pool_id" field.</summary>
  public const int GachaPoolIdFieldNumber = 2;
  private string gachaPoolId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string GachaPoolId {
    get { return gachaPoolId_; }
    set {
      gachaPoolId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "ori_result_ids" field.</summary>
  public const int OriResultIdsFieldNumber = 3;
  private static readonly pb::FieldCodec<string> _repeated_oriResultIds_codec
      = pb::FieldCodec.ForString(26);
  private readonly pbc::RepeatedField<string> oriResultIds_ = new pbc::RepeatedField<string>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<string> OriResultIds {
    get { return oriResultIds_; }
  }

  /// <summary>Field number for the "final_results" field.</summary>
  public const int FinalResultsFieldNumber = 4;
  private static readonly pb::FieldCodec<global::ScdGachaFinalResult> _repeated_finalResults_codec
      = pb::FieldCodec.ForMessage(34, global::ScdGachaFinalResult.Parser);
  private readonly pbc::RepeatedField<global::ScdGachaFinalResult> finalResults_ = new pbc::RepeatedField<global::ScdGachaFinalResult>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdGachaFinalResult> FinalResults {
    get { return finalResults_; }
  }

  /// <summary>Field number for the "up_got_count" field.</summary>
  public const int UpGotCountFieldNumber = 5;
  private int upGotCount_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int UpGotCount {
    get { return upGotCount_; }
    set {
      upGotCount_ = value;
    }
  }

  /// <summary>Field number for the "star6_got_count" field.</summary>
  public const int Star6GotCountFieldNumber = 6;
  private int star6GotCount_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Star6GotCount {
    get { return star6GotCount_; }
    set {
      star6GotCount_ = value;
    }
  }

  /// <summary>Field number for the "star5_got_count" field.</summary>
  public const int Star5GotCountFieldNumber = 7;
  private int star5GotCount_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Star5GotCount {
    get { return star5GotCount_; }
    set {
      star5GotCount_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScGachaSyncPullResult);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScGachaSyncPullResult other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (GachaType != other.GachaType) return false;
    if (GachaPoolId != other.GachaPoolId) return false;
    if(!oriResultIds_.Equals(other.oriResultIds_)) return false;
    if(!finalResults_.Equals(other.finalResults_)) return false;
    if (UpGotCount != other.UpGotCount) return false;
    if (Star6GotCount != other.Star6GotCount) return false;
    if (Star5GotCount != other.Star5GotCount) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (GachaType != 0) hash ^= GachaType.GetHashCode();
    if (GachaPoolId.Length != 0) hash ^= GachaPoolId.GetHashCode();
    hash ^= oriResultIds_.GetHashCode();
    hash ^= finalResults_.GetHashCode();
    if (UpGotCount != 0) hash ^= UpGotCount.GetHashCode();
    if (Star6GotCount != 0) hash ^= Star6GotCount.GetHashCode();
    if (Star5GotCount != 0) hash ^= Star5GotCount.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (GachaType != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(GachaType);
    }
    if (GachaPoolId.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(GachaPoolId);
    }
    oriResultIds_.WriteTo(output, _repeated_oriResultIds_codec);
    finalResults_.WriteTo(output, _repeated_finalResults_codec);
    if (UpGotCount != 0) {
      output.WriteRawTag(40);
      output.WriteInt32(UpGotCount);
    }
    if (Star6GotCount != 0) {
      output.WriteRawTag(48);
      output.WriteInt32(Star6GotCount);
    }
    if (Star5GotCount != 0) {
      output.WriteRawTag(56);
      output.WriteInt32(Star5GotCount);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (GachaType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(GachaType);
    }
    if (GachaPoolId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(GachaPoolId);
    }
    size += oriResultIds_.CalculateSize(_repeated_oriResultIds_codec);
    size += finalResults_.CalculateSize(_repeated_finalResults_codec);
    if (UpGotCount != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(UpGotCount);
    }
    if (Star6GotCount != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Star6GotCount);
    }
    if (Star5GotCount != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Star5GotCount);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScGachaSyncPullResult other) {
    if (other == null) {
      return;
    }
    if (other.GachaType != 0) {
      GachaType = other.GachaType;
    }
    if (other.GachaPoolId.Length != 0) {
      GachaPoolId = other.GachaPoolId;
    }
    oriResultIds_.Add(other.oriResultIds_);
    finalResults_.Add(other.finalResults_);
    if (other.UpGotCount != 0) {
      UpGotCount = other.UpGotCount;
    }
    if (other.Star6GotCount != 0) {
      Star6GotCount = other.Star6GotCount;
    }
    if (other.Star5GotCount != 0) {
      Star5GotCount = other.Star5GotCount;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          GachaType = input.ReadInt32();
          break;
        }
        case 18: {
          GachaPoolId = input.ReadString();
          break;
        }
        case 26: {
          oriResultIds_.AddEntriesFrom(input, _repeated_oriResultIds_codec);
          break;
        }
        case 34: {
          finalResults_.AddEntriesFrom(input, _repeated_finalResults_codec);
          break;
        }
        case 40: {
          UpGotCount = input.ReadInt32();
          break;
        }
        case 48: {
          Star6GotCount = input.ReadInt32();
          break;
        }
        case 56: {
          Star5GotCount = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScGachaModifyPoolRoleData : pb::IMessage<ScGachaModifyPoolRoleData> {
  private static readonly pb::MessageParser<ScGachaModifyPoolRoleData> _parser = new pb::MessageParser<ScGachaModifyPoolRoleData>(() => new ScGachaModifyPoolRoleData());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScGachaModifyPoolRoleData> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[608]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScGachaModifyPoolRoleData() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScGachaModifyPoolRoleData(ScGachaModifyPoolRoleData other) : this() {
    gachaType_ = other.gachaType_;
    gachaPoolId_ = other.gachaPoolId_;
    gachaPoolRoleData_ = other.gachaPoolRoleData_ != null ? other.gachaPoolRoleData_.Clone() : null;
    gachaPoolCategoryRoleData_ = other.gachaPoolCategoryRoleData_ != null ? other.gachaPoolCategoryRoleData_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScGachaModifyPoolRoleData Clone() {
    return new ScGachaModifyPoolRoleData(this);
  }

  /// <summary>Field number for the "gacha_type" field.</summary>
  public const int GachaTypeFieldNumber = 1;
  private int gachaType_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int GachaType {
    get { return gachaType_; }
    set {
      gachaType_ = value;
    }
  }

  /// <summary>Field number for the "gacha_pool_id" field.</summary>
  public const int GachaPoolIdFieldNumber = 2;
  private string gachaPoolId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string GachaPoolId {
    get { return gachaPoolId_; }
    set {
      gachaPoolId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "gacha_pool_role_data" field.</summary>
  public const int GachaPoolRoleDataFieldNumber = 3;
  private global::ScdGachaPoolRoleData gachaPoolRoleData_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdGachaPoolRoleData GachaPoolRoleData {
    get { return gachaPoolRoleData_; }
    set {
      gachaPoolRoleData_ = value;
    }
  }

  /// <summary>Field number for the "gacha_pool_category_role_data" field.</summary>
  public const int GachaPoolCategoryRoleDataFieldNumber = 4;
  private global::ScdGachaPoolCategoryRoleData gachaPoolCategoryRoleData_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdGachaPoolCategoryRoleData GachaPoolCategoryRoleData {
    get { return gachaPoolCategoryRoleData_; }
    set {
      gachaPoolCategoryRoleData_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScGachaModifyPoolRoleData);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScGachaModifyPoolRoleData other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (GachaType != other.GachaType) return false;
    if (GachaPoolId != other.GachaPoolId) return false;
    if (!object.Equals(GachaPoolRoleData, other.GachaPoolRoleData)) return false;
    if (!object.Equals(GachaPoolCategoryRoleData, other.GachaPoolCategoryRoleData)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (GachaType != 0) hash ^= GachaType.GetHashCode();
    if (GachaPoolId.Length != 0) hash ^= GachaPoolId.GetHashCode();
    if (gachaPoolRoleData_ != null) hash ^= GachaPoolRoleData.GetHashCode();
    if (gachaPoolCategoryRoleData_ != null) hash ^= GachaPoolCategoryRoleData.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (GachaType != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(GachaType);
    }
    if (GachaPoolId.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(GachaPoolId);
    }
    if (gachaPoolRoleData_ != null) {
      output.WriteRawTag(26);
      output.WriteMessage(GachaPoolRoleData);
    }
    if (gachaPoolCategoryRoleData_ != null) {
      output.WriteRawTag(34);
      output.WriteMessage(GachaPoolCategoryRoleData);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (GachaType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(GachaType);
    }
    if (GachaPoolId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(GachaPoolId);
    }
    if (gachaPoolRoleData_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(GachaPoolRoleData);
    }
    if (gachaPoolCategoryRoleData_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(GachaPoolCategoryRoleData);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScGachaModifyPoolRoleData other) {
    if (other == null) {
      return;
    }
    if (other.GachaType != 0) {
      GachaType = other.GachaType;
    }
    if (other.GachaPoolId.Length != 0) {
      GachaPoolId = other.GachaPoolId;
    }
    if (other.gachaPoolRoleData_ != null) {
      if (gachaPoolRoleData_ == null) {
        gachaPoolRoleData_ = new global::ScdGachaPoolRoleData();
      }
      GachaPoolRoleData.MergeFrom(other.GachaPoolRoleData);
    }
    if (other.gachaPoolCategoryRoleData_ != null) {
      if (gachaPoolCategoryRoleData_ == null) {
        gachaPoolCategoryRoleData_ = new global::ScdGachaPoolCategoryRoleData();
      }
      GachaPoolCategoryRoleData.MergeFrom(other.GachaPoolCategoryRoleData);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          GachaType = input.ReadInt32();
          break;
        }
        case 18: {
          GachaPoolId = input.ReadString();
          break;
        }
        case 26: {
          if (gachaPoolRoleData_ == null) {
            gachaPoolRoleData_ = new global::ScdGachaPoolRoleData();
          }
          input.ReadMessage(gachaPoolRoleData_);
          break;
        }
        case 34: {
          if (gachaPoolCategoryRoleData_ == null) {
            gachaPoolCategoryRoleData_ = new global::ScdGachaPoolCategoryRoleData();
          }
          input.ReadMessage(gachaPoolCategoryRoleData_);
          break;
        }
      }
    }
  }

}

public sealed partial class CsGameMechanicsReqActive : pb::IMessage<CsGameMechanicsReqActive> {
  private static readonly pb::MessageParser<CsGameMechanicsReqActive> _parser = new pb::MessageParser<CsGameMechanicsReqActive>(() => new CsGameMechanicsReqActive());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsGameMechanicsReqActive> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[609]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsGameMechanicsReqActive() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsGameMechanicsReqActive(CsGameMechanicsReqActive other) : this() {
    gameId_ = other.gameId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsGameMechanicsReqActive Clone() {
    return new CsGameMechanicsReqActive(this);
  }

  /// <summary>Field number for the "game_id" field.</summary>
  public const int GameIdFieldNumber = 1;
  private string gameId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string GameId {
    get { return gameId_; }
    set {
      gameId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsGameMechanicsReqActive);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsGameMechanicsReqActive other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (GameId != other.GameId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (GameId.Length != 0) hash ^= GameId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (GameId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(GameId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (GameId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(GameId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsGameMechanicsReqActive other) {
    if (other == null) {
      return;
    }
    if (other.GameId.Length != 0) {
      GameId = other.GameId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          GameId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class CsGameMechanicsReqReward : pb::IMessage<CsGameMechanicsReqReward> {
  private static readonly pb::MessageParser<CsGameMechanicsReqReward> _parser = new pb::MessageParser<CsGameMechanicsReqReward>(() => new CsGameMechanicsReqReward());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsGameMechanicsReqReward> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[610]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsGameMechanicsReqReward() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsGameMechanicsReqReward(CsGameMechanicsReqReward other) : this() {
    gameId_ = other.gameId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsGameMechanicsReqReward Clone() {
    return new CsGameMechanicsReqReward(this);
  }

  /// <summary>Field number for the "game_id" field.</summary>
  public const int GameIdFieldNumber = 1;
  private string gameId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string GameId {
    get { return gameId_; }
    set {
      gameId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsGameMechanicsReqReward);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsGameMechanicsReqReward other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (GameId != other.GameId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (GameId.Length != 0) hash ^= GameId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (GameId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(GameId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (GameId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(GameId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsGameMechanicsReqReward other) {
    if (other == null) {
      return;
    }
    if (other.GameId.Length != 0) {
      GameId = other.GameId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          GameId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class CsGameMechanicsNtfInstPrepareFinish : pb::IMessage<CsGameMechanicsNtfInstPrepareFinish> {
  private static readonly pb::MessageParser<CsGameMechanicsNtfInstPrepareFinish> _parser = new pb::MessageParser<CsGameMechanicsNtfInstPrepareFinish>(() => new CsGameMechanicsNtfInstPrepareFinish());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsGameMechanicsNtfInstPrepareFinish> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[611]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsGameMechanicsNtfInstPrepareFinish() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsGameMechanicsNtfInstPrepareFinish(CsGameMechanicsNtfInstPrepareFinish other) : this() {
    gameId_ = other.gameId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsGameMechanicsNtfInstPrepareFinish Clone() {
    return new CsGameMechanicsNtfInstPrepareFinish(this);
  }

  /// <summary>Field number for the "game_id" field.</summary>
  public const int GameIdFieldNumber = 1;
  private string gameId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string GameId {
    get { return gameId_; }
    set {
      gameId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsGameMechanicsNtfInstPrepareFinish);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsGameMechanicsNtfInstPrepareFinish other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (GameId != other.GameId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (GameId.Length != 0) hash ^= GameId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (GameId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(GameId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (GameId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(GameId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsGameMechanicsNtfInstPrepareFinish other) {
    if (other == null) {
      return;
    }
    if (other.GameId.Length != 0) {
      GameId = other.GameId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          GameId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdGameMechanicsRecord : pb::IMessage<ScdGameMechanicsRecord> {
  private static readonly pb::MessageParser<ScdGameMechanicsRecord> _parser = new pb::MessageParser<ScdGameMechanicsRecord>(() => new ScdGameMechanicsRecord());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdGameMechanicsRecord> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[612]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdGameMechanicsRecord() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdGameMechanicsRecord(ScdGameMechanicsRecord other) : this() {
    gameId_ = other.gameId_;
    lastEnterGameTS_ = other.lastEnterGameTS_;
    bestPassTime_ = other.bestPassTime_;
    bestPassTS_ = other.bestPassTS_;
    isPass_ = other.isPass_;
    isChallenged_ = other.isChallenged_;
    isActive_ = other.isActive_;
    onceRewardGot_ = other.onceRewardGot_;
    rewardedIdList_ = other.rewardedIdList_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdGameMechanicsRecord Clone() {
    return new ScdGameMechanicsRecord(this);
  }

  /// <summary>Field number for the "game_id" field.</summary>
  public const int GameIdFieldNumber = 1;
  private string gameId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string GameId {
    get { return gameId_; }
    set {
      gameId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "last_enter_game_t_s" field.</summary>
  public const int LastEnterGameTSFieldNumber = 2;
  private long lastEnterGameTS_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long LastEnterGameTS {
    get { return lastEnterGameTS_; }
    set {
      lastEnterGameTS_ = value;
    }
  }

  /// <summary>Field number for the "best_pass_time" field.</summary>
  public const int BestPassTimeFieldNumber = 3;
  private int bestPassTime_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int BestPassTime {
    get { return bestPassTime_; }
    set {
      bestPassTime_ = value;
    }
  }

  /// <summary>Field number for the "best_pass_t_s" field.</summary>
  public const int BestPassTSFieldNumber = 4;
  private long bestPassTS_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long BestPassTS {
    get { return bestPassTS_; }
    set {
      bestPassTS_ = value;
    }
  }

  /// <summary>Field number for the "is_pass" field.</summary>
  public const int IsPassFieldNumber = 5;
  private bool isPass_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool IsPass {
    get { return isPass_; }
    set {
      isPass_ = value;
    }
  }

  /// <summary>Field number for the "is_challenged" field.</summary>
  public const int IsChallengedFieldNumber = 6;
  private bool isChallenged_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool IsChallenged {
    get { return isChallenged_; }
    set {
      isChallenged_ = value;
    }
  }

  /// <summary>Field number for the "is_active" field.</summary>
  public const int IsActiveFieldNumber = 7;
  private bool isActive_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool IsActive {
    get { return isActive_; }
    set {
      isActive_ = value;
    }
  }

  /// <summary>Field number for the "once_reward_got" field.</summary>
  public const int OnceRewardGotFieldNumber = 8;
  private bool onceRewardGot_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool OnceRewardGot {
    get { return onceRewardGot_; }
    set {
      onceRewardGot_ = value;
    }
  }

  /// <summary>Field number for the "rewarded_id_list" field.</summary>
  public const int RewardedIdListFieldNumber = 9;
  private static readonly pb::FieldCodec<int> _repeated_rewardedIdList_codec
      = pb::FieldCodec.ForInt32(74);
  private readonly pbc::RepeatedField<int> rewardedIdList_ = new pbc::RepeatedField<int>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<int> RewardedIdList {
    get { return rewardedIdList_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdGameMechanicsRecord);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdGameMechanicsRecord other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (GameId != other.GameId) return false;
    if (LastEnterGameTS != other.LastEnterGameTS) return false;
    if (BestPassTime != other.BestPassTime) return false;
    if (BestPassTS != other.BestPassTS) return false;
    if (IsPass != other.IsPass) return false;
    if (IsChallenged != other.IsChallenged) return false;
    if (IsActive != other.IsActive) return false;
    if (OnceRewardGot != other.OnceRewardGot) return false;
    if(!rewardedIdList_.Equals(other.rewardedIdList_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (GameId.Length != 0) hash ^= GameId.GetHashCode();
    if (LastEnterGameTS != 0L) hash ^= LastEnterGameTS.GetHashCode();
    if (BestPassTime != 0) hash ^= BestPassTime.GetHashCode();
    if (BestPassTS != 0L) hash ^= BestPassTS.GetHashCode();
    if (IsPass != false) hash ^= IsPass.GetHashCode();
    if (IsChallenged != false) hash ^= IsChallenged.GetHashCode();
    if (IsActive != false) hash ^= IsActive.GetHashCode();
    if (OnceRewardGot != false) hash ^= OnceRewardGot.GetHashCode();
    hash ^= rewardedIdList_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (GameId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(GameId);
    }
    if (LastEnterGameTS != 0L) {
      output.WriteRawTag(16);
      output.WriteInt64(LastEnterGameTS);
    }
    if (BestPassTime != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(BestPassTime);
    }
    if (BestPassTS != 0L) {
      output.WriteRawTag(32);
      output.WriteInt64(BestPassTS);
    }
    if (IsPass != false) {
      output.WriteRawTag(40);
      output.WriteBool(IsPass);
    }
    if (IsChallenged != false) {
      output.WriteRawTag(48);
      output.WriteBool(IsChallenged);
    }
    if (IsActive != false) {
      output.WriteRawTag(56);
      output.WriteBool(IsActive);
    }
    if (OnceRewardGot != false) {
      output.WriteRawTag(64);
      output.WriteBool(OnceRewardGot);
    }
    rewardedIdList_.WriteTo(output, _repeated_rewardedIdList_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (GameId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(GameId);
    }
    if (LastEnterGameTS != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(LastEnterGameTS);
    }
    if (BestPassTime != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(BestPassTime);
    }
    if (BestPassTS != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(BestPassTS);
    }
    if (IsPass != false) {
      size += 1 + 1;
    }
    if (IsChallenged != false) {
      size += 1 + 1;
    }
    if (IsActive != false) {
      size += 1 + 1;
    }
    if (OnceRewardGot != false) {
      size += 1 + 1;
    }
    size += rewardedIdList_.CalculateSize(_repeated_rewardedIdList_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdGameMechanicsRecord other) {
    if (other == null) {
      return;
    }
    if (other.GameId.Length != 0) {
      GameId = other.GameId;
    }
    if (other.LastEnterGameTS != 0L) {
      LastEnterGameTS = other.LastEnterGameTS;
    }
    if (other.BestPassTime != 0) {
      BestPassTime = other.BestPassTime;
    }
    if (other.BestPassTS != 0L) {
      BestPassTS = other.BestPassTS;
    }
    if (other.IsPass != false) {
      IsPass = other.IsPass;
    }
    if (other.IsChallenged != false) {
      IsChallenged = other.IsChallenged;
    }
    if (other.IsActive != false) {
      IsActive = other.IsActive;
    }
    if (other.OnceRewardGot != false) {
      OnceRewardGot = other.OnceRewardGot;
    }
    rewardedIdList_.Add(other.rewardedIdList_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          GameId = input.ReadString();
          break;
        }
        case 16: {
          LastEnterGameTS = input.ReadInt64();
          break;
        }
        case 24: {
          BestPassTime = input.ReadInt32();
          break;
        }
        case 32: {
          BestPassTS = input.ReadInt64();
          break;
        }
        case 40: {
          IsPass = input.ReadBool();
          break;
        }
        case 48: {
          IsChallenged = input.ReadBool();
          break;
        }
        case 56: {
          IsActive = input.ReadBool();
          break;
        }
        case 64: {
          OnceRewardGot = input.ReadBool();
          break;
        }
        case 74:
        case 72: {
          rewardedIdList_.AddEntriesFrom(input, _repeated_rewardedIdList_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScdGameMechanicsUnlockConditions : pb::IMessage<ScdGameMechanicsUnlockConditions> {
  private static readonly pb::MessageParser<ScdGameMechanicsUnlockConditions> _parser = new pb::MessageParser<ScdGameMechanicsUnlockConditions>(() => new ScdGameMechanicsUnlockConditions());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdGameMechanicsUnlockConditions> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[613]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdGameMechanicsUnlockConditions() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdGameMechanicsUnlockConditions(ScdGameMechanicsUnlockConditions other) : this() {
    id_ = other.id_;
    unlockState_ = other.unlockState_;
    unlockConditionValues_ = other.unlockConditionValues_.Clone();
    unlockConditionFlags_ = other.unlockConditionFlags_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdGameMechanicsUnlockConditions Clone() {
    return new ScdGameMechanicsUnlockConditions(this);
  }

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

  /// <summary>Field number for the "unlock_state" field.</summary>
  public const int UnlockStateFieldNumber = 2;
  private int unlockState_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int UnlockState {
    get { return unlockState_; }
    set {
      unlockState_ = value;
    }
  }

  /// <summary>Field number for the "unlock_condition_values" field.</summary>
  public const int UnlockConditionValuesFieldNumber = 3;
  private static readonly pbc::MapField<string, int>.Codec _map_unlockConditionValues_codec
      = new pbc::MapField<string, int>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForInt32(16), 26);
  private readonly pbc::MapField<string, int> unlockConditionValues_ = new pbc::MapField<string, int>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<string, int> UnlockConditionValues {
    get { return unlockConditionValues_; }
  }

  /// <summary>Field number for the "unlock_condition_flags" field.</summary>
  public const int UnlockConditionFlagsFieldNumber = 4;
  private static readonly pbc::MapField<string, bool>.Codec _map_unlockConditionFlags_codec
      = new pbc::MapField<string, bool>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForBool(16), 34);
  private readonly pbc::MapField<string, bool> unlockConditionFlags_ = new pbc::MapField<string, bool>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<string, bool> UnlockConditionFlags {
    get { return unlockConditionFlags_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdGameMechanicsUnlockConditions);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdGameMechanicsUnlockConditions other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Id != other.Id) return false;
    if (UnlockState != other.UnlockState) return false;
    if (!UnlockConditionValues.Equals(other.UnlockConditionValues)) return false;
    if (!UnlockConditionFlags.Equals(other.UnlockConditionFlags)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Id.Length != 0) hash ^= Id.GetHashCode();
    if (UnlockState != 0) hash ^= UnlockState.GetHashCode();
    hash ^= UnlockConditionValues.GetHashCode();
    hash ^= UnlockConditionFlags.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Id.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(Id);
    }
    if (UnlockState != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(UnlockState);
    }
    unlockConditionValues_.WriteTo(output, _map_unlockConditionValues_codec);
    unlockConditionFlags_.WriteTo(output, _map_unlockConditionFlags_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Id.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(Id);
    }
    if (UnlockState != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(UnlockState);
    }
    size += unlockConditionValues_.CalculateSize(_map_unlockConditionValues_codec);
    size += unlockConditionFlags_.CalculateSize(_map_unlockConditionFlags_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdGameMechanicsUnlockConditions other) {
    if (other == null) {
      return;
    }
    if (other.Id.Length != 0) {
      Id = other.Id;
    }
    if (other.UnlockState != 0) {
      UnlockState = other.UnlockState;
    }
    unlockConditionValues_.Add(other.unlockConditionValues_);
    unlockConditionFlags_.Add(other.unlockConditionFlags_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          Id = input.ReadString();
          break;
        }
        case 16: {
          UnlockState = input.ReadInt32();
          break;
        }
        case 26: {
          unlockConditionValues_.AddEntriesFrom(input, _map_unlockConditionValues_codec);
          break;
        }
        case 34: {
          unlockConditionFlags_.AddEntriesFrom(input, _map_unlockConditionFlags_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScGameMechanicsSync : pb::IMessage<ScGameMechanicsSync> {
  private static readonly pb::MessageParser<ScGameMechanicsSync> _parser = new pb::MessageParser<ScGameMechanicsSync>(() => new ScGameMechanicsSync());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScGameMechanicsSync> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[614]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScGameMechanicsSync() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScGameMechanicsSync(ScGameMechanicsSync other) : this() {
    gameUnlockConditions_ = other.gameUnlockConditions_.Clone();
    gameRecords_ = other.gameRecords_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScGameMechanicsSync Clone() {
    return new ScGameMechanicsSync(this);
  }

  /// <summary>Field number for the "game_unlock_conditions" field.</summary>
  public const int GameUnlockConditionsFieldNumber = 1;
  private static readonly pb::FieldCodec<global::ScdGameMechanicsUnlockConditions> _repeated_gameUnlockConditions_codec
      = pb::FieldCodec.ForMessage(10, global::ScdGameMechanicsUnlockConditions.Parser);
  private readonly pbc::RepeatedField<global::ScdGameMechanicsUnlockConditions> gameUnlockConditions_ = new pbc::RepeatedField<global::ScdGameMechanicsUnlockConditions>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdGameMechanicsUnlockConditions> GameUnlockConditions {
    get { return gameUnlockConditions_; }
  }

  /// <summary>Field number for the "game_records" field.</summary>
  public const int GameRecordsFieldNumber = 2;
  private static readonly pb::FieldCodec<global::ScdGameMechanicsRecord> _repeated_gameRecords_codec
      = pb::FieldCodec.ForMessage(18, global::ScdGameMechanicsRecord.Parser);
  private readonly pbc::RepeatedField<global::ScdGameMechanicsRecord> gameRecords_ = new pbc::RepeatedField<global::ScdGameMechanicsRecord>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdGameMechanicsRecord> GameRecords {
    get { return gameRecords_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScGameMechanicsSync);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScGameMechanicsSync other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!gameUnlockConditions_.Equals(other.gameUnlockConditions_)) return false;
    if(!gameRecords_.Equals(other.gameRecords_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= gameUnlockConditions_.GetHashCode();
    hash ^= gameRecords_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    gameUnlockConditions_.WriteTo(output, _repeated_gameUnlockConditions_codec);
    gameRecords_.WriteTo(output, _repeated_gameRecords_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += gameUnlockConditions_.CalculateSize(_repeated_gameUnlockConditions_codec);
    size += gameRecords_.CalculateSize(_repeated_gameRecords_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScGameMechanicsSync other) {
    if (other == null) {
      return;
    }
    gameUnlockConditions_.Add(other.gameUnlockConditions_);
    gameRecords_.Add(other.gameRecords_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          gameUnlockConditions_.AddEntriesFrom(input, _repeated_gameUnlockConditions_codec);
          break;
        }
        case 18: {
          gameRecords_.AddEntriesFrom(input, _repeated_gameRecords_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScGameMechanicsSyncUnlockCondition : pb::IMessage<ScGameMechanicsSyncUnlockCondition> {
  private static readonly pb::MessageParser<ScGameMechanicsSyncUnlockCondition> _parser = new pb::MessageParser<ScGameMechanicsSyncUnlockCondition>(() => new ScGameMechanicsSyncUnlockCondition());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScGameMechanicsSyncUnlockCondition> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[615]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScGameMechanicsSyncUnlockCondition() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScGameMechanicsSyncUnlockCondition(ScGameMechanicsSyncUnlockCondition other) : this() {
    gameUnlockCondition_ = other.gameUnlockCondition_ != null ? other.gameUnlockCondition_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScGameMechanicsSyncUnlockCondition Clone() {
    return new ScGameMechanicsSyncUnlockCondition(this);
  }

  /// <summary>Field number for the "game_unlock_condition" field.</summary>
  public const int GameUnlockConditionFieldNumber = 1;
  private global::ScdGameMechanicsUnlockConditions gameUnlockCondition_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdGameMechanicsUnlockConditions GameUnlockCondition {
    get { return gameUnlockCondition_; }
    set {
      gameUnlockCondition_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScGameMechanicsSyncUnlockCondition);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScGameMechanicsSyncUnlockCondition other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!object.Equals(GameUnlockCondition, other.GameUnlockCondition)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (gameUnlockCondition_ != null) hash ^= GameUnlockCondition.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (gameUnlockCondition_ != null) {
      output.WriteRawTag(10);
      output.WriteMessage(GameUnlockCondition);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (gameUnlockCondition_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(GameUnlockCondition);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScGameMechanicsSyncUnlockCondition other) {
    if (other == null) {
      return;
    }
    if (other.gameUnlockCondition_ != null) {
      if (gameUnlockCondition_ == null) {
        gameUnlockCondition_ = new global::ScdGameMechanicsUnlockConditions();
      }
      GameUnlockCondition.MergeFrom(other.GameUnlockCondition);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          if (gameUnlockCondition_ == null) {
            gameUnlockCondition_ = new global::ScdGameMechanicsUnlockConditions();
          }
          input.ReadMessage(gameUnlockCondition_);
          break;
        }
      }
    }
  }

}

public sealed partial class ScGameMechanicsModifyRecords : pb::IMessage<ScGameMechanicsModifyRecords> {
  private static readonly pb::MessageParser<ScGameMechanicsModifyRecords> _parser = new pb::MessageParser<ScGameMechanicsModifyRecords>(() => new ScGameMechanicsModifyRecords());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScGameMechanicsModifyRecords> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[616]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScGameMechanicsModifyRecords() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScGameMechanicsModifyRecords(ScGameMechanicsModifyRecords other) : this() {
    gameRecords_ = other.gameRecords_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScGameMechanicsModifyRecords Clone() {
    return new ScGameMechanicsModifyRecords(this);
  }

  /// <summary>Field number for the "game_records" field.</summary>
  public const int GameRecordsFieldNumber = 1;
  private static readonly pb::FieldCodec<global::ScdGameMechanicsRecord> _repeated_gameRecords_codec
      = pb::FieldCodec.ForMessage(10, global::ScdGameMechanicsRecord.Parser);
  private readonly pbc::RepeatedField<global::ScdGameMechanicsRecord> gameRecords_ = new pbc::RepeatedField<global::ScdGameMechanicsRecord>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdGameMechanicsRecord> GameRecords {
    get { return gameRecords_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScGameMechanicsModifyRecords);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScGameMechanicsModifyRecords other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!gameRecords_.Equals(other.gameRecords_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= gameRecords_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    gameRecords_.WriteTo(output, _repeated_gameRecords_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += gameRecords_.CalculateSize(_repeated_gameRecords_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScGameMechanicsModifyRecords other) {
    if (other == null) {
      return;
    }
    gameRecords_.Add(other.gameRecords_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          gameRecords_.AddEntriesFrom(input, _repeated_gameRecords_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScGameMechanicsSyncChallengeStart : pb::IMessage<ScGameMechanicsSyncChallengeStart> {
  private static readonly pb::MessageParser<ScGameMechanicsSyncChallengeStart> _parser = new pb::MessageParser<ScGameMechanicsSyncChallengeStart>(() => new ScGameMechanicsSyncChallengeStart());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScGameMechanicsSyncChallengeStart> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[617]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScGameMechanicsSyncChallengeStart() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScGameMechanicsSyncChallengeStart(ScGameMechanicsSyncChallengeStart other) : this() {
    gameId_ = other.gameId_;
    challengeStartTs_ = other.challengeStartTs_;
    challengeExpireTs_ = other.challengeExpireTs_;
    prepareChallengeSeconds_ = other.prepareChallengeSeconds_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScGameMechanicsSyncChallengeStart Clone() {
    return new ScGameMechanicsSyncChallengeStart(this);
  }

  /// <summary>Field number for the "game_id" field.</summary>
  public const int GameIdFieldNumber = 1;
  private string gameId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string GameId {
    get { return gameId_; }
    set {
      gameId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "challenge_start_ts" field.</summary>
  public const int ChallengeStartTsFieldNumber = 2;
  private long challengeStartTs_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long ChallengeStartTs {
    get { return challengeStartTs_; }
    set {
      challengeStartTs_ = value;
    }
  }

  /// <summary>Field number for the "challenge_expire_ts" field.</summary>
  public const int ChallengeExpireTsFieldNumber = 3;
  private long challengeExpireTs_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long ChallengeExpireTs {
    get { return challengeExpireTs_; }
    set {
      challengeExpireTs_ = value;
    }
  }

  /// <summary>Field number for the "prepare_challenge_seconds" field.</summary>
  public const int PrepareChallengeSecondsFieldNumber = 4;
  private int prepareChallengeSeconds_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int PrepareChallengeSeconds {
    get { return prepareChallengeSeconds_; }
    set {
      prepareChallengeSeconds_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScGameMechanicsSyncChallengeStart);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScGameMechanicsSyncChallengeStart other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (GameId != other.GameId) return false;
    if (ChallengeStartTs != other.ChallengeStartTs) return false;
    if (ChallengeExpireTs != other.ChallengeExpireTs) return false;
    if (PrepareChallengeSeconds != other.PrepareChallengeSeconds) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (GameId.Length != 0) hash ^= GameId.GetHashCode();
    if (ChallengeStartTs != 0L) hash ^= ChallengeStartTs.GetHashCode();
    if (ChallengeExpireTs != 0L) hash ^= ChallengeExpireTs.GetHashCode();
    if (PrepareChallengeSeconds != 0) hash ^= PrepareChallengeSeconds.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (GameId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(GameId);
    }
    if (ChallengeStartTs != 0L) {
      output.WriteRawTag(16);
      output.WriteInt64(ChallengeStartTs);
    }
    if (ChallengeExpireTs != 0L) {
      output.WriteRawTag(24);
      output.WriteInt64(ChallengeExpireTs);
    }
    if (PrepareChallengeSeconds != 0) {
      output.WriteRawTag(32);
      output.WriteInt32(PrepareChallengeSeconds);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (GameId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(GameId);
    }
    if (ChallengeStartTs != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(ChallengeStartTs);
    }
    if (ChallengeExpireTs != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(ChallengeExpireTs);
    }
    if (PrepareChallengeSeconds != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(PrepareChallengeSeconds);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScGameMechanicsSyncChallengeStart other) {
    if (other == null) {
      return;
    }
    if (other.GameId.Length != 0) {
      GameId = other.GameId;
    }
    if (other.ChallengeStartTs != 0L) {
      ChallengeStartTs = other.ChallengeStartTs;
    }
    if (other.ChallengeExpireTs != 0L) {
      ChallengeExpireTs = other.ChallengeExpireTs;
    }
    if (other.PrepareChallengeSeconds != 0) {
      PrepareChallengeSeconds = other.PrepareChallengeSeconds;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          GameId = input.ReadString();
          break;
        }
        case 16: {
          ChallengeStartTs = input.ReadInt64();
          break;
        }
        case 24: {
          ChallengeExpireTs = input.ReadInt64();
          break;
        }
        case 32: {
          PrepareChallengeSeconds = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScGameMechanicsSyncChallengeComplete : pb::IMessage<ScGameMechanicsSyncChallengeComplete> {
  private static readonly pb::MessageParser<ScGameMechanicsSyncChallengeComplete> _parser = new pb::MessageParser<ScGameMechanicsSyncChallengeComplete>(() => new ScGameMechanicsSyncChallengeComplete());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScGameMechanicsSyncChallengeComplete> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[618]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScGameMechanicsSyncChallengeComplete() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScGameMechanicsSyncChallengeComplete(ScGameMechanicsSyncChallengeComplete other) : this() {
    gameId_ = other.gameId_;
    isPass_ = other.isPass_;
    forceLeaveTs_ = other.forceLeaveTs_;
    passTime_ = other.passTime_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScGameMechanicsSyncChallengeComplete Clone() {
    return new ScGameMechanicsSyncChallengeComplete(this);
  }

  /// <summary>Field number for the "game_id" field.</summary>
  public const int GameIdFieldNumber = 1;
  private string gameId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string GameId {
    get { return gameId_; }
    set {
      gameId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "is_pass" field.</summary>
  public const int IsPassFieldNumber = 2;
  private bool isPass_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool IsPass {
    get { return isPass_; }
    set {
      isPass_ = value;
    }
  }

  /// <summary>Field number for the "force_leave_ts" field.</summary>
  public const int ForceLeaveTsFieldNumber = 3;
  private long forceLeaveTs_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long ForceLeaveTs {
    get { return forceLeaveTs_; }
    set {
      forceLeaveTs_ = value;
    }
  }

  /// <summary>Field number for the "pass_time" field.</summary>
  public const int PassTimeFieldNumber = 4;
  private int passTime_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int PassTime {
    get { return passTime_; }
    set {
      passTime_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScGameMechanicsSyncChallengeComplete);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScGameMechanicsSyncChallengeComplete other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (GameId != other.GameId) return false;
    if (IsPass != other.IsPass) return false;
    if (ForceLeaveTs != other.ForceLeaveTs) return false;
    if (PassTime != other.PassTime) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (GameId.Length != 0) hash ^= GameId.GetHashCode();
    if (IsPass != false) hash ^= IsPass.GetHashCode();
    if (ForceLeaveTs != 0L) hash ^= ForceLeaveTs.GetHashCode();
    if (PassTime != 0) hash ^= PassTime.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (GameId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(GameId);
    }
    if (IsPass != false) {
      output.WriteRawTag(16);
      output.WriteBool(IsPass);
    }
    if (ForceLeaveTs != 0L) {
      output.WriteRawTag(24);
      output.WriteInt64(ForceLeaveTs);
    }
    if (PassTime != 0) {
      output.WriteRawTag(32);
      output.WriteInt32(PassTime);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (GameId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(GameId);
    }
    if (IsPass != false) {
      size += 1 + 1;
    }
    if (ForceLeaveTs != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(ForceLeaveTs);
    }
    if (PassTime != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(PassTime);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScGameMechanicsSyncChallengeComplete other) {
    if (other == null) {
      return;
    }
    if (other.GameId.Length != 0) {
      GameId = other.GameId;
    }
    if (other.IsPass != false) {
      IsPass = other.IsPass;
    }
    if (other.ForceLeaveTs != 0L) {
      ForceLeaveTs = other.ForceLeaveTs;
    }
    if (other.PassTime != 0) {
      PassTime = other.PassTime;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          GameId = input.ReadString();
          break;
        }
        case 16: {
          IsPass = input.ReadBool();
          break;
        }
        case 24: {
          ForceLeaveTs = input.ReadInt64();
          break;
        }
        case 32: {
          PassTime = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScGameMechanicsSyncCompletionReward : pb::IMessage<ScGameMechanicsSyncCompletionReward> {
  private static readonly pb::MessageParser<ScGameMechanicsSyncCompletionReward> _parser = new pb::MessageParser<ScGameMechanicsSyncCompletionReward>(() => new ScGameMechanicsSyncCompletionReward());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScGameMechanicsSyncCompletionReward> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[619]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScGameMechanicsSyncCompletionReward() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScGameMechanicsSyncCompletionReward(ScGameMechanicsSyncCompletionReward other) : this() {
    gameId_ = other.gameId_;
    isPass_ = other.isPass_;
    forceLeaveTs_ = other.forceLeaveTs_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScGameMechanicsSyncCompletionReward Clone() {
    return new ScGameMechanicsSyncCompletionReward(this);
  }

  /// <summary>Field number for the "game_id" field.</summary>
  public const int GameIdFieldNumber = 1;
  private string gameId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string GameId {
    get { return gameId_; }
    set {
      gameId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "is_pass" field.</summary>
  public const int IsPassFieldNumber = 2;
  private bool isPass_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool IsPass {
    get { return isPass_; }
    set {
      isPass_ = value;
    }
  }

  /// <summary>Field number for the "force_leave_ts" field.</summary>
  public const int ForceLeaveTsFieldNumber = 3;
  private long forceLeaveTs_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long ForceLeaveTs {
    get { return forceLeaveTs_; }
    set {
      forceLeaveTs_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScGameMechanicsSyncCompletionReward);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScGameMechanicsSyncCompletionReward other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (GameId != other.GameId) return false;
    if (IsPass != other.IsPass) return false;
    if (ForceLeaveTs != other.ForceLeaveTs) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (GameId.Length != 0) hash ^= GameId.GetHashCode();
    if (IsPass != false) hash ^= IsPass.GetHashCode();
    if (ForceLeaveTs != 0L) hash ^= ForceLeaveTs.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (GameId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(GameId);
    }
    if (IsPass != false) {
      output.WriteRawTag(16);
      output.WriteBool(IsPass);
    }
    if (ForceLeaveTs != 0L) {
      output.WriteRawTag(24);
      output.WriteInt64(ForceLeaveTs);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (GameId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(GameId);
    }
    if (IsPass != false) {
      size += 1 + 1;
    }
    if (ForceLeaveTs != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(ForceLeaveTs);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScGameMechanicsSyncCompletionReward other) {
    if (other == null) {
      return;
    }
    if (other.GameId.Length != 0) {
      GameId = other.GameId;
    }
    if (other.IsPass != false) {
      IsPass = other.IsPass;
    }
    if (other.ForceLeaveTs != 0L) {
      ForceLeaveTs = other.ForceLeaveTs;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          GameId = input.ReadString();
          break;
        }
        case 16: {
          IsPass = input.ReadBool();
          break;
        }
        case 24: {
          ForceLeaveTs = input.ReadInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class ScGameMechanicsSyncEnterGameInst : pb::IMessage<ScGameMechanicsSyncEnterGameInst> {
  private static readonly pb::MessageParser<ScGameMechanicsSyncEnterGameInst> _parser = new pb::MessageParser<ScGameMechanicsSyncEnterGameInst>(() => new ScGameMechanicsSyncEnterGameInst());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScGameMechanicsSyncEnterGameInst> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[620]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScGameMechanicsSyncEnterGameInst() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScGameMechanicsSyncEnterGameInst(ScGameMechanicsSyncEnterGameInst other) : this() {
    gameId_ = other.gameId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScGameMechanicsSyncEnterGameInst Clone() {
    return new ScGameMechanicsSyncEnterGameInst(this);
  }

  /// <summary>Field number for the "game_id" field.</summary>
  public const int GameIdFieldNumber = 1;
  private string gameId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string GameId {
    get { return gameId_; }
    set {
      gameId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScGameMechanicsSyncEnterGameInst);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScGameMechanicsSyncEnterGameInst other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (GameId != other.GameId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (GameId.Length != 0) hash ^= GameId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (GameId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(GameId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (GameId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(GameId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScGameMechanicsSyncEnterGameInst other) {
    if (other == null) {
      return;
    }
    if (other.GameId.Length != 0) {
      GameId = other.GameId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          GameId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class ScGameMechanicsSyncLeaveGameInst : pb::IMessage<ScGameMechanicsSyncLeaveGameInst> {
  private static readonly pb::MessageParser<ScGameMechanicsSyncLeaveGameInst> _parser = new pb::MessageParser<ScGameMechanicsSyncLeaveGameInst>(() => new ScGameMechanicsSyncLeaveGameInst());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScGameMechanicsSyncLeaveGameInst> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[621]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScGameMechanicsSyncLeaveGameInst() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScGameMechanicsSyncLeaveGameInst(ScGameMechanicsSyncLeaveGameInst other) : this() {
    gameId_ = other.gameId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScGameMechanicsSyncLeaveGameInst Clone() {
    return new ScGameMechanicsSyncLeaveGameInst(this);
  }

  /// <summary>Field number for the "game_id" field.</summary>
  public const int GameIdFieldNumber = 1;
  private string gameId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string GameId {
    get { return gameId_; }
    set {
      gameId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScGameMechanicsSyncLeaveGameInst);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScGameMechanicsSyncLeaveGameInst other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (GameId != other.GameId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (GameId.Length != 0) hash ^= GameId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (GameId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(GameId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (GameId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(GameId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScGameMechanicsSyncLeaveGameInst other) {
    if (other == null) {
      return;
    }
    if (other.GameId.Length != 0) {
      GameId = other.GameId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          GameId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class ScGameMechanicsSyncRestartGameInst : pb::IMessage<ScGameMechanicsSyncRestartGameInst> {
  private static readonly pb::MessageParser<ScGameMechanicsSyncRestartGameInst> _parser = new pb::MessageParser<ScGameMechanicsSyncRestartGameInst>(() => new ScGameMechanicsSyncRestartGameInst());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScGameMechanicsSyncRestartGameInst> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[622]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScGameMechanicsSyncRestartGameInst() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScGameMechanicsSyncRestartGameInst(ScGameMechanicsSyncRestartGameInst other) : this() {
    gameId_ = other.gameId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScGameMechanicsSyncRestartGameInst Clone() {
    return new ScGameMechanicsSyncRestartGameInst(this);
  }

  /// <summary>Field number for the "game_id" field.</summary>
  public const int GameIdFieldNumber = 1;
  private string gameId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string GameId {
    get { return gameId_; }
    set {
      gameId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScGameMechanicsSyncRestartGameInst);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScGameMechanicsSyncRestartGameInst other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (GameId != other.GameId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (GameId.Length != 0) hash ^= GameId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (GameId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(GameId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (GameId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(GameId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScGameMechanicsSyncRestartGameInst other) {
    if (other == null) {
      return;
    }
    if (other.GameId.Length != 0) {
      GameId = other.GameId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          GameId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdGameMechanicsInstTimeFreeze : pb::IMessage<ScdGameMechanicsInstTimeFreeze> {
  private static readonly pb::MessageParser<ScdGameMechanicsInstTimeFreeze> _parser = new pb::MessageParser<ScdGameMechanicsInstTimeFreeze>(() => new ScdGameMechanicsInstTimeFreeze());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdGameMechanicsInstTimeFreeze> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[623]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdGameMechanicsInstTimeFreeze() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdGameMechanicsInstTimeFreeze(ScdGameMechanicsInstTimeFreeze other) : this() {
    timeKey_ = other.timeKey_;
    totalFreezeTimeInMs_ = other.totalFreezeTimeInMs_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdGameMechanicsInstTimeFreeze Clone() {
    return new ScdGameMechanicsInstTimeFreeze(this);
  }

  /// <summary>Field number for the "time_key" field.</summary>
  public const int TimeKeyFieldNumber = 1;
  private int timeKey_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int TimeKey {
    get { return timeKey_; }
    set {
      timeKey_ = value;
    }
  }

  /// <summary>Field number for the "total_freeze_time_in_ms" field.</summary>
  public const int TotalFreezeTimeInMsFieldNumber = 2;
  private long totalFreezeTimeInMs_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long TotalFreezeTimeInMs {
    get { return totalFreezeTimeInMs_; }
    set {
      totalFreezeTimeInMs_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdGameMechanicsInstTimeFreeze);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdGameMechanicsInstTimeFreeze other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (TimeKey != other.TimeKey) return false;
    if (TotalFreezeTimeInMs != other.TotalFreezeTimeInMs) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (TimeKey != 0) hash ^= TimeKey.GetHashCode();
    if (TotalFreezeTimeInMs != 0L) hash ^= TotalFreezeTimeInMs.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (TimeKey != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(TimeKey);
    }
    if (TotalFreezeTimeInMs != 0L) {
      output.WriteRawTag(16);
      output.WriteInt64(TotalFreezeTimeInMs);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (TimeKey != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(TimeKey);
    }
    if (TotalFreezeTimeInMs != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(TotalFreezeTimeInMs);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdGameMechanicsInstTimeFreeze other) {
    if (other == null) {
      return;
    }
    if (other.TimeKey != 0) {
      TimeKey = other.TimeKey;
    }
    if (other.TotalFreezeTimeInMs != 0L) {
      TotalFreezeTimeInMs = other.TotalFreezeTimeInMs;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          TimeKey = input.ReadInt32();
          break;
        }
        case 16: {
          TotalFreezeTimeInMs = input.ReadInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class ScGameMechanicsModifyInstTimeFreeze : pb::IMessage<ScGameMechanicsModifyInstTimeFreeze> {
  private static readonly pb::MessageParser<ScGameMechanicsModifyInstTimeFreeze> _parser = new pb::MessageParser<ScGameMechanicsModifyInstTimeFreeze>(() => new ScGameMechanicsModifyInstTimeFreeze());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScGameMechanicsModifyInstTimeFreeze> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[624]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScGameMechanicsModifyInstTimeFreeze() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScGameMechanicsModifyInstTimeFreeze(ScGameMechanicsModifyInstTimeFreeze other) : this() {
    gameId_ = other.gameId_;
    timeFreezeInfos_ = other.timeFreezeInfos_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScGameMechanicsModifyInstTimeFreeze Clone() {
    return new ScGameMechanicsModifyInstTimeFreeze(this);
  }

  /// <summary>Field number for the "game_id" field.</summary>
  public const int GameIdFieldNumber = 1;
  private string gameId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string GameId {
    get { return gameId_; }
    set {
      gameId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "time_freeze_infos" field.</summary>
  public const int TimeFreezeInfosFieldNumber = 2;
  private static readonly pb::FieldCodec<global::ScdGameMechanicsInstTimeFreeze> _repeated_timeFreezeInfos_codec
      = pb::FieldCodec.ForMessage(18, global::ScdGameMechanicsInstTimeFreeze.Parser);
  private readonly pbc::RepeatedField<global::ScdGameMechanicsInstTimeFreeze> timeFreezeInfos_ = new pbc::RepeatedField<global::ScdGameMechanicsInstTimeFreeze>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdGameMechanicsInstTimeFreeze> TimeFreezeInfos {
    get { return timeFreezeInfos_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScGameMechanicsModifyInstTimeFreeze);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScGameMechanicsModifyInstTimeFreeze other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (GameId != other.GameId) return false;
    if(!timeFreezeInfos_.Equals(other.timeFreezeInfos_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (GameId.Length != 0) hash ^= GameId.GetHashCode();
    hash ^= timeFreezeInfos_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (GameId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(GameId);
    }
    timeFreezeInfos_.WriteTo(output, _repeated_timeFreezeInfos_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (GameId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(GameId);
    }
    size += timeFreezeInfos_.CalculateSize(_repeated_timeFreezeInfos_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScGameMechanicsModifyInstTimeFreeze other) {
    if (other == null) {
      return;
    }
    if (other.GameId.Length != 0) {
      GameId = other.GameId;
    }
    timeFreezeInfos_.Add(other.timeFreezeInfos_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          GameId = input.ReadString();
          break;
        }
        case 18: {
          timeFreezeInfos_.AddEntriesFrom(input, _repeated_timeFreezeInfos_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScSyncGameMode : pb::IMessage<ScSyncGameMode> {
  private static readonly pb::MessageParser<ScSyncGameMode> _parser = new pb::MessageParser<ScSyncGameMode>(() => new ScSyncGameMode());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSyncGameMode> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[625]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncGameMode() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncGameMode(ScSyncGameMode other) : this() {
    modeId_ = other.modeId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncGameMode Clone() {
    return new ScSyncGameMode(this);
  }

  /// <summary>Field number for the "mode_id" field.</summary>
  public const int ModeIdFieldNumber = 1;
  private string modeId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ModeId {
    get { return modeId_; }
    set {
      modeId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSyncGameMode);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSyncGameMode other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ModeId != other.ModeId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ModeId.Length != 0) hash ^= ModeId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ModeId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(ModeId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ModeId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ModeId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSyncGameMode other) {
    if (other == null) {
      return;
    }
    if (other.ModeId.Length != 0) {
      ModeId = other.ModeId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          ModeId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class ScSyncAllGameVar : pb::IMessage<ScSyncAllGameVar> {
  private static readonly pb::MessageParser<ScSyncAllGameVar> _parser = new pb::MessageParser<ScSyncAllGameVar>(() => new ScSyncAllGameVar());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSyncAllGameVar> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[626]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncAllGameVar() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncAllGameVar(ScSyncAllGameVar other) : this() {
    serverVars_ = other.serverVars_.Clone();
    clientVars_ = other.clientVars_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncAllGameVar Clone() {
    return new ScSyncAllGameVar(this);
  }

  /// <summary>Field number for the "server_vars" field.</summary>
  public const int ServerVarsFieldNumber = 1;
  private static readonly pbc::MapField<int, long>.Codec _map_serverVars_codec
      = new pbc::MapField<int, long>.Codec(pb::FieldCodec.ForInt32(8), pb::FieldCodec.ForInt64(16), 10);
  private readonly pbc::MapField<int, long> serverVars_ = new pbc::MapField<int, long>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<int, long> ServerVars {
    get { return serverVars_; }
  }

  /// <summary>Field number for the "client_vars" field.</summary>
  public const int ClientVarsFieldNumber = 2;
  private static readonly pbc::MapField<int, long>.Codec _map_clientVars_codec
      = new pbc::MapField<int, long>.Codec(pb::FieldCodec.ForInt32(8), pb::FieldCodec.ForInt64(16), 18);
  private readonly pbc::MapField<int, long> clientVars_ = new pbc::MapField<int, long>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<int, long> ClientVars {
    get { return clientVars_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSyncAllGameVar);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSyncAllGameVar other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!ServerVars.Equals(other.ServerVars)) return false;
    if (!ClientVars.Equals(other.ClientVars)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= ServerVars.GetHashCode();
    hash ^= ClientVars.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    serverVars_.WriteTo(output, _map_serverVars_codec);
    clientVars_.WriteTo(output, _map_clientVars_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += serverVars_.CalculateSize(_map_serverVars_codec);
    size += clientVars_.CalculateSize(_map_clientVars_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSyncAllGameVar other) {
    if (other == null) {
      return;
    }
    serverVars_.Add(other.serverVars_);
    clientVars_.Add(other.clientVars_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          serverVars_.AddEntriesFrom(input, _map_serverVars_codec);
          break;
        }
        case 18: {
          clientVars_.AddEntriesFrom(input, _map_clientVars_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class CsUpdateClientGameVar : pb::IMessage<CsUpdateClientGameVar> {
  private static readonly pb::MessageParser<CsUpdateClientGameVar> _parser = new pb::MessageParser<CsUpdateClientGameVar>(() => new CsUpdateClientGameVar());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsUpdateClientGameVar> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[627]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsUpdateClientGameVar() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsUpdateClientGameVar(CsUpdateClientGameVar other) : this() {
    key_ = other.key_;
    value_ = other.value_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsUpdateClientGameVar Clone() {
    return new CsUpdateClientGameVar(this);
  }

  /// <summary>Field number for the "key" field.</summary>
  public const int KeyFieldNumber = 1;
  private int key_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Key {
    get { return key_; }
    set {
      key_ = value;
    }
  }

  /// <summary>Field number for the "value" field.</summary>
  public const int ValueFieldNumber = 2;
  private long value_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long Value {
    get { return value_; }
    set {
      value_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsUpdateClientGameVar);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsUpdateClientGameVar other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Key != other.Key) return false;
    if (Value != other.Value) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Key != 0) hash ^= Key.GetHashCode();
    if (Value != 0L) hash ^= Value.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Key != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(Key);
    }
    if (Value != 0L) {
      output.WriteRawTag(16);
      output.WriteInt64(Value);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Key != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Key);
    }
    if (Value != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(Value);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsUpdateClientGameVar other) {
    if (other == null) {
      return;
    }
    if (other.Key != 0) {
      Key = other.Key;
    }
    if (other.Value != 0L) {
      Value = other.Value;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Key = input.ReadInt32();
          break;
        }
        case 16: {
          Value = input.ReadInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class ScUpdateGameVar : pb::IMessage<ScUpdateGameVar> {
  private static readonly pb::MessageParser<ScUpdateGameVar> _parser = new pb::MessageParser<ScUpdateGameVar>(() => new ScUpdateGameVar());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScUpdateGameVar> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[628]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScUpdateGameVar() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScUpdateGameVar(ScUpdateGameVar other) : this() {
    key_ = other.key_;
    value_ = other.value_;
    type_ = other.type_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScUpdateGameVar Clone() {
    return new ScUpdateGameVar(this);
  }

  /// <summary>Field number for the "key" field.</summary>
  public const int KeyFieldNumber = 1;
  private int key_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Key {
    get { return key_; }
    set {
      key_ = value;
    }
  }

  /// <summary>Field number for the "value" field.</summary>
  public const int ValueFieldNumber = 2;
  private long value_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long Value {
    get { return value_; }
    set {
      value_ = value;
    }
  }

  /// <summary>Field number for the "type" field.</summary>
  public const int TypeFieldNumber = 3;
  private int type_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Type {
    get { return type_; }
    set {
      type_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScUpdateGameVar);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScUpdateGameVar other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Key != other.Key) return false;
    if (Value != other.Value) return false;
    if (Type != other.Type) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Key != 0) hash ^= Key.GetHashCode();
    if (Value != 0L) hash ^= Value.GetHashCode();
    if (Type != 0) hash ^= Type.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Key != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(Key);
    }
    if (Value != 0L) {
      output.WriteRawTag(16);
      output.WriteInt64(Value);
    }
    if (Type != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(Type);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Key != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Key);
    }
    if (Value != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(Value);
    }
    if (Type != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Type);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScUpdateGameVar other) {
    if (other == null) {
      return;
    }
    if (other.Key != 0) {
      Key = other.Key;
    }
    if (other.Value != 0L) {
      Value = other.Value;
    }
    if (other.Type != 0) {
      Type = other.Type;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Key = input.ReadInt32();
          break;
        }
        case 16: {
          Value = input.ReadInt64();
          break;
        }
        case 24: {
          Type = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class CsGemRecast : pb::IMessage<CsGemRecast> {
  private static readonly pb::MessageParser<CsGemRecast> _parser = new pb::MessageParser<CsGemRecast>(() => new CsGemRecast());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsGemRecast> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[629]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsGemRecast() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsGemRecast(CsGemRecast other) : this() {
    formulaId_ = other.formulaId_;
    count_ = other.count_;
    costGemInstIds_ = other.costGemInstIds_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsGemRecast Clone() {
    return new CsGemRecast(this);
  }

  /// <summary>Field number for the "formula_id" field.</summary>
  public const int FormulaIdFieldNumber = 1;
  private string formulaId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string FormulaId {
    get { return formulaId_; }
    set {
      formulaId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "count" field.</summary>
  public const int CountFieldNumber = 2;
  private int count_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Count {
    get { return count_; }
    set {
      count_ = value;
    }
  }

  /// <summary>Field number for the "cost_gem_inst_ids" field.</summary>
  public const int CostGemInstIdsFieldNumber = 3;
  private static readonly pb::FieldCodec<ulong> _repeated_costGemInstIds_codec
      = pb::FieldCodec.ForUInt64(26);
  private readonly pbc::RepeatedField<ulong> costGemInstIds_ = new pbc::RepeatedField<ulong>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<ulong> CostGemInstIds {
    get { return costGemInstIds_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsGemRecast);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsGemRecast other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (FormulaId != other.FormulaId) return false;
    if (Count != other.Count) return false;
    if(!costGemInstIds_.Equals(other.costGemInstIds_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (FormulaId.Length != 0) hash ^= FormulaId.GetHashCode();
    if (Count != 0) hash ^= Count.GetHashCode();
    hash ^= costGemInstIds_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (FormulaId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(FormulaId);
    }
    if (Count != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(Count);
    }
    costGemInstIds_.WriteTo(output, _repeated_costGemInstIds_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (FormulaId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(FormulaId);
    }
    if (Count != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Count);
    }
    size += costGemInstIds_.CalculateSize(_repeated_costGemInstIds_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsGemRecast other) {
    if (other == null) {
      return;
    }
    if (other.FormulaId.Length != 0) {
      FormulaId = other.FormulaId;
    }
    if (other.Count != 0) {
      Count = other.Count;
    }
    costGemInstIds_.Add(other.costGemInstIds_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          FormulaId = input.ReadString();
          break;
        }
        case 16: {
          Count = input.ReadInt32();
          break;
        }
        case 26:
        case 24: {
          costGemInstIds_.AddEntriesFrom(input, _repeated_costGemInstIds_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScGemRecast : pb::IMessage<ScGemRecast> {
  private static readonly pb::MessageParser<ScGemRecast> _parser = new pb::MessageParser<ScGemRecast>(() => new ScGemRecast());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScGemRecast> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[630]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScGemRecast() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScGemRecast(ScGemRecast other) : this() {
    formulaId_ = other.formulaId_;
    count_ = other.count_;
    gemInstIds_ = other.gemInstIds_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScGemRecast Clone() {
    return new ScGemRecast(this);
  }

  /// <summary>Field number for the "formula_id" field.</summary>
  public const int FormulaIdFieldNumber = 1;
  private string formulaId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string FormulaId {
    get { return formulaId_; }
    set {
      formulaId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "count" field.</summary>
  public const int CountFieldNumber = 2;
  private int count_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Count {
    get { return count_; }
    set {
      count_ = value;
    }
  }

  /// <summary>Field number for the "gem_inst_ids" field.</summary>
  public const int GemInstIdsFieldNumber = 3;
  private static readonly pb::FieldCodec<ulong> _repeated_gemInstIds_codec
      = pb::FieldCodec.ForUInt64(26);
  private readonly pbc::RepeatedField<ulong> gemInstIds_ = new pbc::RepeatedField<ulong>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<ulong> GemInstIds {
    get { return gemInstIds_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScGemRecast);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScGemRecast other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (FormulaId != other.FormulaId) return false;
    if (Count != other.Count) return false;
    if(!gemInstIds_.Equals(other.gemInstIds_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (FormulaId.Length != 0) hash ^= FormulaId.GetHashCode();
    if (Count != 0) hash ^= Count.GetHashCode();
    hash ^= gemInstIds_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (FormulaId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(FormulaId);
    }
    if (Count != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(Count);
    }
    gemInstIds_.WriteTo(output, _repeated_gemInstIds_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (FormulaId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(FormulaId);
    }
    if (Count != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Count);
    }
    size += gemInstIds_.CalculateSize(_repeated_gemInstIds_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScGemRecast other) {
    if (other == null) {
      return;
    }
    if (other.FormulaId.Length != 0) {
      FormulaId = other.FormulaId;
    }
    if (other.Count != 0) {
      Count = other.Count;
    }
    gemInstIds_.Add(other.gemInstIds_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          FormulaId = input.ReadString();
          break;
        }
        case 16: {
          Count = input.ReadInt32();
          break;
        }
        case 26:
        case 24: {
          gemInstIds_.AddEntriesFrom(input, _repeated_gemInstIds_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class GuideGroupInfo : pb::IMessage<GuideGroupInfo> {
  private static readonly pb::MessageParser<GuideGroupInfo> _parser = new pb::MessageParser<GuideGroupInfo>(() => new GuideGroupInfo());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<GuideGroupInfo> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[631]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public GuideGroupInfo() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public GuideGroupInfo(GuideGroupInfo other) : this() {
    guideGroupId_ = other.guideGroupId_;
    guideState_ = other.guideState_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public GuideGroupInfo Clone() {
    return new GuideGroupInfo(this);
  }

  /// <summary>Field number for the "guide_group_id" field.</summary>
  public const int GuideGroupIdFieldNumber = 1;
  private string guideGroupId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string GuideGroupId {
    get { return guideGroupId_; }
    set {
      guideGroupId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "guide_state" field.</summary>
  public const int GuideStateFieldNumber = 2;
  private int guideState_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int GuideState {
    get { return guideState_; }
    set {
      guideState_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as GuideGroupInfo);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(GuideGroupInfo other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (GuideGroupId != other.GuideGroupId) return false;
    if (GuideState != other.GuideState) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (GuideGroupId.Length != 0) hash ^= GuideGroupId.GetHashCode();
    if (GuideState != 0) hash ^= GuideState.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (GuideGroupId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(GuideGroupId);
    }
    if (GuideState != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(GuideState);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (GuideGroupId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(GuideGroupId);
    }
    if (GuideState != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(GuideState);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(GuideGroupInfo other) {
    if (other == null) {
      return;
    }
    if (other.GuideGroupId.Length != 0) {
      GuideGroupId = other.GuideGroupId;
    }
    if (other.GuideState != 0) {
      GuideState = other.GuideState;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          GuideGroupId = input.ReadString();
          break;
        }
        case 16: {
          GuideState = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class CsCompleteGuideGroupKeyStep : pb::IMessage<CsCompleteGuideGroupKeyStep> {
  private static readonly pb::MessageParser<CsCompleteGuideGroupKeyStep> _parser = new pb::MessageParser<CsCompleteGuideGroupKeyStep>(() => new CsCompleteGuideGroupKeyStep());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsCompleteGuideGroupKeyStep> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[632]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsCompleteGuideGroupKeyStep() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsCompleteGuideGroupKeyStep(CsCompleteGuideGroupKeyStep other) : this() {
    guideGroupId_ = other.guideGroupId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsCompleteGuideGroupKeyStep Clone() {
    return new CsCompleteGuideGroupKeyStep(this);
  }

  /// <summary>Field number for the "guide_group_id" field.</summary>
  public const int GuideGroupIdFieldNumber = 1;
  private string guideGroupId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string GuideGroupId {
    get { return guideGroupId_; }
    set {
      guideGroupId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsCompleteGuideGroupKeyStep);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsCompleteGuideGroupKeyStep other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (GuideGroupId != other.GuideGroupId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (GuideGroupId.Length != 0) hash ^= GuideGroupId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (GuideGroupId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(GuideGroupId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (GuideGroupId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(GuideGroupId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsCompleteGuideGroupKeyStep other) {
    if (other == null) {
      return;
    }
    if (other.GuideGroupId.Length != 0) {
      GuideGroupId = other.GuideGroupId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          GuideGroupId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class CsCompleteGuideGroup : pb::IMessage<CsCompleteGuideGroup> {
  private static readonly pb::MessageParser<CsCompleteGuideGroup> _parser = new pb::MessageParser<CsCompleteGuideGroup>(() => new CsCompleteGuideGroup());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsCompleteGuideGroup> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[633]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsCompleteGuideGroup() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsCompleteGuideGroup(CsCompleteGuideGroup other) : this() {
    guideGroupId_ = other.guideGroupId_;
    notAutoAccept_ = other.notAutoAccept_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsCompleteGuideGroup Clone() {
    return new CsCompleteGuideGroup(this);
  }

  /// <summary>Field number for the "guide_group_id" field.</summary>
  public const int GuideGroupIdFieldNumber = 1;
  private string guideGroupId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string GuideGroupId {
    get { return guideGroupId_; }
    set {
      guideGroupId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "not_auto_accept" field.</summary>
  public const int NotAutoAcceptFieldNumber = 2;
  private bool notAutoAccept_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool NotAutoAccept {
    get { return notAutoAccept_; }
    set {
      notAutoAccept_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsCompleteGuideGroup);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsCompleteGuideGroup other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (GuideGroupId != other.GuideGroupId) return false;
    if (NotAutoAccept != other.NotAutoAccept) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (GuideGroupId.Length != 0) hash ^= GuideGroupId.GetHashCode();
    if (NotAutoAccept != false) hash ^= NotAutoAccept.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (GuideGroupId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(GuideGroupId);
    }
    if (NotAutoAccept != false) {
      output.WriteRawTag(16);
      output.WriteBool(NotAutoAccept);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (GuideGroupId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(GuideGroupId);
    }
    if (NotAutoAccept != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsCompleteGuideGroup other) {
    if (other == null) {
      return;
    }
    if (other.GuideGroupId.Length != 0) {
      GuideGroupId = other.GuideGroupId;
    }
    if (other.NotAutoAccept != false) {
      NotAutoAccept = other.NotAutoAccept;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          GuideGroupId = input.ReadString();
          break;
        }
        case 16: {
          NotAutoAccept = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class ScSyncAllGuide : pb::IMessage<ScSyncAllGuide> {
  private static readonly pb::MessageParser<ScSyncAllGuide> _parser = new pb::MessageParser<ScSyncAllGuide>(() => new ScSyncAllGuide());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSyncAllGuide> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[634]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncAllGuide() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncAllGuide(ScSyncAllGuide other) : this() {
    guideGroupList_ = other.guideGroupList_.Clone();
    completedRepeatAcceptGuideGroupList_ = other.completedRepeatAcceptGuideGroupList_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncAllGuide Clone() {
    return new ScSyncAllGuide(this);
  }

  /// <summary>Field number for the "guide_group_list" field.</summary>
  public const int GuideGroupListFieldNumber = 1;
  private static readonly pb::FieldCodec<global::GuideGroupInfo> _repeated_guideGroupList_codec
      = pb::FieldCodec.ForMessage(10, global::GuideGroupInfo.Parser);
  private readonly pbc::RepeatedField<global::GuideGroupInfo> guideGroupList_ = new pbc::RepeatedField<global::GuideGroupInfo>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::GuideGroupInfo> GuideGroupList {
    get { return guideGroupList_; }
  }

  /// <summary>Field number for the "completed_repeat_accept_guide_group_list" field.</summary>
  public const int CompletedRepeatAcceptGuideGroupListFieldNumber = 2;
  private static readonly pb::FieldCodec<string> _repeated_completedRepeatAcceptGuideGroupList_codec
      = pb::FieldCodec.ForString(18);
  private readonly pbc::RepeatedField<string> completedRepeatAcceptGuideGroupList_ = new pbc::RepeatedField<string>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<string> CompletedRepeatAcceptGuideGroupList {
    get { return completedRepeatAcceptGuideGroupList_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSyncAllGuide);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSyncAllGuide other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!guideGroupList_.Equals(other.guideGroupList_)) return false;
    if(!completedRepeatAcceptGuideGroupList_.Equals(other.completedRepeatAcceptGuideGroupList_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= guideGroupList_.GetHashCode();
    hash ^= completedRepeatAcceptGuideGroupList_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    guideGroupList_.WriteTo(output, _repeated_guideGroupList_codec);
    completedRepeatAcceptGuideGroupList_.WriteTo(output, _repeated_completedRepeatAcceptGuideGroupList_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += guideGroupList_.CalculateSize(_repeated_guideGroupList_codec);
    size += completedRepeatAcceptGuideGroupList_.CalculateSize(_repeated_completedRepeatAcceptGuideGroupList_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSyncAllGuide other) {
    if (other == null) {
      return;
    }
    guideGroupList_.Add(other.guideGroupList_);
    completedRepeatAcceptGuideGroupList_.Add(other.completedRepeatAcceptGuideGroupList_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          guideGroupList_.AddEntriesFrom(input, _repeated_guideGroupList_codec);
          break;
        }
        case 18: {
          completedRepeatAcceptGuideGroupList_.AddEntriesFrom(input, _repeated_completedRepeatAcceptGuideGroupList_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScAcceptGuideGroup : pb::IMessage<ScAcceptGuideGroup> {
  private static readonly pb::MessageParser<ScAcceptGuideGroup> _parser = new pb::MessageParser<ScAcceptGuideGroup>(() => new ScAcceptGuideGroup());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScAcceptGuideGroup> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[635]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScAcceptGuideGroup() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScAcceptGuideGroup(ScAcceptGuideGroup other) : this() {
    guideGroupId_ = other.guideGroupId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScAcceptGuideGroup Clone() {
    return new ScAcceptGuideGroup(this);
  }

  /// <summary>Field number for the "guide_group_id" field.</summary>
  public const int GuideGroupIdFieldNumber = 1;
  private string guideGroupId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string GuideGroupId {
    get { return guideGroupId_; }
    set {
      guideGroupId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScAcceptGuideGroup);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScAcceptGuideGroup other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (GuideGroupId != other.GuideGroupId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (GuideGroupId.Length != 0) hash ^= GuideGroupId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (GuideGroupId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(GuideGroupId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (GuideGroupId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(GuideGroupId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScAcceptGuideGroup other) {
    if (other == null) {
      return;
    }
    if (other.GuideGroupId.Length != 0) {
      GuideGroupId = other.GuideGroupId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          GuideGroupId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class ScCompleteGuideGroupKeyStep : pb::IMessage<ScCompleteGuideGroupKeyStep> {
  private static readonly pb::MessageParser<ScCompleteGuideGroupKeyStep> _parser = new pb::MessageParser<ScCompleteGuideGroupKeyStep>(() => new ScCompleteGuideGroupKeyStep());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScCompleteGuideGroupKeyStep> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[636]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScCompleteGuideGroupKeyStep() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScCompleteGuideGroupKeyStep(ScCompleteGuideGroupKeyStep other) : this() {
    guideGroupId_ = other.guideGroupId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScCompleteGuideGroupKeyStep Clone() {
    return new ScCompleteGuideGroupKeyStep(this);
  }

  /// <summary>Field number for the "guide_group_id" field.</summary>
  public const int GuideGroupIdFieldNumber = 1;
  private string guideGroupId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string GuideGroupId {
    get { return guideGroupId_; }
    set {
      guideGroupId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScCompleteGuideGroupKeyStep);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScCompleteGuideGroupKeyStep other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (GuideGroupId != other.GuideGroupId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (GuideGroupId.Length != 0) hash ^= GuideGroupId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (GuideGroupId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(GuideGroupId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (GuideGroupId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(GuideGroupId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScCompleteGuideGroupKeyStep other) {
    if (other == null) {
      return;
    }
    if (other.GuideGroupId.Length != 0) {
      GuideGroupId = other.GuideGroupId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          GuideGroupId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class ScCompleteGuideGroup : pb::IMessage<ScCompleteGuideGroup> {
  private static readonly pb::MessageParser<ScCompleteGuideGroup> _parser = new pb::MessageParser<ScCompleteGuideGroup>(() => new ScCompleteGuideGroup());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScCompleteGuideGroup> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[637]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScCompleteGuideGroup() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScCompleteGuideGroup(ScCompleteGuideGroup other) : this() {
    guideGroupId_ = other.guideGroupId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScCompleteGuideGroup Clone() {
    return new ScCompleteGuideGroup(this);
  }

  /// <summary>Field number for the "guide_group_id" field.</summary>
  public const int GuideGroupIdFieldNumber = 1;
  private string guideGroupId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string GuideGroupId {
    get { return guideGroupId_; }
    set {
      guideGroupId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScCompleteGuideGroup);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScCompleteGuideGroup other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (GuideGroupId != other.GuideGroupId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (GuideGroupId.Length != 0) hash ^= GuideGroupId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (GuideGroupId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(GuideGroupId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (GuideGroupId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(GuideGroupId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScCompleteGuideGroup other) {
    if (other == null) {
      return;
    }
    if (other.GuideGroupId.Length != 0) {
      GuideGroupId = other.GuideGroupId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          GuideGroupId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdItemBag : pb::IMessage<ScdItemBag> {
  private static readonly pb::MessageParser<ScdItemBag> _parser = new pb::MessageParser<ScdItemBag>(() => new ScdItemBag());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdItemBag> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[638]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdItemBag() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdItemBag(ScdItemBag other) : this() {
    gridLimit_ = other.gridLimit_;
    grids_ = other.grids_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdItemBag Clone() {
    return new ScdItemBag(this);
  }

  /// <summary>Field number for the "grid_limit" field.</summary>
  public const int GridLimitFieldNumber = 1;
  private int gridLimit_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int GridLimit {
    get { return gridLimit_; }
    set {
      gridLimit_ = value;
    }
  }

  /// <summary>Field number for the "grids" field.</summary>
  public const int GridsFieldNumber = 2;
  private static readonly pb::FieldCodec<global::ScdItemGrid> _repeated_grids_codec
      = pb::FieldCodec.ForMessage(18, global::ScdItemGrid.Parser);
  private readonly pbc::RepeatedField<global::ScdItemGrid> grids_ = new pbc::RepeatedField<global::ScdItemGrid>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdItemGrid> Grids {
    get { return grids_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdItemBag);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdItemBag other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (GridLimit != other.GridLimit) return false;
    if(!grids_.Equals(other.grids_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (GridLimit != 0) hash ^= GridLimit.GetHashCode();
    hash ^= grids_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (GridLimit != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(GridLimit);
    }
    grids_.WriteTo(output, _repeated_grids_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (GridLimit != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(GridLimit);
    }
    size += grids_.CalculateSize(_repeated_grids_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdItemBag other) {
    if (other == null) {
      return;
    }
    if (other.GridLimit != 0) {
      GridLimit = other.GridLimit;
    }
    grids_.Add(other.grids_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          GridLimit = input.ReadInt32();
          break;
        }
        case 18: {
          grids_.AddEntriesFrom(input, _repeated_grids_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScdItemDepot : pb::IMessage<ScdItemDepot> {
  private static readonly pb::MessageParser<ScdItemDepot> _parser = new pb::MessageParser<ScdItemDepot>(() => new ScdItemDepot());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdItemDepot> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[639]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdItemDepot() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdItemDepot(ScdItemDepot other) : this() {
    stackableItems_ = other.stackableItems_.Clone();
    instList_ = other.instList_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdItemDepot Clone() {
    return new ScdItemDepot(this);
  }

  /// <summary>Field number for the "stackable_items" field.</summary>
  public const int StackableItemsFieldNumber = 1;
  private static readonly pbc::MapField<string, int>.Codec _map_stackableItems_codec
      = new pbc::MapField<string, int>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForInt32(16), 10);
  private readonly pbc::MapField<string, int> stackableItems_ = new pbc::MapField<string, int>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<string, int> StackableItems {
    get { return stackableItems_; }
  }

  /// <summary>Field number for the "inst_list" field.</summary>
  public const int InstListFieldNumber = 2;
  private static readonly pb::FieldCodec<global::ScdItemGrid> _repeated_instList_codec
      = pb::FieldCodec.ForMessage(18, global::ScdItemGrid.Parser);
  private readonly pbc::RepeatedField<global::ScdItemGrid> instList_ = new pbc::RepeatedField<global::ScdItemGrid>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdItemGrid> InstList {
    get { return instList_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdItemDepot);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdItemDepot other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!StackableItems.Equals(other.StackableItems)) return false;
    if(!instList_.Equals(other.instList_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= StackableItems.GetHashCode();
    hash ^= instList_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    stackableItems_.WriteTo(output, _map_stackableItems_codec);
    instList_.WriteTo(output, _repeated_instList_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += stackableItems_.CalculateSize(_map_stackableItems_codec);
    size += instList_.CalculateSize(_repeated_instList_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdItemDepot other) {
    if (other == null) {
      return;
    }
    stackableItems_.Add(other.stackableItems_);
    instList_.Add(other.instList_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          stackableItems_.AddEntriesFrom(input, _map_stackableItems_codec);
          break;
        }
        case 18: {
          instList_.AddEntriesFrom(input, _repeated_instList_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScdItemLostAndFound : pb::IMessage<ScdItemLostAndFound> {
  private static readonly pb::MessageParser<ScdItemLostAndFound> _parser = new pb::MessageParser<ScdItemLostAndFound>(() => new ScdItemLostAndFound());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdItemLostAndFound> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[640]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdItemLostAndFound() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdItemLostAndFound(ScdItemLostAndFound other) : this() {
    stackableItems_ = other.stackableItems_.Clone();
    instList_ = other.instList_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdItemLostAndFound Clone() {
    return new ScdItemLostAndFound(this);
  }

  /// <summary>Field number for the "stackable_items" field.</summary>
  public const int StackableItemsFieldNumber = 1;
  private static readonly pbc::MapField<string, int>.Codec _map_stackableItems_codec
      = new pbc::MapField<string, int>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForInt32(16), 10);
  private readonly pbc::MapField<string, int> stackableItems_ = new pbc::MapField<string, int>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<string, int> StackableItems {
    get { return stackableItems_; }
  }

  /// <summary>Field number for the "inst_list" field.</summary>
  public const int InstListFieldNumber = 2;
  private static readonly pb::FieldCodec<global::ScdItemGrid> _repeated_instList_codec
      = pb::FieldCodec.ForMessage(18, global::ScdItemGrid.Parser);
  private readonly pbc::RepeatedField<global::ScdItemGrid> instList_ = new pbc::RepeatedField<global::ScdItemGrid>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdItemGrid> InstList {
    get { return instList_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdItemLostAndFound);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdItemLostAndFound other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!StackableItems.Equals(other.StackableItems)) return false;
    if(!instList_.Equals(other.instList_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= StackableItems.GetHashCode();
    hash ^= instList_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    stackableItems_.WriteTo(output, _map_stackableItems_codec);
    instList_.WriteTo(output, _repeated_instList_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += stackableItems_.CalculateSize(_map_stackableItems_codec);
    size += instList_.CalculateSize(_repeated_instList_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdItemLostAndFound other) {
    if (other == null) {
      return;
    }
    stackableItems_.Add(other.stackableItems_);
    instList_.Add(other.instList_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          stackableItems_.AddEntriesFrom(input, _map_stackableItems_codec);
          break;
        }
        case 18: {
          instList_.AddEntriesFrom(input, _repeated_instList_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScdItemBagModify : pb::IMessage<ScdItemBagModify> {
  private static readonly pb::MessageParser<ScdItemBagModify> _parser = new pb::MessageParser<ScdItemBagModify>(() => new ScdItemBagModify());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdItemBagModify> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[641]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdItemBagModify() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdItemBagModify(ScdItemBagModify other) : this() {
    gridLimit_ = other.gridLimit_;
    grids_ = other.grids_.Clone();
    delList_ = other.delList_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdItemBagModify Clone() {
    return new ScdItemBagModify(this);
  }

  /// <summary>Field number for the "grid_limit" field.</summary>
  public const int GridLimitFieldNumber = 1;
  private int gridLimit_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int GridLimit {
    get { return gridLimit_; }
    set {
      gridLimit_ = value;
    }
  }

  /// <summary>Field number for the "grids" field.</summary>
  public const int GridsFieldNumber = 2;
  private static readonly pb::FieldCodec<global::ScdItemGrid> _repeated_grids_codec
      = pb::FieldCodec.ForMessage(18, global::ScdItemGrid.Parser);
  private readonly pbc::RepeatedField<global::ScdItemGrid> grids_ = new pbc::RepeatedField<global::ScdItemGrid>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdItemGrid> Grids {
    get { return grids_; }
  }

  /// <summary>Field number for the "del_list" field.</summary>
  public const int DelListFieldNumber = 3;
  private static readonly pb::FieldCodec<int> _repeated_delList_codec
      = pb::FieldCodec.ForInt32(26);
  private readonly pbc::RepeatedField<int> delList_ = new pbc::RepeatedField<int>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<int> DelList {
    get { return delList_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdItemBagModify);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdItemBagModify other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (GridLimit != other.GridLimit) return false;
    if(!grids_.Equals(other.grids_)) return false;
    if(!delList_.Equals(other.delList_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (GridLimit != 0) hash ^= GridLimit.GetHashCode();
    hash ^= grids_.GetHashCode();
    hash ^= delList_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (GridLimit != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(GridLimit);
    }
    grids_.WriteTo(output, _repeated_grids_codec);
    delList_.WriteTo(output, _repeated_delList_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (GridLimit != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(GridLimit);
    }
    size += grids_.CalculateSize(_repeated_grids_codec);
    size += delList_.CalculateSize(_repeated_delList_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdItemBagModify other) {
    if (other == null) {
      return;
    }
    if (other.GridLimit != 0) {
      GridLimit = other.GridLimit;
    }
    grids_.Add(other.grids_);
    delList_.Add(other.delList_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          GridLimit = input.ReadInt32();
          break;
        }
        case 18: {
          grids_.AddEntriesFrom(input, _repeated_grids_codec);
          break;
        }
        case 26:
        case 24: {
          delList_.AddEntriesFrom(input, _repeated_delList_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScdItemDepotModify : pb::IMessage<ScdItemDepotModify> {
  private static readonly pb::MessageParser<ScdItemDepotModify> _parser = new pb::MessageParser<ScdItemDepotModify>(() => new ScdItemDepotModify());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdItemDepotModify> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[642]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdItemDepotModify() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdItemDepotModify(ScdItemDepotModify other) : this() {
    items_ = other.items_.Clone();
    instList_ = other.instList_.Clone();
    delInstList_ = other.delInstList_.Clone();
    infiniteItems_ = other.infiniteItems_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdItemDepotModify Clone() {
    return new ScdItemDepotModify(this);
  }

  /// <summary>Field number for the "items" field.</summary>
  public const int ItemsFieldNumber = 1;
  private static readonly pbc::MapField<string, int>.Codec _map_items_codec
      = new pbc::MapField<string, int>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForInt32(16), 10);
  private readonly pbc::MapField<string, int> items_ = new pbc::MapField<string, int>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<string, int> Items {
    get { return items_; }
  }

  /// <summary>Field number for the "inst_list" field.</summary>
  public const int InstListFieldNumber = 2;
  private static readonly pb::FieldCodec<global::ScdItemGrid> _repeated_instList_codec
      = pb::FieldCodec.ForMessage(18, global::ScdItemGrid.Parser);
  private readonly pbc::RepeatedField<global::ScdItemGrid> instList_ = new pbc::RepeatedField<global::ScdItemGrid>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdItemGrid> InstList {
    get { return instList_; }
  }

  /// <summary>Field number for the "del_inst_list" field.</summary>
  public const int DelInstListFieldNumber = 3;
  private static readonly pb::FieldCodec<ulong> _repeated_delInstList_codec
      = pb::FieldCodec.ForUInt64(26);
  private readonly pbc::RepeatedField<ulong> delInstList_ = new pbc::RepeatedField<ulong>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<ulong> DelInstList {
    get { return delInstList_; }
  }

  /// <summary>Field number for the "infinite_items" field.</summary>
  public const int InfiniteItemsFieldNumber = 4;
  private static readonly pbc::MapField<string, bool>.Codec _map_infiniteItems_codec
      = new pbc::MapField<string, bool>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForBool(16), 34);
  private readonly pbc::MapField<string, bool> infiniteItems_ = new pbc::MapField<string, bool>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<string, bool> InfiniteItems {
    get { return infiniteItems_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdItemDepotModify);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdItemDepotModify other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!Items.Equals(other.Items)) return false;
    if(!instList_.Equals(other.instList_)) return false;
    if(!delInstList_.Equals(other.delInstList_)) return false;
    if (!InfiniteItems.Equals(other.InfiniteItems)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= Items.GetHashCode();
    hash ^= instList_.GetHashCode();
    hash ^= delInstList_.GetHashCode();
    hash ^= InfiniteItems.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    items_.WriteTo(output, _map_items_codec);
    instList_.WriteTo(output, _repeated_instList_codec);
    delInstList_.WriteTo(output, _repeated_delInstList_codec);
    infiniteItems_.WriteTo(output, _map_infiniteItems_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += items_.CalculateSize(_map_items_codec);
    size += instList_.CalculateSize(_repeated_instList_codec);
    size += delInstList_.CalculateSize(_repeated_delInstList_codec);
    size += infiniteItems_.CalculateSize(_map_infiniteItems_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdItemDepotModify other) {
    if (other == null) {
      return;
    }
    items_.Add(other.items_);
    instList_.Add(other.instList_);
    delInstList_.Add(other.delInstList_);
    infiniteItems_.Add(other.infiniteItems_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          items_.AddEntriesFrom(input, _map_items_codec);
          break;
        }
        case 18: {
          instList_.AddEntriesFrom(input, _repeated_instList_codec);
          break;
        }
        case 26:
        case 24: {
          delInstList_.AddEntriesFrom(input, _repeated_delInstList_codec);
          break;
        }
        case 34: {
          infiniteItems_.AddEntriesFrom(input, _map_infiniteItems_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScdItemLostAndFoundModify : pb::IMessage<ScdItemLostAndFoundModify> {
  private static readonly pb::MessageParser<ScdItemLostAndFoundModify> _parser = new pb::MessageParser<ScdItemLostAndFoundModify>(() => new ScdItemLostAndFoundModify());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdItemLostAndFoundModify> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[643]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdItemLostAndFoundModify() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdItemLostAndFoundModify(ScdItemLostAndFoundModify other) : this() {
    items_ = other.items_.Clone();
    instList_ = other.instList_.Clone();
    delInstList_ = other.delInstList_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdItemLostAndFoundModify Clone() {
    return new ScdItemLostAndFoundModify(this);
  }

  /// <summary>Field number for the "items" field.</summary>
  public const int ItemsFieldNumber = 1;
  private static readonly pbc::MapField<string, int>.Codec _map_items_codec
      = new pbc::MapField<string, int>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForInt32(16), 10);
  private readonly pbc::MapField<string, int> items_ = new pbc::MapField<string, int>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<string, int> Items {
    get { return items_; }
  }

  /// <summary>Field number for the "inst_list" field.</summary>
  public const int InstListFieldNumber = 2;
  private static readonly pb::FieldCodec<global::ScdItemGrid> _repeated_instList_codec
      = pb::FieldCodec.ForMessage(18, global::ScdItemGrid.Parser);
  private readonly pbc::RepeatedField<global::ScdItemGrid> instList_ = new pbc::RepeatedField<global::ScdItemGrid>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdItemGrid> InstList {
    get { return instList_; }
  }

  /// <summary>Field number for the "del_inst_list" field.</summary>
  public const int DelInstListFieldNumber = 3;
  private static readonly pb::FieldCodec<ulong> _repeated_delInstList_codec
      = pb::FieldCodec.ForUInt64(26);
  private readonly pbc::RepeatedField<ulong> delInstList_ = new pbc::RepeatedField<ulong>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<ulong> DelInstList {
    get { return delInstList_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdItemLostAndFoundModify);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdItemLostAndFoundModify other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!Items.Equals(other.Items)) return false;
    if(!instList_.Equals(other.instList_)) return false;
    if(!delInstList_.Equals(other.delInstList_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= Items.GetHashCode();
    hash ^= instList_.GetHashCode();
    hash ^= delInstList_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    items_.WriteTo(output, _map_items_codec);
    instList_.WriteTo(output, _repeated_instList_codec);
    delInstList_.WriteTo(output, _repeated_delInstList_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += items_.CalculateSize(_map_items_codec);
    size += instList_.CalculateSize(_repeated_instList_codec);
    size += delInstList_.CalculateSize(_repeated_delInstList_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdItemLostAndFoundModify other) {
    if (other == null) {
      return;
    }
    items_.Add(other.items_);
    instList_.Add(other.instList_);
    delInstList_.Add(other.delInstList_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          items_.AddEntriesFrom(input, _map_items_codec);
          break;
        }
        case 18: {
          instList_.AddEntriesFrom(input, _repeated_instList_codec);
          break;
        }
        case 26:
        case 24: {
          delInstList_.AddEntriesFrom(input, _repeated_delInstList_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class CsItemBagTidyInBag : pb::IMessage<CsItemBagTidyInBag> {
  private static readonly pb::MessageParser<CsItemBagTidyInBag> _parser = new pb::MessageParser<CsItemBagTidyInBag>(() => new CsItemBagTidyInBag());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsItemBagTidyInBag> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[644]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsItemBagTidyInBag() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsItemBagTidyInBag(CsItemBagTidyInBag other) : this() {
    scopeName_ = other.scopeName_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsItemBagTidyInBag Clone() {
    return new CsItemBagTidyInBag(this);
  }

  /// <summary>Field number for the "scope_name" field.</summary>
  public const int ScopeNameFieldNumber = 11;
  private int scopeName_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ScopeName {
    get { return scopeName_; }
    set {
      scopeName_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsItemBagTidyInBag);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsItemBagTidyInBag other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ScopeName != other.ScopeName) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ScopeName != 0) hash ^= ScopeName.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ScopeName != 0) {
      output.WriteRawTag(88);
      output.WriteInt32(ScopeName);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ScopeName != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ScopeName);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsItemBagTidyInBag other) {
    if (other == null) {
      return;
    }
    if (other.ScopeName != 0) {
      ScopeName = other.ScopeName;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 88: {
          ScopeName = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class CsItemBagMoveInBag : pb::IMessage<CsItemBagMoveInBag> {
  private static readonly pb::MessageParser<CsItemBagMoveInBag> _parser = new pb::MessageParser<CsItemBagMoveInBag>(() => new CsItemBagMoveInBag());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsItemBagMoveInBag> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[645]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsItemBagMoveInBag() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsItemBagMoveInBag(CsItemBagMoveInBag other) : this() {
    fromGrid_ = other.fromGrid_;
    toGrid_ = other.toGrid_;
    scopeName_ = other.scopeName_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsItemBagMoveInBag Clone() {
    return new CsItemBagMoveInBag(this);
  }

  /// <summary>Field number for the "from_grid" field.</summary>
  public const int FromGridFieldNumber = 1;
  private int fromGrid_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int FromGrid {
    get { return fromGrid_; }
    set {
      fromGrid_ = value;
    }
  }

  /// <summary>Field number for the "to_grid" field.</summary>
  public const int ToGridFieldNumber = 2;
  private int toGrid_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ToGrid {
    get { return toGrid_; }
    set {
      toGrid_ = value;
    }
  }

  /// <summary>Field number for the "scope_name" field.</summary>
  public const int ScopeNameFieldNumber = 11;
  private int scopeName_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ScopeName {
    get { return scopeName_; }
    set {
      scopeName_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsItemBagMoveInBag);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsItemBagMoveInBag other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (FromGrid != other.FromGrid) return false;
    if (ToGrid != other.ToGrid) return false;
    if (ScopeName != other.ScopeName) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (FromGrid != 0) hash ^= FromGrid.GetHashCode();
    if (ToGrid != 0) hash ^= ToGrid.GetHashCode();
    if (ScopeName != 0) hash ^= ScopeName.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (FromGrid != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(FromGrid);
    }
    if (ToGrid != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(ToGrid);
    }
    if (ScopeName != 0) {
      output.WriteRawTag(88);
      output.WriteInt32(ScopeName);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (FromGrid != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(FromGrid);
    }
    if (ToGrid != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ToGrid);
    }
    if (ScopeName != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ScopeName);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsItemBagMoveInBag other) {
    if (other == null) {
      return;
    }
    if (other.FromGrid != 0) {
      FromGrid = other.FromGrid;
    }
    if (other.ToGrid != 0) {
      ToGrid = other.ToGrid;
    }
    if (other.ScopeName != 0) {
      ScopeName = other.ScopeName;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          FromGrid = input.ReadInt32();
          break;
        }
        case 16: {
          ToGrid = input.ReadInt32();
          break;
        }
        case 88: {
          ScopeName = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class CsItemBagSplitInBag : pb::IMessage<CsItemBagSplitInBag> {
  private static readonly pb::MessageParser<CsItemBagSplitInBag> _parser = new pb::MessageParser<CsItemBagSplitInBag>(() => new CsItemBagSplitInBag());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsItemBagSplitInBag> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[646]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsItemBagSplitInBag() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsItemBagSplitInBag(CsItemBagSplitInBag other) : this() {
    fromGrid_ = other.fromGrid_;
    toGrid_ = other.toGrid_;
    moveCount_ = other.moveCount_;
    scopeName_ = other.scopeName_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsItemBagSplitInBag Clone() {
    return new CsItemBagSplitInBag(this);
  }

  /// <summary>Field number for the "from_grid" field.</summary>
  public const int FromGridFieldNumber = 1;
  private int fromGrid_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int FromGrid {
    get { return fromGrid_; }
    set {
      fromGrid_ = value;
    }
  }

  /// <summary>Field number for the "to_grid" field.</summary>
  public const int ToGridFieldNumber = 2;
  private int toGrid_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ToGrid {
    get { return toGrid_; }
    set {
      toGrid_ = value;
    }
  }

  /// <summary>Field number for the "move_count" field.</summary>
  public const int MoveCountFieldNumber = 3;
  private int moveCount_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int MoveCount {
    get { return moveCount_; }
    set {
      moveCount_ = value;
    }
  }

  /// <summary>Field number for the "scope_name" field.</summary>
  public const int ScopeNameFieldNumber = 11;
  private int scopeName_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ScopeName {
    get { return scopeName_; }
    set {
      scopeName_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsItemBagSplitInBag);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsItemBagSplitInBag other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (FromGrid != other.FromGrid) return false;
    if (ToGrid != other.ToGrid) return false;
    if (MoveCount != other.MoveCount) return false;
    if (ScopeName != other.ScopeName) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (FromGrid != 0) hash ^= FromGrid.GetHashCode();
    if (ToGrid != 0) hash ^= ToGrid.GetHashCode();
    if (MoveCount != 0) hash ^= MoveCount.GetHashCode();
    if (ScopeName != 0) hash ^= ScopeName.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (FromGrid != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(FromGrid);
    }
    if (ToGrid != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(ToGrid);
    }
    if (MoveCount != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(MoveCount);
    }
    if (ScopeName != 0) {
      output.WriteRawTag(88);
      output.WriteInt32(ScopeName);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (FromGrid != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(FromGrid);
    }
    if (ToGrid != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ToGrid);
    }
    if (MoveCount != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(MoveCount);
    }
    if (ScopeName != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ScopeName);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsItemBagSplitInBag other) {
    if (other == null) {
      return;
    }
    if (other.FromGrid != 0) {
      FromGrid = other.FromGrid;
    }
    if (other.ToGrid != 0) {
      ToGrid = other.ToGrid;
    }
    if (other.MoveCount != 0) {
      MoveCount = other.MoveCount;
    }
    if (other.ScopeName != 0) {
      ScopeName = other.ScopeName;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          FromGrid = input.ReadInt32();
          break;
        }
        case 16: {
          ToGrid = input.ReadInt32();
          break;
        }
        case 24: {
          MoveCount = input.ReadInt32();
          break;
        }
        case 88: {
          ScopeName = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class CsItemBagFactoryDepotToBag : pb::IMessage<CsItemBagFactoryDepotToBag> {
  private static readonly pb::MessageParser<CsItemBagFactoryDepotToBag> _parser = new pb::MessageParser<CsItemBagFactoryDepotToBag>(() => new CsItemBagFactoryDepotToBag());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsItemBagFactoryDepotToBag> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[647]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsItemBagFactoryDepotToBag() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsItemBagFactoryDepotToBag(CsItemBagFactoryDepotToBag other) : this() {
    items_ = other.items_.Clone();
    instIdList_ = other.instIdList_.Clone();
    scopeName_ = other.scopeName_;
    chapterId_ = other.chapterId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsItemBagFactoryDepotToBag Clone() {
    return new CsItemBagFactoryDepotToBag(this);
  }

  /// <summary>Field number for the "items" field.</summary>
  public const int ItemsFieldNumber = 1;
  private static readonly pbc::MapField<string, int>.Codec _map_items_codec
      = new pbc::MapField<string, int>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForInt32(16), 10);
  private readonly pbc::MapField<string, int> items_ = new pbc::MapField<string, int>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<string, int> Items {
    get { return items_; }
  }

  /// <summary>Field number for the "inst_id_list" field.</summary>
  public const int InstIdListFieldNumber = 2;
  private static readonly pb::FieldCodec<ulong> _repeated_instIdList_codec
      = pb::FieldCodec.ForUInt64(18);
  private readonly pbc::RepeatedField<ulong> instIdList_ = new pbc::RepeatedField<ulong>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<ulong> InstIdList {
    get { return instIdList_; }
  }

  /// <summary>Field number for the "scope_name" field.</summary>
  public const int ScopeNameFieldNumber = 11;
  private int scopeName_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ScopeName {
    get { return scopeName_; }
    set {
      scopeName_ = value;
    }
  }

  /// <summary>Field number for the "chapter_id" field.</summary>
  public const int ChapterIdFieldNumber = 12;
  private string chapterId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ChapterId {
    get { return chapterId_; }
    set {
      chapterId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsItemBagFactoryDepotToBag);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsItemBagFactoryDepotToBag other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!Items.Equals(other.Items)) return false;
    if(!instIdList_.Equals(other.instIdList_)) return false;
    if (ScopeName != other.ScopeName) return false;
    if (ChapterId != other.ChapterId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= Items.GetHashCode();
    hash ^= instIdList_.GetHashCode();
    if (ScopeName != 0) hash ^= ScopeName.GetHashCode();
    if (ChapterId.Length != 0) hash ^= ChapterId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    items_.WriteTo(output, _map_items_codec);
    instIdList_.WriteTo(output, _repeated_instIdList_codec);
    if (ScopeName != 0) {
      output.WriteRawTag(88);
      output.WriteInt32(ScopeName);
    }
    if (ChapterId.Length != 0) {
      output.WriteRawTag(98);
      output.WriteString(ChapterId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += items_.CalculateSize(_map_items_codec);
    size += instIdList_.CalculateSize(_repeated_instIdList_codec);
    if (ScopeName != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ScopeName);
    }
    if (ChapterId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ChapterId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsItemBagFactoryDepotToBag other) {
    if (other == null) {
      return;
    }
    items_.Add(other.items_);
    instIdList_.Add(other.instIdList_);
    if (other.ScopeName != 0) {
      ScopeName = other.ScopeName;
    }
    if (other.ChapterId.Length != 0) {
      ChapterId = other.ChapterId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          items_.AddEntriesFrom(input, _map_items_codec);
          break;
        }
        case 18:
        case 16: {
          instIdList_.AddEntriesFrom(input, _repeated_instIdList_codec);
          break;
        }
        case 88: {
          ScopeName = input.ReadInt32();
          break;
        }
        case 98: {
          ChapterId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class CsItemBagBagToFactoryDepot : pb::IMessage<CsItemBagBagToFactoryDepot> {
  private static readonly pb::MessageParser<CsItemBagBagToFactoryDepot> _parser = new pb::MessageParser<CsItemBagBagToFactoryDepot>(() => new CsItemBagBagToFactoryDepot());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsItemBagBagToFactoryDepot> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[648]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsItemBagBagToFactoryDepot() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsItemBagBagToFactoryDepot(CsItemBagBagToFactoryDepot other) : this() {
    gridList_ = other.gridList_.Clone();
    scopeName_ = other.scopeName_;
    chapterId_ = other.chapterId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsItemBagBagToFactoryDepot Clone() {
    return new CsItemBagBagToFactoryDepot(this);
  }

  /// <summary>Field number for the "grid_list" field.</summary>
  public const int GridListFieldNumber = 1;
  private static readonly pb::FieldCodec<int> _repeated_gridList_codec
      = pb::FieldCodec.ForInt32(10);
  private readonly pbc::RepeatedField<int> gridList_ = new pbc::RepeatedField<int>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<int> GridList {
    get { return gridList_; }
  }

  /// <summary>Field number for the "scope_name" field.</summary>
  public const int ScopeNameFieldNumber = 11;
  private int scopeName_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ScopeName {
    get { return scopeName_; }
    set {
      scopeName_ = value;
    }
  }

  /// <summary>Field number for the "chapter_id" field.</summary>
  public const int ChapterIdFieldNumber = 12;
  private string chapterId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ChapterId {
    get { return chapterId_; }
    set {
      chapterId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsItemBagBagToFactoryDepot);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsItemBagBagToFactoryDepot other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!gridList_.Equals(other.gridList_)) return false;
    if (ScopeName != other.ScopeName) return false;
    if (ChapterId != other.ChapterId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= gridList_.GetHashCode();
    if (ScopeName != 0) hash ^= ScopeName.GetHashCode();
    if (ChapterId.Length != 0) hash ^= ChapterId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    gridList_.WriteTo(output, _repeated_gridList_codec);
    if (ScopeName != 0) {
      output.WriteRawTag(88);
      output.WriteInt32(ScopeName);
    }
    if (ChapterId.Length != 0) {
      output.WriteRawTag(98);
      output.WriteString(ChapterId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += gridList_.CalculateSize(_repeated_gridList_codec);
    if (ScopeName != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ScopeName);
    }
    if (ChapterId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ChapterId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsItemBagBagToFactoryDepot other) {
    if (other == null) {
      return;
    }
    gridList_.Add(other.gridList_);
    if (other.ScopeName != 0) {
      ScopeName = other.ScopeName;
    }
    if (other.ChapterId.Length != 0) {
      ChapterId = other.ChapterId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10:
        case 8: {
          gridList_.AddEntriesFrom(input, _repeated_gridList_codec);
          break;
        }
        case 88: {
          ScopeName = input.ReadInt32();
          break;
        }
        case 98: {
          ChapterId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class CsItemBagFactoryDepotToBagGrid : pb::IMessage<CsItemBagFactoryDepotToBagGrid> {
  private static readonly pb::MessageParser<CsItemBagFactoryDepotToBagGrid> _parser = new pb::MessageParser<CsItemBagFactoryDepotToBagGrid>(() => new CsItemBagFactoryDepotToBagGrid());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsItemBagFactoryDepotToBagGrid> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[649]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsItemBagFactoryDepotToBagGrid() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsItemBagFactoryDepotToBagGrid(CsItemBagFactoryDepotToBagGrid other) : this() {
    gridIndex_ = other.gridIndex_;
    id_ = other.id_;
    count_ = other.count_;
    scopeName_ = other.scopeName_;
    chapterId_ = other.chapterId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsItemBagFactoryDepotToBagGrid Clone() {
    return new CsItemBagFactoryDepotToBagGrid(this);
  }

  /// <summary>Field number for the "grid_index" field.</summary>
  public const int GridIndexFieldNumber = 1;
  private int gridIndex_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int GridIndex {
    get { return gridIndex_; }
    set {
      gridIndex_ = value;
    }
  }

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

  /// <summary>Field number for the "count" field.</summary>
  public const int CountFieldNumber = 3;
  private int count_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Count {
    get { return count_; }
    set {
      count_ = value;
    }
  }

  /// <summary>Field number for the "scope_name" field.</summary>
  public const int ScopeNameFieldNumber = 11;
  private int scopeName_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ScopeName {
    get { return scopeName_; }
    set {
      scopeName_ = value;
    }
  }

  /// <summary>Field number for the "chapter_id" field.</summary>
  public const int ChapterIdFieldNumber = 12;
  private string chapterId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ChapterId {
    get { return chapterId_; }
    set {
      chapterId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsItemBagFactoryDepotToBagGrid);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsItemBagFactoryDepotToBagGrid other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (GridIndex != other.GridIndex) return false;
    if (Id != other.Id) return false;
    if (Count != other.Count) return false;
    if (ScopeName != other.ScopeName) return false;
    if (ChapterId != other.ChapterId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (GridIndex != 0) hash ^= GridIndex.GetHashCode();
    if (Id.Length != 0) hash ^= Id.GetHashCode();
    if (Count != 0) hash ^= Count.GetHashCode();
    if (ScopeName != 0) hash ^= ScopeName.GetHashCode();
    if (ChapterId.Length != 0) hash ^= ChapterId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (GridIndex != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(GridIndex);
    }
    if (Id.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(Id);
    }
    if (Count != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(Count);
    }
    if (ScopeName != 0) {
      output.WriteRawTag(88);
      output.WriteInt32(ScopeName);
    }
    if (ChapterId.Length != 0) {
      output.WriteRawTag(98);
      output.WriteString(ChapterId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (GridIndex != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(GridIndex);
    }
    if (Id.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(Id);
    }
    if (Count != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Count);
    }
    if (ScopeName != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ScopeName);
    }
    if (ChapterId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ChapterId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsItemBagFactoryDepotToBagGrid other) {
    if (other == null) {
      return;
    }
    if (other.GridIndex != 0) {
      GridIndex = other.GridIndex;
    }
    if (other.Id.Length != 0) {
      Id = other.Id;
    }
    if (other.Count != 0) {
      Count = other.Count;
    }
    if (other.ScopeName != 0) {
      ScopeName = other.ScopeName;
    }
    if (other.ChapterId.Length != 0) {
      ChapterId = other.ChapterId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          GridIndex = input.ReadInt32();
          break;
        }
        case 18: {
          Id = input.ReadString();
          break;
        }
        case 24: {
          Count = input.ReadInt32();
          break;
        }
        case 88: {
          ScopeName = input.ReadInt32();
          break;
        }
        case 98: {
          ChapterId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class CsItemBagUseItem : pb::IMessage<CsItemBagUseItem> {
  private static readonly pb::MessageParser<CsItemBagUseItem> _parser = new pb::MessageParser<CsItemBagUseItem>(() => new CsItemBagUseItem());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsItemBagUseItem> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[650]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsItemBagUseItem() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsItemBagUseItem(CsItemBagUseItem other) : this() {
    gridIndex_ = other.gridIndex_;
    count_ = other.count_;
    charInstIdList_ = other.charInstIdList_.Clone();
    equipMedicineCharInstId_ = other.equipMedicineCharInstId_;
    itemUseArgs_ = other.itemUseArgs_.Clone();
    scopeName_ = other.scopeName_;
    useType_ = other.useType_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsItemBagUseItem Clone() {
    return new CsItemBagUseItem(this);
  }

  /// <summary>Field number for the "grid_index" field.</summary>
  public const int GridIndexFieldNumber = 1;
  private int gridIndex_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int GridIndex {
    get { return gridIndex_; }
    set {
      gridIndex_ = value;
    }
  }

  /// <summary>Field number for the "count" field.</summary>
  public const int CountFieldNumber = 2;
  private int count_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Count {
    get { return count_; }
    set {
      count_ = value;
    }
  }

  /// <summary>Field number for the "char_inst_id_list" field.</summary>
  public const int CharInstIdListFieldNumber = 3;
  private static readonly pb::FieldCodec<ulong> _repeated_charInstIdList_codec
      = pb::FieldCodec.ForUInt64(26);
  private readonly pbc::RepeatedField<ulong> charInstIdList_ = new pbc::RepeatedField<ulong>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<ulong> CharInstIdList {
    get { return charInstIdList_; }
  }

  /// <summary>Field number for the "equip_medicine_char_inst_id" field.</summary>
  public const int EquipMedicineCharInstIdFieldNumber = 4;
  private ulong equipMedicineCharInstId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong EquipMedicineCharInstId {
    get { return equipMedicineCharInstId_; }
    set {
      equipMedicineCharInstId_ = value;
    }
  }

  /// <summary>Field number for the "item_use_args" field.</summary>
  public const int ItemUseArgsFieldNumber = 5;
  private static readonly pb::FieldCodec<string> _repeated_itemUseArgs_codec
      = pb::FieldCodec.ForString(42);
  private readonly pbc::RepeatedField<string> itemUseArgs_ = new pbc::RepeatedField<string>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<string> ItemUseArgs {
    get { return itemUseArgs_; }
  }

  /// <summary>Field number for the "scope_name" field.</summary>
  public const int ScopeNameFieldNumber = 11;
  private int scopeName_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ScopeName {
    get { return scopeName_; }
    set {
      scopeName_ = value;
    }
  }

  /// <summary>Field number for the "use_type" field.</summary>
  public const int UseTypeFieldNumber = 12;
  private global::ItemBagUseType useType_ = 0;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ItemBagUseType UseType {
    get { return useType_; }
    set {
      useType_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsItemBagUseItem);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsItemBagUseItem other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (GridIndex != other.GridIndex) return false;
    if (Count != other.Count) return false;
    if(!charInstIdList_.Equals(other.charInstIdList_)) return false;
    if (EquipMedicineCharInstId != other.EquipMedicineCharInstId) return false;
    if(!itemUseArgs_.Equals(other.itemUseArgs_)) return false;
    if (ScopeName != other.ScopeName) return false;
    if (UseType != other.UseType) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (GridIndex != 0) hash ^= GridIndex.GetHashCode();
    if (Count != 0) hash ^= Count.GetHashCode();
    hash ^= charInstIdList_.GetHashCode();
    if (EquipMedicineCharInstId != 0UL) hash ^= EquipMedicineCharInstId.GetHashCode();
    hash ^= itemUseArgs_.GetHashCode();
    if (ScopeName != 0) hash ^= ScopeName.GetHashCode();
    if (UseType != 0) hash ^= UseType.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (GridIndex != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(GridIndex);
    }
    if (Count != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(Count);
    }
    charInstIdList_.WriteTo(output, _repeated_charInstIdList_codec);
    if (EquipMedicineCharInstId != 0UL) {
      output.WriteRawTag(32);
      output.WriteUInt64(EquipMedicineCharInstId);
    }
    itemUseArgs_.WriteTo(output, _repeated_itemUseArgs_codec);
    if (ScopeName != 0) {
      output.WriteRawTag(88);
      output.WriteInt32(ScopeName);
    }
    if (UseType != 0) {
      output.WriteRawTag(96);
      output.WriteEnum((int) UseType);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (GridIndex != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(GridIndex);
    }
    if (Count != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Count);
    }
    size += charInstIdList_.CalculateSize(_repeated_charInstIdList_codec);
    if (EquipMedicineCharInstId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(EquipMedicineCharInstId);
    }
    size += itemUseArgs_.CalculateSize(_repeated_itemUseArgs_codec);
    if (ScopeName != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ScopeName);
    }
    if (UseType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) UseType);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsItemBagUseItem other) {
    if (other == null) {
      return;
    }
    if (other.GridIndex != 0) {
      GridIndex = other.GridIndex;
    }
    if (other.Count != 0) {
      Count = other.Count;
    }
    charInstIdList_.Add(other.charInstIdList_);
    if (other.EquipMedicineCharInstId != 0UL) {
      EquipMedicineCharInstId = other.EquipMedicineCharInstId;
    }
    itemUseArgs_.Add(other.itemUseArgs_);
    if (other.ScopeName != 0) {
      ScopeName = other.ScopeName;
    }
    if (other.UseType != 0) {
      UseType = other.UseType;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          GridIndex = input.ReadInt32();
          break;
        }
        case 16: {
          Count = input.ReadInt32();
          break;
        }
        case 26:
        case 24: {
          charInstIdList_.AddEntriesFrom(input, _repeated_charInstIdList_codec);
          break;
        }
        case 32: {
          EquipMedicineCharInstId = input.ReadUInt64();
          break;
        }
        case 42: {
          itemUseArgs_.AddEntriesFrom(input, _repeated_itemUseArgs_codec);
          break;
        }
        case 88: {
          ScopeName = input.ReadInt32();
          break;
        }
        case 96: {
          useType_ = (global::ItemBagUseType) input.ReadEnum();
          break;
        }
      }
    }
  }

}

public sealed partial class CsItemBagSetQuickBar : pb::IMessage<CsItemBagSetQuickBar> {
  private static readonly pb::MessageParser<CsItemBagSetQuickBar> _parser = new pb::MessageParser<CsItemBagSetQuickBar>(() => new CsItemBagSetQuickBar());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsItemBagSetQuickBar> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[651]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsItemBagSetQuickBar() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsItemBagSetQuickBar(CsItemBagSetQuickBar other) : this() {
    itemId_ = other.itemId_.Clone();
    scopeName_ = other.scopeName_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsItemBagSetQuickBar Clone() {
    return new CsItemBagSetQuickBar(this);
  }

  /// <summary>Field number for the "item_id" field.</summary>
  public const int ItemIdFieldNumber = 1;
  private static readonly pb::FieldCodec<string> _repeated_itemId_codec
      = pb::FieldCodec.ForString(10);
  private readonly pbc::RepeatedField<string> itemId_ = new pbc::RepeatedField<string>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<string> ItemId {
    get { return itemId_; }
  }

  /// <summary>Field number for the "scope_name" field.</summary>
  public const int ScopeNameFieldNumber = 11;
  private int scopeName_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ScopeName {
    get { return scopeName_; }
    set {
      scopeName_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsItemBagSetQuickBar);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsItemBagSetQuickBar other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!itemId_.Equals(other.itemId_)) return false;
    if (ScopeName != other.ScopeName) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= itemId_.GetHashCode();
    if (ScopeName != 0) hash ^= ScopeName.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    itemId_.WriteTo(output, _repeated_itemId_codec);
    if (ScopeName != 0) {
      output.WriteRawTag(88);
      output.WriteInt32(ScopeName);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += itemId_.CalculateSize(_repeated_itemId_codec);
    if (ScopeName != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ScopeName);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsItemBagSetQuickBar other) {
    if (other == null) {
      return;
    }
    itemId_.Add(other.itemId_);
    if (other.ScopeName != 0) {
      ScopeName = other.ScopeName;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          itemId_.AddEntriesFrom(input, _repeated_itemId_codec);
          break;
        }
        case 88: {
          ScopeName = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class CsItemBagSetQuickBarPos : pb::IMessage<CsItemBagSetQuickBarPos> {
  private static readonly pb::MessageParser<CsItemBagSetQuickBarPos> _parser = new pb::MessageParser<CsItemBagSetQuickBarPos>(() => new CsItemBagSetQuickBarPos());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsItemBagSetQuickBarPos> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[652]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsItemBagSetQuickBarPos() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsItemBagSetQuickBarPos(CsItemBagSetQuickBarPos other) : this() {
    pos_ = other.pos_;
    scopeName_ = other.scopeName_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsItemBagSetQuickBarPos Clone() {
    return new CsItemBagSetQuickBarPos(this);
  }

  /// <summary>Field number for the "pos" field.</summary>
  public const int PosFieldNumber = 1;
  private int pos_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Pos {
    get { return pos_; }
    set {
      pos_ = value;
    }
  }

  /// <summary>Field number for the "scope_name" field.</summary>
  public const int ScopeNameFieldNumber = 11;
  private int scopeName_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ScopeName {
    get { return scopeName_; }
    set {
      scopeName_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsItemBagSetQuickBarPos);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsItemBagSetQuickBarPos other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Pos != other.Pos) return false;
    if (ScopeName != other.ScopeName) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Pos != 0) hash ^= Pos.GetHashCode();
    if (ScopeName != 0) hash ^= ScopeName.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Pos != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(Pos);
    }
    if (ScopeName != 0) {
      output.WriteRawTag(88);
      output.WriteInt32(ScopeName);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Pos != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Pos);
    }
    if (ScopeName != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ScopeName);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsItemBagSetQuickBarPos other) {
    if (other == null) {
      return;
    }
    if (other.Pos != 0) {
      Pos = other.Pos;
    }
    if (other.ScopeName != 0) {
      ScopeName = other.ScopeName;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Pos = input.ReadInt32();
          break;
        }
        case 88: {
          ScopeName = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class CsItemBagSetItemLock : pb::IMessage<CsItemBagSetItemLock> {
  private static readonly pb::MessageParser<CsItemBagSetItemLock> _parser = new pb::MessageParser<CsItemBagSetItemLock>(() => new CsItemBagSetItemLock());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsItemBagSetItemLock> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[653]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsItemBagSetItemLock() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsItemBagSetItemLock(CsItemBagSetItemLock other) : this() {
    lockInfoList_ = other.lockInfoList_.Clone();
    scopeName_ = other.scopeName_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsItemBagSetItemLock Clone() {
    return new CsItemBagSetItemLock(this);
  }

  /// <summary>Field number for the "lock_info_list" field.</summary>
  public const int LockInfoListFieldNumber = 1;
  private static readonly pb::FieldCodec<global::ItemInstLockInfo> _repeated_lockInfoList_codec
      = pb::FieldCodec.ForMessage(10, global::ItemInstLockInfo.Parser);
  private readonly pbc::RepeatedField<global::ItemInstLockInfo> lockInfoList_ = new pbc::RepeatedField<global::ItemInstLockInfo>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ItemInstLockInfo> LockInfoList {
    get { return lockInfoList_; }
  }

  /// <summary>Field number for the "scope_name" field.</summary>
  public const int ScopeNameFieldNumber = 11;
  private int scopeName_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ScopeName {
    get { return scopeName_; }
    set {
      scopeName_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsItemBagSetItemLock);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsItemBagSetItemLock other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!lockInfoList_.Equals(other.lockInfoList_)) return false;
    if (ScopeName != other.ScopeName) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= lockInfoList_.GetHashCode();
    if (ScopeName != 0) hash ^= ScopeName.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    lockInfoList_.WriteTo(output, _repeated_lockInfoList_codec);
    if (ScopeName != 0) {
      output.WriteRawTag(88);
      output.WriteInt32(ScopeName);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += lockInfoList_.CalculateSize(_repeated_lockInfoList_codec);
    if (ScopeName != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ScopeName);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsItemBagSetItemLock other) {
    if (other == null) {
      return;
    }
    lockInfoList_.Add(other.lockInfoList_);
    if (other.ScopeName != 0) {
      ScopeName = other.ScopeName;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          lockInfoList_.AddEntriesFrom(input, _repeated_lockInfoList_codec);
          break;
        }
        case 88: {
          ScopeName = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ItemInstLockInfo : pb::IMessage<ItemInstLockInfo> {
  private static readonly pb::MessageParser<ItemInstLockInfo> _parser = new pb::MessageParser<ItemInstLockInfo>(() => new ItemInstLockInfo());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ItemInstLockInfo> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[654]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ItemInstLockInfo() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ItemInstLockInfo(ItemInstLockInfo other) : this() {
    itemId_ = other.itemId_;
    instId_ = other.instId_;
    isLock_ = other.isLock_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ItemInstLockInfo Clone() {
    return new ItemInstLockInfo(this);
  }

  /// <summary>Field number for the "item_id" field.</summary>
  public const int ItemIdFieldNumber = 1;
  private string itemId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ItemId {
    get { return itemId_; }
    set {
      itemId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "inst_id" field.</summary>
  public const int InstIdFieldNumber = 2;
  private ulong instId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong InstId {
    get { return instId_; }
    set {
      instId_ = value;
    }
  }

  /// <summary>Field number for the "is_lock" field.</summary>
  public const int IsLockFieldNumber = 3;
  private bool isLock_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool IsLock {
    get { return isLock_; }
    set {
      isLock_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ItemInstLockInfo);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ItemInstLockInfo other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ItemId != other.ItemId) return false;
    if (InstId != other.InstId) return false;
    if (IsLock != other.IsLock) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ItemId.Length != 0) hash ^= ItemId.GetHashCode();
    if (InstId != 0UL) hash ^= InstId.GetHashCode();
    if (IsLock != false) hash ^= IsLock.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ItemId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(ItemId);
    }
    if (InstId != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(InstId);
    }
    if (IsLock != false) {
      output.WriteRawTag(24);
      output.WriteBool(IsLock);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ItemId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ItemId);
    }
    if (InstId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(InstId);
    }
    if (IsLock != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ItemInstLockInfo other) {
    if (other == null) {
      return;
    }
    if (other.ItemId.Length != 0) {
      ItemId = other.ItemId;
    }
    if (other.InstId != 0UL) {
      InstId = other.InstId;
    }
    if (other.IsLock != false) {
      IsLock = other.IsLock;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          ItemId = input.ReadString();
          break;
        }
        case 16: {
          InstId = input.ReadUInt64();
          break;
        }
        case 24: {
          IsLock = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class CsItemBagAbandonInBag : pb::IMessage<CsItemBagAbandonInBag> {
  private static readonly pb::MessageParser<CsItemBagAbandonInBag> _parser = new pb::MessageParser<CsItemBagAbandonInBag>(() => new CsItemBagAbandonInBag());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsItemBagAbandonInBag> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[655]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsItemBagAbandonInBag() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsItemBagAbandonInBag(CsItemBagAbandonInBag other) : this() {
    gridCut_ = other.gridCut_.Clone();
    targetObjectId_ = other.targetObjectId_;
    scopeName_ = other.scopeName_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsItemBagAbandonInBag Clone() {
    return new CsItemBagAbandonInBag(this);
  }

  /// <summary>Field number for the "grid_cut" field.</summary>
  public const int GridCutFieldNumber = 1;
  private static readonly pbc::MapField<int, int>.Codec _map_gridCut_codec
      = new pbc::MapField<int, int>.Codec(pb::FieldCodec.ForInt32(8), pb::FieldCodec.ForInt32(16), 10);
  private readonly pbc::MapField<int, int> gridCut_ = new pbc::MapField<int, int>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<int, int> GridCut {
    get { return gridCut_; }
  }

  /// <summary>Field number for the "target_object_id" field.</summary>
  public const int TargetObjectIdFieldNumber = 2;
  private ulong targetObjectId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong TargetObjectId {
    get { return targetObjectId_; }
    set {
      targetObjectId_ = value;
    }
  }

  /// <summary>Field number for the "scope_name" field.</summary>
  public const int ScopeNameFieldNumber = 11;
  private int scopeName_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ScopeName {
    get { return scopeName_; }
    set {
      scopeName_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsItemBagAbandonInBag);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsItemBagAbandonInBag other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!GridCut.Equals(other.GridCut)) return false;
    if (TargetObjectId != other.TargetObjectId) return false;
    if (ScopeName != other.ScopeName) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= GridCut.GetHashCode();
    if (TargetObjectId != 0UL) hash ^= TargetObjectId.GetHashCode();
    if (ScopeName != 0) hash ^= ScopeName.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    gridCut_.WriteTo(output, _map_gridCut_codec);
    if (TargetObjectId != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(TargetObjectId);
    }
    if (ScopeName != 0) {
      output.WriteRawTag(88);
      output.WriteInt32(ScopeName);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += gridCut_.CalculateSize(_map_gridCut_codec);
    if (TargetObjectId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(TargetObjectId);
    }
    if (ScopeName != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ScopeName);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsItemBagAbandonInBag other) {
    if (other == null) {
      return;
    }
    gridCut_.Add(other.gridCut_);
    if (other.TargetObjectId != 0UL) {
      TargetObjectId = other.TargetObjectId;
    }
    if (other.ScopeName != 0) {
      ScopeName = other.ScopeName;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          gridCut_.AddEntriesFrom(input, _map_gridCut_codec);
          break;
        }
        case 16: {
          TargetObjectId = input.ReadUInt64();
          break;
        }
        case 88: {
          ScopeName = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class CsItemBagDestroyInDepot : pb::IMessage<CsItemBagDestroyInDepot> {
  private static readonly pb::MessageParser<CsItemBagDestroyInDepot> _parser = new pb::MessageParser<CsItemBagDestroyInDepot>(() => new CsItemBagDestroyInDepot());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsItemBagDestroyInDepot> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[656]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsItemBagDestroyInDepot() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsItemBagDestroyInDepot(CsItemBagDestroyInDepot other) : this() {
    depot_ = other.depot_;
    items_ = other.items_.Clone();
    instIdList_ = other.instIdList_.Clone();
    scopeName_ = other.scopeName_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsItemBagDestroyInDepot Clone() {
    return new CsItemBagDestroyInDepot(this);
  }

  /// <summary>Field number for the "depot" field.</summary>
  public const int DepotFieldNumber = 1;
  private int depot_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Depot {
    get { return depot_; }
    set {
      depot_ = value;
    }
  }

  /// <summary>Field number for the "items" field.</summary>
  public const int ItemsFieldNumber = 2;
  private static readonly pbc::MapField<string, int>.Codec _map_items_codec
      = new pbc::MapField<string, int>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForInt32(16), 18);
  private readonly pbc::MapField<string, int> items_ = new pbc::MapField<string, int>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<string, int> Items {
    get { return items_; }
  }

  /// <summary>Field number for the "inst_id_list" field.</summary>
  public const int InstIdListFieldNumber = 3;
  private static readonly pb::FieldCodec<ulong> _repeated_instIdList_codec
      = pb::FieldCodec.ForUInt64(26);
  private readonly pbc::RepeatedField<ulong> instIdList_ = new pbc::RepeatedField<ulong>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<ulong> InstIdList {
    get { return instIdList_; }
  }

  /// <summary>Field number for the "scope_name" field.</summary>
  public const int ScopeNameFieldNumber = 11;
  private int scopeName_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ScopeName {
    get { return scopeName_; }
    set {
      scopeName_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsItemBagDestroyInDepot);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsItemBagDestroyInDepot other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Depot != other.Depot) return false;
    if (!Items.Equals(other.Items)) return false;
    if(!instIdList_.Equals(other.instIdList_)) return false;
    if (ScopeName != other.ScopeName) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Depot != 0) hash ^= Depot.GetHashCode();
    hash ^= Items.GetHashCode();
    hash ^= instIdList_.GetHashCode();
    if (ScopeName != 0) hash ^= ScopeName.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Depot != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(Depot);
    }
    items_.WriteTo(output, _map_items_codec);
    instIdList_.WriteTo(output, _repeated_instIdList_codec);
    if (ScopeName != 0) {
      output.WriteRawTag(88);
      output.WriteInt32(ScopeName);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Depot != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Depot);
    }
    size += items_.CalculateSize(_map_items_codec);
    size += instIdList_.CalculateSize(_repeated_instIdList_codec);
    if (ScopeName != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ScopeName);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsItemBagDestroyInDepot other) {
    if (other == null) {
      return;
    }
    if (other.Depot != 0) {
      Depot = other.Depot;
    }
    items_.Add(other.items_);
    instIdList_.Add(other.instIdList_);
    if (other.ScopeName != 0) {
      ScopeName = other.ScopeName;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Depot = input.ReadInt32();
          break;
        }
        case 18: {
          items_.AddEntriesFrom(input, _map_items_codec);
          break;
        }
        case 26:
        case 24: {
          instIdList_.AddEntriesFrom(input, _repeated_instIdList_codec);
          break;
        }
        case 88: {
          ScopeName = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class CsItemBagDestroyInFactoryDepot : pb::IMessage<CsItemBagDestroyInFactoryDepot> {
  private static readonly pb::MessageParser<CsItemBagDestroyInFactoryDepot> _parser = new pb::MessageParser<CsItemBagDestroyInFactoryDepot>(() => new CsItemBagDestroyInFactoryDepot());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsItemBagDestroyInFactoryDepot> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[657]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsItemBagDestroyInFactoryDepot() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsItemBagDestroyInFactoryDepot(CsItemBagDestroyInFactoryDepot other) : this() {
    items_ = other.items_.Clone();
    scopeName_ = other.scopeName_;
    chapterId_ = other.chapterId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsItemBagDestroyInFactoryDepot Clone() {
    return new CsItemBagDestroyInFactoryDepot(this);
  }

  /// <summary>Field number for the "items" field.</summary>
  public const int ItemsFieldNumber = 1;
  private static readonly pbc::MapField<string, int>.Codec _map_items_codec
      = new pbc::MapField<string, int>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForInt32(16), 10);
  private readonly pbc::MapField<string, int> items_ = new pbc::MapField<string, int>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<string, int> Items {
    get { return items_; }
  }

  /// <summary>Field number for the "scope_name" field.</summary>
  public const int ScopeNameFieldNumber = 11;
  private int scopeName_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ScopeName {
    get { return scopeName_; }
    set {
      scopeName_ = value;
    }
  }

  /// <summary>Field number for the "chapter_id" field.</summary>
  public const int ChapterIdFieldNumber = 12;
  private string chapterId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ChapterId {
    get { return chapterId_; }
    set {
      chapterId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsItemBagDestroyInFactoryDepot);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsItemBagDestroyInFactoryDepot other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!Items.Equals(other.Items)) return false;
    if (ScopeName != other.ScopeName) return false;
    if (ChapterId != other.ChapterId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= Items.GetHashCode();
    if (ScopeName != 0) hash ^= ScopeName.GetHashCode();
    if (ChapterId.Length != 0) hash ^= ChapterId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    items_.WriteTo(output, _map_items_codec);
    if (ScopeName != 0) {
      output.WriteRawTag(88);
      output.WriteInt32(ScopeName);
    }
    if (ChapterId.Length != 0) {
      output.WriteRawTag(98);
      output.WriteString(ChapterId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += items_.CalculateSize(_map_items_codec);
    if (ScopeName != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ScopeName);
    }
    if (ChapterId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ChapterId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsItemBagDestroyInFactoryDepot other) {
    if (other == null) {
      return;
    }
    items_.Add(other.items_);
    if (other.ScopeName != 0) {
      ScopeName = other.ScopeName;
    }
    if (other.ChapterId.Length != 0) {
      ChapterId = other.ChapterId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          items_.AddEntriesFrom(input, _map_items_codec);
          break;
        }
        case 88: {
          ScopeName = input.ReadInt32();
          break;
        }
        case 98: {
          ChapterId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class CsItemBagDumpBottleInBag : pb::IMessage<CsItemBagDumpBottleInBag> {
  private static readonly pb::MessageParser<CsItemBagDumpBottleInBag> _parser = new pb::MessageParser<CsItemBagDumpBottleInBag>(() => new CsItemBagDumpBottleInBag());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsItemBagDumpBottleInBag> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[658]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsItemBagDumpBottleInBag() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsItemBagDumpBottleInBag(CsItemBagDumpBottleInBag other) : this() {
    gridIndex_ = other.gridIndex_;
    count_ = other.count_;
    scopeName_ = other.scopeName_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsItemBagDumpBottleInBag Clone() {
    return new CsItemBagDumpBottleInBag(this);
  }

  /// <summary>Field number for the "grid_index" field.</summary>
  public const int GridIndexFieldNumber = 1;
  private int gridIndex_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int GridIndex {
    get { return gridIndex_; }
    set {
      gridIndex_ = value;
    }
  }

  /// <summary>Field number for the "count" field.</summary>
  public const int CountFieldNumber = 2;
  private int count_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Count {
    get { return count_; }
    set {
      count_ = value;
    }
  }

  /// <summary>Field number for the "scope_name" field.</summary>
  public const int ScopeNameFieldNumber = 11;
  private int scopeName_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ScopeName {
    get { return scopeName_; }
    set {
      scopeName_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsItemBagDumpBottleInBag);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsItemBagDumpBottleInBag other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (GridIndex != other.GridIndex) return false;
    if (Count != other.Count) return false;
    if (ScopeName != other.ScopeName) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (GridIndex != 0) hash ^= GridIndex.GetHashCode();
    if (Count != 0) hash ^= Count.GetHashCode();
    if (ScopeName != 0) hash ^= ScopeName.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (GridIndex != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(GridIndex);
    }
    if (Count != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(Count);
    }
    if (ScopeName != 0) {
      output.WriteRawTag(88);
      output.WriteInt32(ScopeName);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (GridIndex != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(GridIndex);
    }
    if (Count != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Count);
    }
    if (ScopeName != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ScopeName);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsItemBagDumpBottleInBag other) {
    if (other == null) {
      return;
    }
    if (other.GridIndex != 0) {
      GridIndex = other.GridIndex;
    }
    if (other.Count != 0) {
      Count = other.Count;
    }
    if (other.ScopeName != 0) {
      ScopeName = other.ScopeName;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          GridIndex = input.ReadInt32();
          break;
        }
        case 16: {
          Count = input.ReadInt32();
          break;
        }
        case 88: {
          ScopeName = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class CsItemBagDumpBottleInFactoryDepot : pb::IMessage<CsItemBagDumpBottleInFactoryDepot> {
  private static readonly pb::MessageParser<CsItemBagDumpBottleInFactoryDepot> _parser = new pb::MessageParser<CsItemBagDumpBottleInFactoryDepot>(() => new CsItemBagDumpBottleInFactoryDepot());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsItemBagDumpBottleInFactoryDepot> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[659]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsItemBagDumpBottleInFactoryDepot() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsItemBagDumpBottleInFactoryDepot(CsItemBagDumpBottleInFactoryDepot other) : this() {
    itemId_ = other.itemId_;
    count_ = other.count_;
    scopeName_ = other.scopeName_;
    chapterId_ = other.chapterId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsItemBagDumpBottleInFactoryDepot Clone() {
    return new CsItemBagDumpBottleInFactoryDepot(this);
  }

  /// <summary>Field number for the "item_id" field.</summary>
  public const int ItemIdFieldNumber = 1;
  private string itemId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ItemId {
    get { return itemId_; }
    set {
      itemId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "count" field.</summary>
  public const int CountFieldNumber = 2;
  private int count_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Count {
    get { return count_; }
    set {
      count_ = value;
    }
  }

  /// <summary>Field number for the "scope_name" field.</summary>
  public const int ScopeNameFieldNumber = 11;
  private int scopeName_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ScopeName {
    get { return scopeName_; }
    set {
      scopeName_ = value;
    }
  }

  /// <summary>Field number for the "chapter_id" field.</summary>
  public const int ChapterIdFieldNumber = 12;
  private string chapterId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ChapterId {
    get { return chapterId_; }
    set {
      chapterId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsItemBagDumpBottleInFactoryDepot);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsItemBagDumpBottleInFactoryDepot other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ItemId != other.ItemId) return false;
    if (Count != other.Count) return false;
    if (ScopeName != other.ScopeName) return false;
    if (ChapterId != other.ChapterId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ItemId.Length != 0) hash ^= ItemId.GetHashCode();
    if (Count != 0) hash ^= Count.GetHashCode();
    if (ScopeName != 0) hash ^= ScopeName.GetHashCode();
    if (ChapterId.Length != 0) hash ^= ChapterId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ItemId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(ItemId);
    }
    if (Count != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(Count);
    }
    if (ScopeName != 0) {
      output.WriteRawTag(88);
      output.WriteInt32(ScopeName);
    }
    if (ChapterId.Length != 0) {
      output.WriteRawTag(98);
      output.WriteString(ChapterId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ItemId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ItemId);
    }
    if (Count != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Count);
    }
    if (ScopeName != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ScopeName);
    }
    if (ChapterId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ChapterId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsItemBagDumpBottleInFactoryDepot other) {
    if (other == null) {
      return;
    }
    if (other.ItemId.Length != 0) {
      ItemId = other.ItemId;
    }
    if (other.Count != 0) {
      Count = other.Count;
    }
    if (other.ScopeName != 0) {
      ScopeName = other.ScopeName;
    }
    if (other.ChapterId.Length != 0) {
      ChapterId = other.ChapterId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          ItemId = input.ReadString();
          break;
        }
        case 16: {
          Count = input.ReadInt32();
          break;
        }
        case 88: {
          ScopeName = input.ReadInt32();
          break;
        }
        case 98: {
          ChapterId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class CsItemBagTakeoutLostAndFound : pb::IMessage<CsItemBagTakeoutLostAndFound> {
  private static readonly pb::MessageParser<CsItemBagTakeoutLostAndFound> _parser = new pb::MessageParser<CsItemBagTakeoutLostAndFound>(() => new CsItemBagTakeoutLostAndFound());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsItemBagTakeoutLostAndFound> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[660]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsItemBagTakeoutLostAndFound() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsItemBagTakeoutLostAndFound(CsItemBagTakeoutLostAndFound other) : this() {
    all_ = other.all_;
    items_ = other.items_.Clone();
    instIdList_ = other.instIdList_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsItemBagTakeoutLostAndFound Clone() {
    return new CsItemBagTakeoutLostAndFound(this);
  }

  /// <summary>Field number for the "all" field.</summary>
  public const int AllFieldNumber = 1;
  private bool all_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool All {
    get { return all_; }
    set {
      all_ = value;
    }
  }

  /// <summary>Field number for the "items" field.</summary>
  public const int ItemsFieldNumber = 2;
  private static readonly pbc::MapField<string, int>.Codec _map_items_codec
      = new pbc::MapField<string, int>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForInt32(16), 18);
  private readonly pbc::MapField<string, int> items_ = new pbc::MapField<string, int>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<string, int> Items {
    get { return items_; }
  }

  /// <summary>Field number for the "inst_id_list" field.</summary>
  public const int InstIdListFieldNumber = 3;
  private static readonly pb::FieldCodec<ulong> _repeated_instIdList_codec
      = pb::FieldCodec.ForUInt64(26);
  private readonly pbc::RepeatedField<ulong> instIdList_ = new pbc::RepeatedField<ulong>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<ulong> InstIdList {
    get { return instIdList_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsItemBagTakeoutLostAndFound);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsItemBagTakeoutLostAndFound other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (All != other.All) return false;
    if (!Items.Equals(other.Items)) return false;
    if(!instIdList_.Equals(other.instIdList_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (All != false) hash ^= All.GetHashCode();
    hash ^= Items.GetHashCode();
    hash ^= instIdList_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (All != false) {
      output.WriteRawTag(8);
      output.WriteBool(All);
    }
    items_.WriteTo(output, _map_items_codec);
    instIdList_.WriteTo(output, _repeated_instIdList_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (All != false) {
      size += 1 + 1;
    }
    size += items_.CalculateSize(_map_items_codec);
    size += instIdList_.CalculateSize(_repeated_instIdList_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsItemBagTakeoutLostAndFound other) {
    if (other == null) {
      return;
    }
    if (other.All != false) {
      All = other.All;
    }
    items_.Add(other.items_);
    instIdList_.Add(other.instIdList_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          All = input.ReadBool();
          break;
        }
        case 18: {
          items_.AddEntriesFrom(input, _map_items_codec);
          break;
        }
        case 26:
        case 24: {
          instIdList_.AddEntriesFrom(input, _repeated_instIdList_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class CsItemBagUseItemCase : pb::IMessage<CsItemBagUseItemCase> {
  private static readonly pb::MessageParser<CsItemBagUseItemCase> _parser = new pb::MessageParser<CsItemBagUseItemCase>(() => new CsItemBagUseItemCase());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsItemBagUseItemCase> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[661]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsItemBagUseItemCase() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsItemBagUseItemCase(CsItemBagUseItemCase other) : this() {
    id_ = other.id_;
    count_ = other.count_;
    selectRewards_ = other.selectRewards_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsItemBagUseItemCase Clone() {
    return new CsItemBagUseItemCase(this);
  }

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

  /// <summary>Field number for the "count" field.</summary>
  public const int CountFieldNumber = 2;
  private int count_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Count {
    get { return count_; }
    set {
      count_ = value;
    }
  }

  /// <summary>Field number for the "select_rewards" field.</summary>
  public const int SelectRewardsFieldNumber = 3;
  private static readonly pb::FieldCodec<string> _repeated_selectRewards_codec
      = pb::FieldCodec.ForString(26);
  private readonly pbc::RepeatedField<string> selectRewards_ = new pbc::RepeatedField<string>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<string> SelectRewards {
    get { return selectRewards_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsItemBagUseItemCase);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsItemBagUseItemCase other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Id != other.Id) return false;
    if (Count != other.Count) return false;
    if(!selectRewards_.Equals(other.selectRewards_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Id.Length != 0) hash ^= Id.GetHashCode();
    if (Count != 0) hash ^= Count.GetHashCode();
    hash ^= selectRewards_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Id.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(Id);
    }
    if (Count != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(Count);
    }
    selectRewards_.WriteTo(output, _repeated_selectRewards_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Id.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(Id);
    }
    if (Count != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Count);
    }
    size += selectRewards_.CalculateSize(_repeated_selectRewards_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsItemBagUseItemCase other) {
    if (other == null) {
      return;
    }
    if (other.Id.Length != 0) {
      Id = other.Id;
    }
    if (other.Count != 0) {
      Count = other.Count;
    }
    selectRewards_.Add(other.selectRewards_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          Id = input.ReadString();
          break;
        }
        case 16: {
          Count = input.ReadInt32();
          break;
        }
        case 26: {
          selectRewards_.AddEntriesFrom(input, _repeated_selectRewards_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class CsItemBagChgSpaceshipChapter : pb::IMessage<CsItemBagChgSpaceshipChapter> {
  private static readonly pb::MessageParser<CsItemBagChgSpaceshipChapter> _parser = new pb::MessageParser<CsItemBagChgSpaceshipChapter>(() => new CsItemBagChgSpaceshipChapter());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsItemBagChgSpaceshipChapter> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[662]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsItemBagChgSpaceshipChapter() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsItemBagChgSpaceshipChapter(CsItemBagChgSpaceshipChapter other) : this() {
    spaceshipChapterId_ = other.spaceshipChapterId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsItemBagChgSpaceshipChapter Clone() {
    return new CsItemBagChgSpaceshipChapter(this);
  }

  /// <summary>Field number for the "spaceship_chapter_id" field.</summary>
  public const int SpaceshipChapterIdFieldNumber = 1;
  private string spaceshipChapterId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string SpaceshipChapterId {
    get { return spaceshipChapterId_; }
    set {
      spaceshipChapterId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsItemBagChgSpaceshipChapter);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsItemBagChgSpaceshipChapter other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SpaceshipChapterId != other.SpaceshipChapterId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SpaceshipChapterId.Length != 0) hash ^= SpaceshipChapterId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SpaceshipChapterId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(SpaceshipChapterId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SpaceshipChapterId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(SpaceshipChapterId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsItemBagChgSpaceshipChapter other) {
    if (other == null) {
      return;
    }
    if (other.SpaceshipChapterId.Length != 0) {
      SpaceshipChapterId = other.SpaceshipChapterId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          SpaceshipChapterId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdItemBagSyncQuickBar : pb::IMessage<ScdItemBagSyncQuickBar> {
  private static readonly pb::MessageParser<ScdItemBagSyncQuickBar> _parser = new pb::MessageParser<ScdItemBagSyncQuickBar>(() => new ScdItemBagSyncQuickBar());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdItemBagSyncQuickBar> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[663]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdItemBagSyncQuickBar() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdItemBagSyncQuickBar(ScdItemBagSyncQuickBar other) : this() {
    itemId_ = other.itemId_.Clone();
    pos_ = other.pos_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdItemBagSyncQuickBar Clone() {
    return new ScdItemBagSyncQuickBar(this);
  }

  /// <summary>Field number for the "item_id" field.</summary>
  public const int ItemIdFieldNumber = 1;
  private static readonly pb::FieldCodec<string> _repeated_itemId_codec
      = pb::FieldCodec.ForString(10);
  private readonly pbc::RepeatedField<string> itemId_ = new pbc::RepeatedField<string>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<string> ItemId {
    get { return itemId_; }
  }

  /// <summary>Field number for the "pos" field.</summary>
  public const int PosFieldNumber = 2;
  private int pos_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Pos {
    get { return pos_; }
    set {
      pos_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdItemBagSyncQuickBar);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdItemBagSyncQuickBar other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!itemId_.Equals(other.itemId_)) return false;
    if (Pos != other.Pos) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= itemId_.GetHashCode();
    if (Pos != 0) hash ^= Pos.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    itemId_.WriteTo(output, _repeated_itemId_codec);
    if (Pos != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(Pos);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += itemId_.CalculateSize(_repeated_itemId_codec);
    if (Pos != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Pos);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdItemBagSyncQuickBar other) {
    if (other == null) {
      return;
    }
    itemId_.Add(other.itemId_);
    if (other.Pos != 0) {
      Pos = other.Pos;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          itemId_.AddEntriesFrom(input, _repeated_itemId_codec);
          break;
        }
        case 16: {
          Pos = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScItemBagCommonSync : pb::IMessage<ScItemBagCommonSync> {
  private static readonly pb::MessageParser<ScItemBagCommonSync> _parser = new pb::MessageParser<ScItemBagCommonSync>(() => new ScItemBagCommonSync());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScItemBagCommonSync> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[664]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScItemBagCommonSync() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScItemBagCommonSync(ScItemBagCommonSync other) : this() {
    lostAndFound_ = other.lostAndFound_ != null ? other.lostAndFound_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScItemBagCommonSync Clone() {
    return new ScItemBagCommonSync(this);
  }

  /// <summary>Field number for the "lost_and_found" field.</summary>
  public const int LostAndFoundFieldNumber = 1;
  private global::ScdItemLostAndFound lostAndFound_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdItemLostAndFound LostAndFound {
    get { return lostAndFound_; }
    set {
      lostAndFound_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScItemBagCommonSync);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScItemBagCommonSync other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!object.Equals(LostAndFound, other.LostAndFound)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (lostAndFound_ != null) hash ^= LostAndFound.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (lostAndFound_ != null) {
      output.WriteRawTag(10);
      output.WriteMessage(LostAndFound);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (lostAndFound_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(LostAndFound);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScItemBagCommonSync other) {
    if (other == null) {
      return;
    }
    if (other.lostAndFound_ != null) {
      if (lostAndFound_ == null) {
        lostAndFound_ = new global::ScdItemLostAndFound();
      }
      LostAndFound.MergeFrom(other.LostAndFound);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          if (lostAndFound_ == null) {
            lostAndFound_ = new global::ScdItemLostAndFound();
          }
          input.ReadMessage(lostAndFound_);
          break;
        }
      }
    }
  }

}

public sealed partial class ScItemBagCommonModify : pb::IMessage<ScItemBagCommonModify> {
  private static readonly pb::MessageParser<ScItemBagCommonModify> _parser = new pb::MessageParser<ScItemBagCommonModify>(() => new ScItemBagCommonModify());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScItemBagCommonModify> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[665]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScItemBagCommonModify() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScItemBagCommonModify(ScItemBagCommonModify other) : this() {
    lostAndFound_ = other.lostAndFound_ != null ? other.lostAndFound_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScItemBagCommonModify Clone() {
    return new ScItemBagCommonModify(this);
  }

  /// <summary>Field number for the "lost_and_found" field.</summary>
  public const int LostAndFoundFieldNumber = 1;
  private global::ScdItemLostAndFoundModify lostAndFound_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdItemLostAndFoundModify LostAndFound {
    get { return lostAndFound_; }
    set {
      lostAndFound_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScItemBagCommonModify);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScItemBagCommonModify other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!object.Equals(LostAndFound, other.LostAndFound)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (lostAndFound_ != null) hash ^= LostAndFound.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (lostAndFound_ != null) {
      output.WriteRawTag(10);
      output.WriteMessage(LostAndFound);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (lostAndFound_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(LostAndFound);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScItemBagCommonModify other) {
    if (other == null) {
      return;
    }
    if (other.lostAndFound_ != null) {
      if (lostAndFound_ == null) {
        lostAndFound_ = new global::ScdItemLostAndFoundModify();
      }
      LostAndFound.MergeFrom(other.LostAndFound);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          if (lostAndFound_ == null) {
            lostAndFound_ = new global::ScdItemLostAndFoundModify();
          }
          input.ReadMessage(lostAndFound_);
          break;
        }
      }
    }
  }

}

public sealed partial class ScItemBagScopeSync : pb::IMessage<ScItemBagScopeSync> {
  private static readonly pb::MessageParser<ScItemBagScopeSync> _parser = new pb::MessageParser<ScItemBagScopeSync>(() => new ScItemBagScopeSync());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScItemBagScopeSync> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[666]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScItemBagScopeSync() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScItemBagScopeSync(ScItemBagScopeSync other) : this() {
    bag_ = other.bag_ != null ? other.bag_.Clone() : null;
    factoryDepot_ = other.factoryDepot_.Clone();
    depot_ = other.depot_.Clone();
    quickBar_ = other.quickBar_ != null ? other.quickBar_.Clone() : null;
    assistant_ = other.assistant_ != null ? other.assistant_.Clone() : null;
    scopeName_ = other.scopeName_;
    currentChapterId_ = other.currentChapterId_;
    spaceshipChapterId_ = other.spaceshipChapterId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScItemBagScopeSync Clone() {
    return new ScItemBagScopeSync(this);
  }

  /// <summary>Field number for the "bag" field.</summary>
  public const int BagFieldNumber = 1;
  private global::ScdItemBag bag_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdItemBag Bag {
    get { return bag_; }
    set {
      bag_ = value;
    }
  }

  /// <summary>Field number for the "factory_depot" field.</summary>
  public const int FactoryDepotFieldNumber = 2;
  private static readonly pbc::MapField<string, global::ScdItemDepot>.Codec _map_factoryDepot_codec
      = new pbc::MapField<string, global::ScdItemDepot>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForMessage(18, global::ScdItemDepot.Parser), 18);
  private readonly pbc::MapField<string, global::ScdItemDepot> factoryDepot_ = new pbc::MapField<string, global::ScdItemDepot>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<string, global::ScdItemDepot> FactoryDepot {
    get { return factoryDepot_; }
  }

  /// <summary>Field number for the "depot" field.</summary>
  public const int DepotFieldNumber = 3;
  private static readonly pbc::MapField<int, global::ScdItemDepot>.Codec _map_depot_codec
      = new pbc::MapField<int, global::ScdItemDepot>.Codec(pb::FieldCodec.ForInt32(8), pb::FieldCodec.ForMessage(18, global::ScdItemDepot.Parser), 26);
  private readonly pbc::MapField<int, global::ScdItemDepot> depot_ = new pbc::MapField<int, global::ScdItemDepot>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<int, global::ScdItemDepot> Depot {
    get { return depot_; }
  }

  /// <summary>Field number for the "quick_bar" field.</summary>
  public const int QuickBarFieldNumber = 4;
  private global::ScdItemBagSyncQuickBar quickBar_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdItemBagSyncQuickBar QuickBar {
    get { return quickBar_; }
    set {
      quickBar_ = value;
    }
  }

  /// <summary>Field number for the "assistant" field.</summary>
  public const int AssistantFieldNumber = 5;
  private global::ScdItemBagScopeAssistant assistant_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdItemBagScopeAssistant Assistant {
    get { return assistant_; }
    set {
      assistant_ = value;
    }
  }

  /// <summary>Field number for the "scope_name" field.</summary>
  public const int ScopeNameFieldNumber = 11;
  private int scopeName_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ScopeName {
    get { return scopeName_; }
    set {
      scopeName_ = value;
    }
  }

  /// <summary>Field number for the "current_chapter_id" field.</summary>
  public const int CurrentChapterIdFieldNumber = 12;
  private string currentChapterId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string CurrentChapterId {
    get { return currentChapterId_; }
    set {
      currentChapterId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "spaceship_chapter_id" field.</summary>
  public const int SpaceshipChapterIdFieldNumber = 13;
  private string spaceshipChapterId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string SpaceshipChapterId {
    get { return spaceshipChapterId_; }
    set {
      spaceshipChapterId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScItemBagScopeSync);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScItemBagScopeSync other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!object.Equals(Bag, other.Bag)) return false;
    if (!FactoryDepot.Equals(other.FactoryDepot)) return false;
    if (!Depot.Equals(other.Depot)) return false;
    if (!object.Equals(QuickBar, other.QuickBar)) return false;
    if (!object.Equals(Assistant, other.Assistant)) return false;
    if (ScopeName != other.ScopeName) return false;
    if (CurrentChapterId != other.CurrentChapterId) return false;
    if (SpaceshipChapterId != other.SpaceshipChapterId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (bag_ != null) hash ^= Bag.GetHashCode();
    hash ^= FactoryDepot.GetHashCode();
    hash ^= Depot.GetHashCode();
    if (quickBar_ != null) hash ^= QuickBar.GetHashCode();
    if (assistant_ != null) hash ^= Assistant.GetHashCode();
    if (ScopeName != 0) hash ^= ScopeName.GetHashCode();
    if (CurrentChapterId.Length != 0) hash ^= CurrentChapterId.GetHashCode();
    if (SpaceshipChapterId.Length != 0) hash ^= SpaceshipChapterId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (bag_ != null) {
      output.WriteRawTag(10);
      output.WriteMessage(Bag);
    }
    factoryDepot_.WriteTo(output, _map_factoryDepot_codec);
    depot_.WriteTo(output, _map_depot_codec);
    if (quickBar_ != null) {
      output.WriteRawTag(34);
      output.WriteMessage(QuickBar);
    }
    if (assistant_ != null) {
      output.WriteRawTag(42);
      output.WriteMessage(Assistant);
    }
    if (ScopeName != 0) {
      output.WriteRawTag(88);
      output.WriteInt32(ScopeName);
    }
    if (CurrentChapterId.Length != 0) {
      output.WriteRawTag(98);
      output.WriteString(CurrentChapterId);
    }
    if (SpaceshipChapterId.Length != 0) {
      output.WriteRawTag(106);
      output.WriteString(SpaceshipChapterId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (bag_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Bag);
    }
    size += factoryDepot_.CalculateSize(_map_factoryDepot_codec);
    size += depot_.CalculateSize(_map_depot_codec);
    if (quickBar_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(QuickBar);
    }
    if (assistant_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Assistant);
    }
    if (ScopeName != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ScopeName);
    }
    if (CurrentChapterId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(CurrentChapterId);
    }
    if (SpaceshipChapterId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(SpaceshipChapterId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScItemBagScopeSync other) {
    if (other == null) {
      return;
    }
    if (other.bag_ != null) {
      if (bag_ == null) {
        bag_ = new global::ScdItemBag();
      }
      Bag.MergeFrom(other.Bag);
    }
    factoryDepot_.Add(other.factoryDepot_);
    depot_.Add(other.depot_);
    if (other.quickBar_ != null) {
      if (quickBar_ == null) {
        quickBar_ = new global::ScdItemBagSyncQuickBar();
      }
      QuickBar.MergeFrom(other.QuickBar);
    }
    if (other.assistant_ != null) {
      if (assistant_ == null) {
        assistant_ = new global::ScdItemBagScopeAssistant();
      }
      Assistant.MergeFrom(other.Assistant);
    }
    if (other.ScopeName != 0) {
      ScopeName = other.ScopeName;
    }
    if (other.CurrentChapterId.Length != 0) {
      CurrentChapterId = other.CurrentChapterId;
    }
    if (other.SpaceshipChapterId.Length != 0) {
      SpaceshipChapterId = other.SpaceshipChapterId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          if (bag_ == null) {
            bag_ = new global::ScdItemBag();
          }
          input.ReadMessage(bag_);
          break;
        }
        case 18: {
          factoryDepot_.AddEntriesFrom(input, _map_factoryDepot_codec);
          break;
        }
        case 26: {
          depot_.AddEntriesFrom(input, _map_depot_codec);
          break;
        }
        case 34: {
          if (quickBar_ == null) {
            quickBar_ = new global::ScdItemBagSyncQuickBar();
          }
          input.ReadMessage(quickBar_);
          break;
        }
        case 42: {
          if (assistant_ == null) {
            assistant_ = new global::ScdItemBagScopeAssistant();
          }
          input.ReadMessage(assistant_);
          break;
        }
        case 88: {
          ScopeName = input.ReadInt32();
          break;
        }
        case 98: {
          CurrentChapterId = input.ReadString();
          break;
        }
        case 106: {
          SpaceshipChapterId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdItemBagScopeAssistant : pb::IMessage<ScdItemBagScopeAssistant> {
  private static readonly pb::MessageParser<ScdItemBagScopeAssistant> _parser = new pb::MessageParser<ScdItemBagScopeAssistant>(() => new ScdItemBagScopeAssistant());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdItemBagScopeAssistant> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[667]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdItemBagScopeAssistant() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdItemBagScopeAssistant(ScdItemBagScopeAssistant other) : this() {
    lastUseTime_ = other.lastUseTime_.Clone();
    cannotDestroy_ = other.cannotDestroy_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdItemBagScopeAssistant Clone() {
    return new ScdItemBagScopeAssistant(this);
  }

  /// <summary>Field number for the "last_use_time" field.</summary>
  public const int LastUseTimeFieldNumber = 1;
  private static readonly pbc::MapField<string, int>.Codec _map_lastUseTime_codec
      = new pbc::MapField<string, int>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForInt32(16), 10);
  private readonly pbc::MapField<string, int> lastUseTime_ = new pbc::MapField<string, int>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<string, int> LastUseTime {
    get { return lastUseTime_; }
  }

  /// <summary>Field number for the "cannot_destroy" field.</summary>
  public const int CannotDestroyFieldNumber = 2;
  private static readonly pbc::MapField<string, bool>.Codec _map_cannotDestroy_codec
      = new pbc::MapField<string, bool>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForBool(16), 18);
  private readonly pbc::MapField<string, bool> cannotDestroy_ = new pbc::MapField<string, bool>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<string, bool> CannotDestroy {
    get { return cannotDestroy_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdItemBagScopeAssistant);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdItemBagScopeAssistant other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!LastUseTime.Equals(other.LastUseTime)) return false;
    if (!CannotDestroy.Equals(other.CannotDestroy)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= LastUseTime.GetHashCode();
    hash ^= CannotDestroy.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    lastUseTime_.WriteTo(output, _map_lastUseTime_codec);
    cannotDestroy_.WriteTo(output, _map_cannotDestroy_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += lastUseTime_.CalculateSize(_map_lastUseTime_codec);
    size += cannotDestroy_.CalculateSize(_map_cannotDestroy_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdItemBagScopeAssistant other) {
    if (other == null) {
      return;
    }
    lastUseTime_.Add(other.lastUseTime_);
    cannotDestroy_.Add(other.cannotDestroy_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          lastUseTime_.AddEntriesFrom(input, _map_lastUseTime_codec);
          break;
        }
        case 18: {
          cannotDestroy_.AddEntriesFrom(input, _map_cannotDestroy_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScTrialCharacterEquipMedicineModify : pb::IMessage<ScTrialCharacterEquipMedicineModify> {
  private static readonly pb::MessageParser<ScTrialCharacterEquipMedicineModify> _parser = new pb::MessageParser<ScTrialCharacterEquipMedicineModify>(() => new ScTrialCharacterEquipMedicineModify());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScTrialCharacterEquipMedicineModify> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[668]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScTrialCharacterEquipMedicineModify() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScTrialCharacterEquipMedicineModify(ScTrialCharacterEquipMedicineModify other) : this() {
    trialObjId_ = other.trialObjId_;
    count_ = other.count_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScTrialCharacterEquipMedicineModify Clone() {
    return new ScTrialCharacterEquipMedicineModify(this);
  }

  /// <summary>Field number for the "trial_obj_id" field.</summary>
  public const int TrialObjIdFieldNumber = 1;
  private ulong trialObjId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong TrialObjId {
    get { return trialObjId_; }
    set {
      trialObjId_ = value;
    }
  }

  /// <summary>Field number for the "count" field.</summary>
  public const int CountFieldNumber = 2;
  private int count_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Count {
    get { return count_; }
    set {
      count_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScTrialCharacterEquipMedicineModify);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScTrialCharacterEquipMedicineModify other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (TrialObjId != other.TrialObjId) return false;
    if (Count != other.Count) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (TrialObjId != 0UL) hash ^= TrialObjId.GetHashCode();
    if (Count != 0) hash ^= Count.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (TrialObjId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(TrialObjId);
    }
    if (Count != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(Count);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (TrialObjId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(TrialObjId);
    }
    if (Count != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Count);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScTrialCharacterEquipMedicineModify other) {
    if (other == null) {
      return;
    }
    if (other.TrialObjId != 0UL) {
      TrialObjId = other.TrialObjId;
    }
    if (other.Count != 0) {
      Count = other.Count;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          TrialObjId = input.ReadUInt64();
          break;
        }
        case 16: {
          Count = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScItemBagTrialCharDepotModify : pb::IMessage<ScItemBagTrialCharDepotModify> {
  private static readonly pb::MessageParser<ScItemBagTrialCharDepotModify> _parser = new pb::MessageParser<ScItemBagTrialCharDepotModify>(() => new ScItemBagTrialCharDepotModify());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScItemBagTrialCharDepotModify> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[669]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScItemBagTrialCharDepotModify() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScItemBagTrialCharDepotModify(ScItemBagTrialCharDepotModify other) : this() {
    scopeName_ = other.scopeName_;
    trialCharDepot_ = other.trialCharDepot_ != null ? other.trialCharDepot_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScItemBagTrialCharDepotModify Clone() {
    return new ScItemBagTrialCharDepotModify(this);
  }

  /// <summary>Field number for the "scope_name" field.</summary>
  public const int ScopeNameFieldNumber = 1;
  private int scopeName_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ScopeName {
    get { return scopeName_; }
    set {
      scopeName_ = value;
    }
  }

  /// <summary>Field number for the "trial_char_depot" field.</summary>
  public const int TrialCharDepotFieldNumber = 2;
  private global::ScdItemDepotModify trialCharDepot_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdItemDepotModify TrialCharDepot {
    get { return trialCharDepot_; }
    set {
      trialCharDepot_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScItemBagTrialCharDepotModify);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScItemBagTrialCharDepotModify other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ScopeName != other.ScopeName) return false;
    if (!object.Equals(TrialCharDepot, other.TrialCharDepot)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ScopeName != 0) hash ^= ScopeName.GetHashCode();
    if (trialCharDepot_ != null) hash ^= TrialCharDepot.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ScopeName != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(ScopeName);
    }
    if (trialCharDepot_ != null) {
      output.WriteRawTag(18);
      output.WriteMessage(TrialCharDepot);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ScopeName != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ScopeName);
    }
    if (trialCharDepot_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(TrialCharDepot);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScItemBagTrialCharDepotModify other) {
    if (other == null) {
      return;
    }
    if (other.ScopeName != 0) {
      ScopeName = other.ScopeName;
    }
    if (other.trialCharDepot_ != null) {
      if (trialCharDepot_ == null) {
        trialCharDepot_ = new global::ScdItemDepotModify();
      }
      TrialCharDepot.MergeFrom(other.TrialCharDepot);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ScopeName = input.ReadInt32();
          break;
        }
        case 18: {
          if (trialCharDepot_ == null) {
            trialCharDepot_ = new global::ScdItemDepotModify();
          }
          input.ReadMessage(trialCharDepot_);
          break;
        }
      }
    }
  }

}

public sealed partial class ScItemBagTrialCharDepotClear : pb::IMessage<ScItemBagTrialCharDepotClear> {
  private static readonly pb::MessageParser<ScItemBagTrialCharDepotClear> _parser = new pb::MessageParser<ScItemBagTrialCharDepotClear>(() => new ScItemBagTrialCharDepotClear());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScItemBagTrialCharDepotClear> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[670]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScItemBagTrialCharDepotClear() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScItemBagTrialCharDepotClear(ScItemBagTrialCharDepotClear other) : this() {
    scopeName_ = other.scopeName_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScItemBagTrialCharDepotClear Clone() {
    return new ScItemBagTrialCharDepotClear(this);
  }

  /// <summary>Field number for the "scope_name" field.</summary>
  public const int ScopeNameFieldNumber = 1;
  private int scopeName_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ScopeName {
    get { return scopeName_; }
    set {
      scopeName_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScItemBagTrialCharDepotClear);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScItemBagTrialCharDepotClear other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ScopeName != other.ScopeName) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ScopeName != 0) hash ^= ScopeName.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ScopeName != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(ScopeName);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ScopeName != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ScopeName);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScItemBagTrialCharDepotClear other) {
    if (other == null) {
      return;
    }
    if (other.ScopeName != 0) {
      ScopeName = other.ScopeName;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ScopeName = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScItemBagScopeModify : pb::IMessage<ScItemBagScopeModify> {
  private static readonly pb::MessageParser<ScItemBagScopeModify> _parser = new pb::MessageParser<ScItemBagScopeModify>(() => new ScItemBagScopeModify());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScItemBagScopeModify> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[671]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScItemBagScopeModify() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScItemBagScopeModify(ScItemBagScopeModify other) : this() {
    bag_ = other.bag_ != null ? other.bag_.Clone() : null;
    factoryDepot_ = other.factoryDepot_.Clone();
    depot_ = other.depot_.Clone();
    quickBar_ = other.quickBar_ != null ? other.quickBar_.Clone() : null;
    assistant_ = other.assistant_ != null ? other.assistant_.Clone() : null;
    scopeName_ = other.scopeName_;
    currentChapterId_ = other.currentChapterId_;
    isScopeDelete_ = other.isScopeDelete_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScItemBagScopeModify Clone() {
    return new ScItemBagScopeModify(this);
  }

  /// <summary>Field number for the "bag" field.</summary>
  public const int BagFieldNumber = 1;
  private global::ScdItemBagModify bag_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdItemBagModify Bag {
    get { return bag_; }
    set {
      bag_ = value;
    }
  }

  /// <summary>Field number for the "factory_depot" field.</summary>
  public const int FactoryDepotFieldNumber = 2;
  private static readonly pbc::MapField<string, global::ScdItemDepotModify>.Codec _map_factoryDepot_codec
      = new pbc::MapField<string, global::ScdItemDepotModify>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForMessage(18, global::ScdItemDepotModify.Parser), 18);
  private readonly pbc::MapField<string, global::ScdItemDepotModify> factoryDepot_ = new pbc::MapField<string, global::ScdItemDepotModify>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<string, global::ScdItemDepotModify> FactoryDepot {
    get { return factoryDepot_; }
  }

  /// <summary>Field number for the "depot" field.</summary>
  public const int DepotFieldNumber = 3;
  private static readonly pbc::MapField<int, global::ScdItemDepotModify>.Codec _map_depot_codec
      = new pbc::MapField<int, global::ScdItemDepotModify>.Codec(pb::FieldCodec.ForInt32(8), pb::FieldCodec.ForMessage(18, global::ScdItemDepotModify.Parser), 26);
  private readonly pbc::MapField<int, global::ScdItemDepotModify> depot_ = new pbc::MapField<int, global::ScdItemDepotModify>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<int, global::ScdItemDepotModify> Depot {
    get { return depot_; }
  }

  /// <summary>Field number for the "quick_bar" field.</summary>
  public const int QuickBarFieldNumber = 4;
  private global::ScdItemBagSyncQuickBar quickBar_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdItemBagSyncQuickBar QuickBar {
    get { return quickBar_; }
    set {
      quickBar_ = value;
    }
  }

  /// <summary>Field number for the "assistant" field.</summary>
  public const int AssistantFieldNumber = 5;
  private global::ScdItemBagScopeAssistantModify assistant_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdItemBagScopeAssistantModify Assistant {
    get { return assistant_; }
    set {
      assistant_ = value;
    }
  }

  /// <summary>Field number for the "scope_name" field.</summary>
  public const int ScopeNameFieldNumber = 11;
  private int scopeName_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ScopeName {
    get { return scopeName_; }
    set {
      scopeName_ = value;
    }
  }

  /// <summary>Field number for the "current_chapter_id" field.</summary>
  public const int CurrentChapterIdFieldNumber = 12;
  private string currentChapterId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string CurrentChapterId {
    get { return currentChapterId_; }
    set {
      currentChapterId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "is_scope_delete" field.</summary>
  public const int IsScopeDeleteFieldNumber = 14;
  private bool isScopeDelete_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool IsScopeDelete {
    get { return isScopeDelete_; }
    set {
      isScopeDelete_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScItemBagScopeModify);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScItemBagScopeModify other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!object.Equals(Bag, other.Bag)) return false;
    if (!FactoryDepot.Equals(other.FactoryDepot)) return false;
    if (!Depot.Equals(other.Depot)) return false;
    if (!object.Equals(QuickBar, other.QuickBar)) return false;
    if (!object.Equals(Assistant, other.Assistant)) return false;
    if (ScopeName != other.ScopeName) return false;
    if (CurrentChapterId != other.CurrentChapterId) return false;
    if (IsScopeDelete != other.IsScopeDelete) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (bag_ != null) hash ^= Bag.GetHashCode();
    hash ^= FactoryDepot.GetHashCode();
    hash ^= Depot.GetHashCode();
    if (quickBar_ != null) hash ^= QuickBar.GetHashCode();
    if (assistant_ != null) hash ^= Assistant.GetHashCode();
    if (ScopeName != 0) hash ^= ScopeName.GetHashCode();
    if (CurrentChapterId.Length != 0) hash ^= CurrentChapterId.GetHashCode();
    if (IsScopeDelete != false) hash ^= IsScopeDelete.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (bag_ != null) {
      output.WriteRawTag(10);
      output.WriteMessage(Bag);
    }
    factoryDepot_.WriteTo(output, _map_factoryDepot_codec);
    depot_.WriteTo(output, _map_depot_codec);
    if (quickBar_ != null) {
      output.WriteRawTag(34);
      output.WriteMessage(QuickBar);
    }
    if (assistant_ != null) {
      output.WriteRawTag(42);
      output.WriteMessage(Assistant);
    }
    if (ScopeName != 0) {
      output.WriteRawTag(88);
      output.WriteInt32(ScopeName);
    }
    if (CurrentChapterId.Length != 0) {
      output.WriteRawTag(98);
      output.WriteString(CurrentChapterId);
    }
    if (IsScopeDelete != false) {
      output.WriteRawTag(112);
      output.WriteBool(IsScopeDelete);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (bag_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Bag);
    }
    size += factoryDepot_.CalculateSize(_map_factoryDepot_codec);
    size += depot_.CalculateSize(_map_depot_codec);
    if (quickBar_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(QuickBar);
    }
    if (assistant_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Assistant);
    }
    if (ScopeName != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ScopeName);
    }
    if (CurrentChapterId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(CurrentChapterId);
    }
    if (IsScopeDelete != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScItemBagScopeModify other) {
    if (other == null) {
      return;
    }
    if (other.bag_ != null) {
      if (bag_ == null) {
        bag_ = new global::ScdItemBagModify();
      }
      Bag.MergeFrom(other.Bag);
    }
    factoryDepot_.Add(other.factoryDepot_);
    depot_.Add(other.depot_);
    if (other.quickBar_ != null) {
      if (quickBar_ == null) {
        quickBar_ = new global::ScdItemBagSyncQuickBar();
      }
      QuickBar.MergeFrom(other.QuickBar);
    }
    if (other.assistant_ != null) {
      if (assistant_ == null) {
        assistant_ = new global::ScdItemBagScopeAssistantModify();
      }
      Assistant.MergeFrom(other.Assistant);
    }
    if (other.ScopeName != 0) {
      ScopeName = other.ScopeName;
    }
    if (other.CurrentChapterId.Length != 0) {
      CurrentChapterId = other.CurrentChapterId;
    }
    if (other.IsScopeDelete != false) {
      IsScopeDelete = other.IsScopeDelete;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          if (bag_ == null) {
            bag_ = new global::ScdItemBagModify();
          }
          input.ReadMessage(bag_);
          break;
        }
        case 18: {
          factoryDepot_.AddEntriesFrom(input, _map_factoryDepot_codec);
          break;
        }
        case 26: {
          depot_.AddEntriesFrom(input, _map_depot_codec);
          break;
        }
        case 34: {
          if (quickBar_ == null) {
            quickBar_ = new global::ScdItemBagSyncQuickBar();
          }
          input.ReadMessage(quickBar_);
          break;
        }
        case 42: {
          if (assistant_ == null) {
            assistant_ = new global::ScdItemBagScopeAssistantModify();
          }
          input.ReadMessage(assistant_);
          break;
        }
        case 88: {
          ScopeName = input.ReadInt32();
          break;
        }
        case 98: {
          CurrentChapterId = input.ReadString();
          break;
        }
        case 112: {
          IsScopeDelete = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdItemBagScopeAssistantModify : pb::IMessage<ScdItemBagScopeAssistantModify> {
  private static readonly pb::MessageParser<ScdItemBagScopeAssistantModify> _parser = new pb::MessageParser<ScdItemBagScopeAssistantModify>(() => new ScdItemBagScopeAssistantModify());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdItemBagScopeAssistantModify> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[672]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdItemBagScopeAssistantModify() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdItemBagScopeAssistantModify(ScdItemBagScopeAssistantModify other) : this() {
    lastUseTime_ = other.lastUseTime_.Clone();
    cannotDestroy_ = other.cannotDestroy_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdItemBagScopeAssistantModify Clone() {
    return new ScdItemBagScopeAssistantModify(this);
  }

  /// <summary>Field number for the "last_use_time" field.</summary>
  public const int LastUseTimeFieldNumber = 1;
  private static readonly pbc::MapField<string, int>.Codec _map_lastUseTime_codec
      = new pbc::MapField<string, int>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForInt32(16), 10);
  private readonly pbc::MapField<string, int> lastUseTime_ = new pbc::MapField<string, int>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<string, int> LastUseTime {
    get { return lastUseTime_; }
  }

  /// <summary>Field number for the "cannot_destroy" field.</summary>
  public const int CannotDestroyFieldNumber = 2;
  private static readonly pbc::MapField<string, bool>.Codec _map_cannotDestroy_codec
      = new pbc::MapField<string, bool>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForBool(16), 18);
  private readonly pbc::MapField<string, bool> cannotDestroy_ = new pbc::MapField<string, bool>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<string, bool> CannotDestroy {
    get { return cannotDestroy_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdItemBagScopeAssistantModify);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdItemBagScopeAssistantModify other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!LastUseTime.Equals(other.LastUseTime)) return false;
    if (!CannotDestroy.Equals(other.CannotDestroy)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= LastUseTime.GetHashCode();
    hash ^= CannotDestroy.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    lastUseTime_.WriteTo(output, _map_lastUseTime_codec);
    cannotDestroy_.WriteTo(output, _map_cannotDestroy_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += lastUseTime_.CalculateSize(_map_lastUseTime_codec);
    size += cannotDestroy_.CalculateSize(_map_cannotDestroy_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdItemBagScopeAssistantModify other) {
    if (other == null) {
      return;
    }
    lastUseTime_.Add(other.lastUseTime_);
    cannotDestroy_.Add(other.cannotDestroy_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          lastUseTime_.AddEntriesFrom(input, _map_lastUseTime_codec);
          break;
        }
        case 18: {
          cannotDestroy_.AddEntriesFrom(input, _map_cannotDestroy_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScItemBagUseItem : pb::IMessage<ScItemBagUseItem> {
  private static readonly pb::MessageParser<ScItemBagUseItem> _parser = new pb::MessageParser<ScItemBagUseItem>(() => new ScItemBagUseItem());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScItemBagUseItem> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[673]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScItemBagUseItem() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScItemBagUseItem(ScItemBagUseItem other) : this() {
    result_ = other.result_;
    usedItem_ = other.usedItem_ != null ? other.usedItem_.Clone() : null;
    charInstIdList_ = other.charInstIdList_.Clone();
    equipMedicineCharInstId_ = other.equipMedicineCharInstId_;
    scopeName_ = other.scopeName_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScItemBagUseItem Clone() {
    return new ScItemBagUseItem(this);
  }

  /// <summary>Field number for the "result" field.</summary>
  public const int ResultFieldNumber = 1;
  private global::EUseItemResult result_ = 0;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::EUseItemResult Result {
    get { return result_; }
    set {
      result_ = value;
    }
  }

  /// <summary>Field number for the "used_item" field.</summary>
  public const int UsedItemFieldNumber = 2;
  private global::ScdItemGrid usedItem_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdItemGrid UsedItem {
    get { return usedItem_; }
    set {
      usedItem_ = value;
    }
  }

  /// <summary>Field number for the "char_inst_id_list" field.</summary>
  public const int CharInstIdListFieldNumber = 3;
  private static readonly pb::FieldCodec<ulong> _repeated_charInstIdList_codec
      = pb::FieldCodec.ForUInt64(26);
  private readonly pbc::RepeatedField<ulong> charInstIdList_ = new pbc::RepeatedField<ulong>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<ulong> CharInstIdList {
    get { return charInstIdList_; }
  }

  /// <summary>Field number for the "equip_medicine_char_inst_id" field.</summary>
  public const int EquipMedicineCharInstIdFieldNumber = 4;
  private ulong equipMedicineCharInstId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong EquipMedicineCharInstId {
    get { return equipMedicineCharInstId_; }
    set {
      equipMedicineCharInstId_ = value;
    }
  }

  /// <summary>Field number for the "scope_name" field.</summary>
  public const int ScopeNameFieldNumber = 11;
  private int scopeName_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ScopeName {
    get { return scopeName_; }
    set {
      scopeName_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScItemBagUseItem);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScItemBagUseItem other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Result != other.Result) return false;
    if (!object.Equals(UsedItem, other.UsedItem)) return false;
    if(!charInstIdList_.Equals(other.charInstIdList_)) return false;
    if (EquipMedicineCharInstId != other.EquipMedicineCharInstId) return false;
    if (ScopeName != other.ScopeName) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Result != 0) hash ^= Result.GetHashCode();
    if (usedItem_ != null) hash ^= UsedItem.GetHashCode();
    hash ^= charInstIdList_.GetHashCode();
    if (EquipMedicineCharInstId != 0UL) hash ^= EquipMedicineCharInstId.GetHashCode();
    if (ScopeName != 0) hash ^= ScopeName.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Result != 0) {
      output.WriteRawTag(8);
      output.WriteEnum((int) Result);
    }
    if (usedItem_ != null) {
      output.WriteRawTag(18);
      output.WriteMessage(UsedItem);
    }
    charInstIdList_.WriteTo(output, _repeated_charInstIdList_codec);
    if (EquipMedicineCharInstId != 0UL) {
      output.WriteRawTag(32);
      output.WriteUInt64(EquipMedicineCharInstId);
    }
    if (ScopeName != 0) {
      output.WriteRawTag(88);
      output.WriteInt32(ScopeName);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Result != 0) {
      size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Result);
    }
    if (usedItem_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(UsedItem);
    }
    size += charInstIdList_.CalculateSize(_repeated_charInstIdList_codec);
    if (EquipMedicineCharInstId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(EquipMedicineCharInstId);
    }
    if (ScopeName != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ScopeName);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScItemBagUseItem other) {
    if (other == null) {
      return;
    }
    if (other.Result != 0) {
      Result = other.Result;
    }
    if (other.usedItem_ != null) {
      if (usedItem_ == null) {
        usedItem_ = new global::ScdItemGrid();
      }
      UsedItem.MergeFrom(other.UsedItem);
    }
    charInstIdList_.Add(other.charInstIdList_);
    if (other.EquipMedicineCharInstId != 0UL) {
      EquipMedicineCharInstId = other.EquipMedicineCharInstId;
    }
    if (other.ScopeName != 0) {
      ScopeName = other.ScopeName;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          result_ = (global::EUseItemResult) input.ReadEnum();
          break;
        }
        case 18: {
          if (usedItem_ == null) {
            usedItem_ = new global::ScdItemGrid();
          }
          input.ReadMessage(usedItem_);
          break;
        }
        case 26:
        case 24: {
          charInstIdList_.AddEntriesFrom(input, _repeated_charInstIdList_codec);
          break;
        }
        case 32: {
          EquipMedicineCharInstId = input.ReadUInt64();
          break;
        }
        case 88: {
          ScopeName = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScItemBagSetQuickBar : pb::IMessage<ScItemBagSetQuickBar> {
  private static readonly pb::MessageParser<ScItemBagSetQuickBar> _parser = new pb::MessageParser<ScItemBagSetQuickBar>(() => new ScItemBagSetQuickBar());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScItemBagSetQuickBar> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[674]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScItemBagSetQuickBar() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScItemBagSetQuickBar(ScItemBagSetQuickBar other) : this() {
    itemId_ = other.itemId_.Clone();
    scopeName_ = other.scopeName_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScItemBagSetQuickBar Clone() {
    return new ScItemBagSetQuickBar(this);
  }

  /// <summary>Field number for the "item_id" field.</summary>
  public const int ItemIdFieldNumber = 1;
  private static readonly pb::FieldCodec<string> _repeated_itemId_codec
      = pb::FieldCodec.ForString(10);
  private readonly pbc::RepeatedField<string> itemId_ = new pbc::RepeatedField<string>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<string> ItemId {
    get { return itemId_; }
  }

  /// <summary>Field number for the "scope_name" field.</summary>
  public const int ScopeNameFieldNumber = 11;
  private int scopeName_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ScopeName {
    get { return scopeName_; }
    set {
      scopeName_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScItemBagSetQuickBar);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScItemBagSetQuickBar other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!itemId_.Equals(other.itemId_)) return false;
    if (ScopeName != other.ScopeName) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= itemId_.GetHashCode();
    if (ScopeName != 0) hash ^= ScopeName.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    itemId_.WriteTo(output, _repeated_itemId_codec);
    if (ScopeName != 0) {
      output.WriteRawTag(88);
      output.WriteInt32(ScopeName);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += itemId_.CalculateSize(_repeated_itemId_codec);
    if (ScopeName != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ScopeName);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScItemBagSetQuickBar other) {
    if (other == null) {
      return;
    }
    itemId_.Add(other.itemId_);
    if (other.ScopeName != 0) {
      ScopeName = other.ScopeName;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          itemId_.AddEntriesFrom(input, _repeated_itemId_codec);
          break;
        }
        case 88: {
          ScopeName = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScItemBagSetQuickBarPos : pb::IMessage<ScItemBagSetQuickBarPos> {
  private static readonly pb::MessageParser<ScItemBagSetQuickBarPos> _parser = new pb::MessageParser<ScItemBagSetQuickBarPos>(() => new ScItemBagSetQuickBarPos());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScItemBagSetQuickBarPos> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[675]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScItemBagSetQuickBarPos() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScItemBagSetQuickBarPos(ScItemBagSetQuickBarPos other) : this() {
    pos_ = other.pos_;
    scopeName_ = other.scopeName_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScItemBagSetQuickBarPos Clone() {
    return new ScItemBagSetQuickBarPos(this);
  }

  /// <summary>Field number for the "pos" field.</summary>
  public const int PosFieldNumber = 1;
  private int pos_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Pos {
    get { return pos_; }
    set {
      pos_ = value;
    }
  }

  /// <summary>Field number for the "scope_name" field.</summary>
  public const int ScopeNameFieldNumber = 11;
  private int scopeName_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ScopeName {
    get { return scopeName_; }
    set {
      scopeName_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScItemBagSetQuickBarPos);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScItemBagSetQuickBarPos other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Pos != other.Pos) return false;
    if (ScopeName != other.ScopeName) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Pos != 0) hash ^= Pos.GetHashCode();
    if (ScopeName != 0) hash ^= ScopeName.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Pos != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(Pos);
    }
    if (ScopeName != 0) {
      output.WriteRawTag(88);
      output.WriteInt32(ScopeName);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Pos != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Pos);
    }
    if (ScopeName != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ScopeName);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScItemBagSetQuickBarPos other) {
    if (other == null) {
      return;
    }
    if (other.Pos != 0) {
      Pos = other.Pos;
    }
    if (other.ScopeName != 0) {
      ScopeName = other.ScopeName;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Pos = input.ReadInt32();
          break;
        }
        case 88: {
          ScopeName = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScItemBagSetItemLock : pb::IMessage<ScItemBagSetItemLock> {
  private static readonly pb::MessageParser<ScItemBagSetItemLock> _parser = new pb::MessageParser<ScItemBagSetItemLock>(() => new ScItemBagSetItemLock());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScItemBagSetItemLock> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[676]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScItemBagSetItemLock() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScItemBagSetItemLock(ScItemBagSetItemLock other) : this() {
    lockInfoList_ = other.lockInfoList_.Clone();
    scopeName_ = other.scopeName_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScItemBagSetItemLock Clone() {
    return new ScItemBagSetItemLock(this);
  }

  /// <summary>Field number for the "lock_info_list" field.</summary>
  public const int LockInfoListFieldNumber = 1;
  private static readonly pb::FieldCodec<global::ItemInstLockInfo> _repeated_lockInfoList_codec
      = pb::FieldCodec.ForMessage(10, global::ItemInstLockInfo.Parser);
  private readonly pbc::RepeatedField<global::ItemInstLockInfo> lockInfoList_ = new pbc::RepeatedField<global::ItemInstLockInfo>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ItemInstLockInfo> LockInfoList {
    get { return lockInfoList_; }
  }

  /// <summary>Field number for the "scope_name" field.</summary>
  public const int ScopeNameFieldNumber = 11;
  private int scopeName_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ScopeName {
    get { return scopeName_; }
    set {
      scopeName_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScItemBagSetItemLock);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScItemBagSetItemLock other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!lockInfoList_.Equals(other.lockInfoList_)) return false;
    if (ScopeName != other.ScopeName) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= lockInfoList_.GetHashCode();
    if (ScopeName != 0) hash ^= ScopeName.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    lockInfoList_.WriteTo(output, _repeated_lockInfoList_codec);
    if (ScopeName != 0) {
      output.WriteRawTag(88);
      output.WriteInt32(ScopeName);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += lockInfoList_.CalculateSize(_repeated_lockInfoList_codec);
    if (ScopeName != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ScopeName);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScItemBagSetItemLock other) {
    if (other == null) {
      return;
    }
    lockInfoList_.Add(other.lockInfoList_);
    if (other.ScopeName != 0) {
      ScopeName = other.ScopeName;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          lockInfoList_.AddEntriesFrom(input, _repeated_lockInfoList_codec);
          break;
        }
        case 88: {
          ScopeName = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScItemBagAbandonInBag : pb::IMessage<ScItemBagAbandonInBag> {
  private static readonly pb::MessageParser<ScItemBagAbandonInBag> _parser = new pb::MessageParser<ScItemBagAbandonInBag>(() => new ScItemBagAbandonInBag());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScItemBagAbandonInBag> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[677]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScItemBagAbandonInBag() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScItemBagAbandonInBag(ScItemBagAbandonInBag other) : this() {
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScItemBagAbandonInBag Clone() {
    return new ScItemBagAbandonInBag(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScItemBagAbandonInBag);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScItemBagAbandonInBag other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScItemBagAbandonInBag other) {
    if (other == null) {
      return;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
      }
    }
  }

}

public sealed partial class ScItemBagBagToFactoryDepot : pb::IMessage<ScItemBagBagToFactoryDepot> {
  private static readonly pb::MessageParser<ScItemBagBagToFactoryDepot> _parser = new pb::MessageParser<ScItemBagBagToFactoryDepot>(() => new ScItemBagBagToFactoryDepot());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScItemBagBagToFactoryDepot> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[678]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScItemBagBagToFactoryDepot() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScItemBagBagToFactoryDepot(ScItemBagBagToFactoryDepot other) : this() {
    notAllSuccess_ = other.notAllSuccess_;
    scopeName_ = other.scopeName_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScItemBagBagToFactoryDepot Clone() {
    return new ScItemBagBagToFactoryDepot(this);
  }

  /// <summary>Field number for the "not_all_success" field.</summary>
  public const int NotAllSuccessFieldNumber = 1;
  private bool notAllSuccess_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool NotAllSuccess {
    get { return notAllSuccess_; }
    set {
      notAllSuccess_ = value;
    }
  }

  /// <summary>Field number for the "scope_name" field.</summary>
  public const int ScopeNameFieldNumber = 21;
  private int scopeName_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ScopeName {
    get { return scopeName_; }
    set {
      scopeName_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScItemBagBagToFactoryDepot);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScItemBagBagToFactoryDepot other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (NotAllSuccess != other.NotAllSuccess) return false;
    if (ScopeName != other.ScopeName) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (NotAllSuccess != false) hash ^= NotAllSuccess.GetHashCode();
    if (ScopeName != 0) hash ^= ScopeName.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (NotAllSuccess != false) {
      output.WriteRawTag(8);
      output.WriteBool(NotAllSuccess);
    }
    if (ScopeName != 0) {
      output.WriteRawTag(168, 1);
      output.WriteInt32(ScopeName);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (NotAllSuccess != false) {
      size += 1 + 1;
    }
    if (ScopeName != 0) {
      size += 2 + pb::CodedOutputStream.ComputeInt32Size(ScopeName);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScItemBagBagToFactoryDepot other) {
    if (other == null) {
      return;
    }
    if (other.NotAllSuccess != false) {
      NotAllSuccess = other.NotAllSuccess;
    }
    if (other.ScopeName != 0) {
      ScopeName = other.ScopeName;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          NotAllSuccess = input.ReadBool();
          break;
        }
        case 168: {
          ScopeName = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScItemBagTakeoutLostAndFound : pb::IMessage<ScItemBagTakeoutLostAndFound> {
  private static readonly pb::MessageParser<ScItemBagTakeoutLostAndFound> _parser = new pb::MessageParser<ScItemBagTakeoutLostAndFound>(() => new ScItemBagTakeoutLostAndFound());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScItemBagTakeoutLostAndFound> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[679]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScItemBagTakeoutLostAndFound() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScItemBagTakeoutLostAndFound(ScItemBagTakeoutLostAndFound other) : this() {
    nothingGot_ = other.nothingGot_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScItemBagTakeoutLostAndFound Clone() {
    return new ScItemBagTakeoutLostAndFound(this);
  }

  /// <summary>Field number for the "nothing_got" field.</summary>
  public const int NothingGotFieldNumber = 1;
  private bool nothingGot_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool NothingGot {
    get { return nothingGot_; }
    set {
      nothingGot_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScItemBagTakeoutLostAndFound);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScItemBagTakeoutLostAndFound other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (NothingGot != other.NothingGot) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (NothingGot != false) hash ^= NothingGot.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (NothingGot != false) {
      output.WriteRawTag(8);
      output.WriteBool(NothingGot);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (NothingGot != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScItemBagTakeoutLostAndFound other) {
    if (other == null) {
      return;
    }
    if (other.NothingGot != false) {
      NothingGot = other.NothingGot;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          NothingGot = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class ScItemBagGotItemToast : pb::IMessage<ScItemBagGotItemToast> {
  private static readonly pb::MessageParser<ScItemBagGotItemToast> _parser = new pb::MessageParser<ScItemBagGotItemToast>(() => new ScItemBagGotItemToast());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScItemBagGotItemToast> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[680]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScItemBagGotItemToast() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScItemBagGotItemToast(ScItemBagGotItemToast other) : this() {
    items_ = other.items_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScItemBagGotItemToast Clone() {
    return new ScItemBagGotItemToast(this);
  }

  /// <summary>Field number for the "items" field.</summary>
  public const int ItemsFieldNumber = 1;
  private static readonly pbc::MapField<string, int>.Codec _map_items_codec
      = new pbc::MapField<string, int>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForInt32(16), 10);
  private readonly pbc::MapField<string, int> items_ = new pbc::MapField<string, int>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<string, int> Items {
    get { return items_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScItemBagGotItemToast);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScItemBagGotItemToast other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!Items.Equals(other.Items)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= Items.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    items_.WriteTo(output, _map_items_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += items_.CalculateSize(_map_items_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScItemBagGotItemToast other) {
    if (other == null) {
      return;
    }
    items_.Add(other.items_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          items_.AddEntriesFrom(input, _map_items_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScRewardToastBegin : pb::IMessage<ScRewardToastBegin> {
  private static readonly pb::MessageParser<ScRewardToastBegin> _parser = new pb::MessageParser<ScRewardToastBegin>(() => new ScRewardToastBegin());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScRewardToastBegin> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[681]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScRewardToastBegin() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScRewardToastBegin(ScRewardToastBegin other) : this() {
    rewardSourceType_ = other.rewardSourceType_;
    rewardToastInstId_ = other.rewardToastInstId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScRewardToastBegin Clone() {
    return new ScRewardToastBegin(this);
  }

  /// <summary>Field number for the "reward_source_type" field.</summary>
  public const int RewardSourceTypeFieldNumber = 1;
  private int rewardSourceType_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int RewardSourceType {
    get { return rewardSourceType_; }
    set {
      rewardSourceType_ = value;
    }
  }

  /// <summary>Field number for the "reward_toast_inst_id" field.</summary>
  public const int RewardToastInstIdFieldNumber = 2;
  private ulong rewardToastInstId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong RewardToastInstId {
    get { return rewardToastInstId_; }
    set {
      rewardToastInstId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScRewardToastBegin);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScRewardToastBegin other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (RewardSourceType != other.RewardSourceType) return false;
    if (RewardToastInstId != other.RewardToastInstId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (RewardSourceType != 0) hash ^= RewardSourceType.GetHashCode();
    if (RewardToastInstId != 0UL) hash ^= RewardToastInstId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (RewardSourceType != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(RewardSourceType);
    }
    if (RewardToastInstId != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(RewardToastInstId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (RewardSourceType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(RewardSourceType);
    }
    if (RewardToastInstId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(RewardToastInstId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScRewardToastBegin other) {
    if (other == null) {
      return;
    }
    if (other.RewardSourceType != 0) {
      RewardSourceType = other.RewardSourceType;
    }
    if (other.RewardToastInstId != 0UL) {
      RewardToastInstId = other.RewardToastInstId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          RewardSourceType = input.ReadInt32();
          break;
        }
        case 16: {
          RewardToastInstId = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class ScRewardToastEnd : pb::IMessage<ScRewardToastEnd> {
  private static readonly pb::MessageParser<ScRewardToastEnd> _parser = new pb::MessageParser<ScRewardToastEnd>(() => new ScRewardToastEnd());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScRewardToastEnd> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[682]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScRewardToastEnd() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScRewardToastEnd(ScRewardToastEnd other) : this() {
    rewardVirtualList_ = other.rewardVirtualList_.Clone();
    rewardToastInstId_ = other.rewardToastInstId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScRewardToastEnd Clone() {
    return new ScRewardToastEnd(this);
  }

  /// <summary>Field number for the "reward_virtual_list" field.</summary>
  public const int RewardVirtualListFieldNumber = 1;
  private static readonly pb::FieldCodec<global::RewardItem> _repeated_rewardVirtualList_codec
      = pb::FieldCodec.ForMessage(10, global::RewardItem.Parser);
  private readonly pbc::RepeatedField<global::RewardItem> rewardVirtualList_ = new pbc::RepeatedField<global::RewardItem>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::RewardItem> RewardVirtualList {
    get { return rewardVirtualList_; }
  }

  /// <summary>Field number for the "reward_toast_inst_id" field.</summary>
  public const int RewardToastInstIdFieldNumber = 2;
  private ulong rewardToastInstId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong RewardToastInstId {
    get { return rewardToastInstId_; }
    set {
      rewardToastInstId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScRewardToastEnd);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScRewardToastEnd other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!rewardVirtualList_.Equals(other.rewardVirtualList_)) return false;
    if (RewardToastInstId != other.RewardToastInstId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= rewardVirtualList_.GetHashCode();
    if (RewardToastInstId != 0UL) hash ^= RewardToastInstId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    rewardVirtualList_.WriteTo(output, _repeated_rewardVirtualList_codec);
    if (RewardToastInstId != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(RewardToastInstId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += rewardVirtualList_.CalculateSize(_repeated_rewardVirtualList_codec);
    if (RewardToastInstId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(RewardToastInstId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScRewardToastEnd other) {
    if (other == null) {
      return;
    }
    rewardVirtualList_.Add(other.rewardVirtualList_);
    if (other.RewardToastInstId != 0UL) {
      RewardToastInstId = other.RewardToastInstId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          rewardVirtualList_.AddEntriesFrom(input, _repeated_rewardVirtualList_codec);
          break;
        }
        case 16: {
          RewardToastInstId = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class ScRewardDropSpItemToast : pb::IMessage<ScRewardDropSpItemToast> {
  private static readonly pb::MessageParser<ScRewardDropSpItemToast> _parser = new pb::MessageParser<ScRewardDropSpItemToast>(() => new ScRewardDropSpItemToast());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScRewardDropSpItemToast> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[683]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScRewardDropSpItemToast() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScRewardDropSpItemToast(ScRewardDropSpItemToast other) : this() {
    itemId_ = other.itemId_;
    count_ = other.count_;
    pos_ = other.pos_ != null ? other.pos_.Clone() : null;
    rewardSourceType_ = other.rewardSourceType_;
    rewardToastInstId_ = other.rewardToastInstId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScRewardDropSpItemToast Clone() {
    return new ScRewardDropSpItemToast(this);
  }

  /// <summary>Field number for the "item_id" field.</summary>
  public const int ItemIdFieldNumber = 1;
  private string itemId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ItemId {
    get { return itemId_; }
    set {
      itemId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "count" field.</summary>
  public const int CountFieldNumber = 2;
  private long count_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long Count {
    get { return count_; }
    set {
      count_ = value;
    }
  }

  /// <summary>Field number for the "pos" field.</summary>
  public const int PosFieldNumber = 3;
  private global::Vector pos_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::Vector Pos {
    get { return pos_; }
    set {
      pos_ = value;
    }
  }

  /// <summary>Field number for the "reward_source_type" field.</summary>
  public const int RewardSourceTypeFieldNumber = 4;
  private int rewardSourceType_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int RewardSourceType {
    get { return rewardSourceType_; }
    set {
      rewardSourceType_ = value;
    }
  }

  /// <summary>Field number for the "reward_toast_inst_id" field.</summary>
  public const int RewardToastInstIdFieldNumber = 5;
  private ulong rewardToastInstId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong RewardToastInstId {
    get { return rewardToastInstId_; }
    set {
      rewardToastInstId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScRewardDropSpItemToast);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScRewardDropSpItemToast other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ItemId != other.ItemId) return false;
    if (Count != other.Count) return false;
    if (!object.Equals(Pos, other.Pos)) return false;
    if (RewardSourceType != other.RewardSourceType) return false;
    if (RewardToastInstId != other.RewardToastInstId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ItemId.Length != 0) hash ^= ItemId.GetHashCode();
    if (Count != 0L) hash ^= Count.GetHashCode();
    if (pos_ != null) hash ^= Pos.GetHashCode();
    if (RewardSourceType != 0) hash ^= RewardSourceType.GetHashCode();
    if (RewardToastInstId != 0UL) hash ^= RewardToastInstId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ItemId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(ItemId);
    }
    if (Count != 0L) {
      output.WriteRawTag(16);
      output.WriteInt64(Count);
    }
    if (pos_ != null) {
      output.WriteRawTag(26);
      output.WriteMessage(Pos);
    }
    if (RewardSourceType != 0) {
      output.WriteRawTag(32);
      output.WriteInt32(RewardSourceType);
    }
    if (RewardToastInstId != 0UL) {
      output.WriteRawTag(40);
      output.WriteUInt64(RewardToastInstId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ItemId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ItemId);
    }
    if (Count != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(Count);
    }
    if (pos_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Pos);
    }
    if (RewardSourceType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(RewardSourceType);
    }
    if (RewardToastInstId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(RewardToastInstId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScRewardDropSpItemToast other) {
    if (other == null) {
      return;
    }
    if (other.ItemId.Length != 0) {
      ItemId = other.ItemId;
    }
    if (other.Count != 0L) {
      Count = other.Count;
    }
    if (other.pos_ != null) {
      if (pos_ == null) {
        pos_ = new global::Vector();
      }
      Pos.MergeFrom(other.Pos);
    }
    if (other.RewardSourceType != 0) {
      RewardSourceType = other.RewardSourceType;
    }
    if (other.RewardToastInstId != 0UL) {
      RewardToastInstId = other.RewardToastInstId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          ItemId = input.ReadString();
          break;
        }
        case 16: {
          Count = input.ReadInt64();
          break;
        }
        case 26: {
          if (pos_ == null) {
            pos_ = new global::Vector();
          }
          input.ReadMessage(pos_);
          break;
        }
        case 32: {
          RewardSourceType = input.ReadInt32();
          break;
        }
        case 40: {
          RewardToastInstId = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class ScItemBagUseItemCase : pb::IMessage<ScItemBagUseItemCase> {
  private static readonly pb::MessageParser<ScItemBagUseItemCase> _parser = new pb::MessageParser<ScItemBagUseItemCase>(() => new ScItemBagUseItemCase());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScItemBagUseItemCase> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[684]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScItemBagUseItemCase() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScItemBagUseItemCase(ScItemBagUseItemCase other) : this() {
    id_ = other.id_;
    count_ = other.count_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScItemBagUseItemCase Clone() {
    return new ScItemBagUseItemCase(this);
  }

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

  /// <summary>Field number for the "count" field.</summary>
  public const int CountFieldNumber = 2;
  private int count_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Count {
    get { return count_; }
    set {
      count_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScItemBagUseItemCase);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScItemBagUseItemCase other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Id != other.Id) return false;
    if (Count != other.Count) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Id.Length != 0) hash ^= Id.GetHashCode();
    if (Count != 0) hash ^= Count.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Id.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(Id);
    }
    if (Count != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(Count);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Id.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(Id);
    }
    if (Count != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Count);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScItemBagUseItemCase other) {
    if (other == null) {
      return;
    }
    if (other.Id.Length != 0) {
      Id = other.Id;
    }
    if (other.Count != 0) {
      Count = other.Count;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          Id = input.ReadString();
          break;
        }
        case 16: {
          Count = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScItemBagChgSpaceshipChapter : pb::IMessage<ScItemBagChgSpaceshipChapter> {
  private static readonly pb::MessageParser<ScItemBagChgSpaceshipChapter> _parser = new pb::MessageParser<ScItemBagChgSpaceshipChapter>(() => new ScItemBagChgSpaceshipChapter());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScItemBagChgSpaceshipChapter> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[685]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScItemBagChgSpaceshipChapter() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScItemBagChgSpaceshipChapter(ScItemBagChgSpaceshipChapter other) : this() {
    spaceshipChapterId_ = other.spaceshipChapterId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScItemBagChgSpaceshipChapter Clone() {
    return new ScItemBagChgSpaceshipChapter(this);
  }

  /// <summary>Field number for the "spaceship_chapter_id" field.</summary>
  public const int SpaceshipChapterIdFieldNumber = 1;
  private string spaceshipChapterId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string SpaceshipChapterId {
    get { return spaceshipChapterId_; }
    set {
      spaceshipChapterId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScItemBagChgSpaceshipChapter);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScItemBagChgSpaceshipChapter other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SpaceshipChapterId != other.SpaceshipChapterId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SpaceshipChapterId.Length != 0) hash ^= SpaceshipChapterId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SpaceshipChapterId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(SpaceshipChapterId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SpaceshipChapterId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(SpaceshipChapterId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScItemBagChgSpaceshipChapter other) {
    if (other == null) {
      return;
    }
    if (other.SpaceshipChapterId.Length != 0) {
      SpaceshipChapterId = other.SpaceshipChapterId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          SpaceshipChapterId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class CsLogin : pb::IMessage<CsLogin> {
  private static readonly pb::MessageParser<CsLogin> _parser = new pb::MessageParser<CsLogin>(() => new CsLogin());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsLogin> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[686]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsLogin() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsLogin(CsLogin other) : this() {
    uid_ = other.uid_;
    token_ = other.token_;
    channel_ = other.channel_;
    serverGroup_ = other.serverGroup_;
    lastRecvDownSeqid_ = other.lastRecvDownSeqid_;
    clientVersion_ = other.clientVersion_;
    clientResVersion_ = other.clientResVersion_;
    clientPublicKey_ = other.clientPublicKey_;
    platformId_ = other.platformId_;
    area_ = other.area_;
    env_ = other.env_;
    payPlatform_ = other.payPlatform_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsLogin Clone() {
    return new CsLogin(this);
  }

  /// <summary>Field number for the "uid" field.</summary>
  public const int UidFieldNumber = 1;
  private string uid_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string Uid {
    get { return uid_; }
    set {
      uid_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "token" field.</summary>
  public const int TokenFieldNumber = 2;
  private string token_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string Token {
    get { return token_; }
    set {
      token_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "channel" field.</summary>
  public const int ChannelFieldNumber = 3;
  private string channel_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string Channel {
    get { return channel_; }
    set {
      channel_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "server_group" field.</summary>
  public const int ServerGroupFieldNumber = 4;
  private int serverGroup_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ServerGroup {
    get { return serverGroup_; }
    set {
      serverGroup_ = value;
    }
  }

  /// <summary>Field number for the "last_recv_down_seqid" field.</summary>
  public const int LastRecvDownSeqidFieldNumber = 5;
  private ulong lastRecvDownSeqid_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong LastRecvDownSeqid {
    get { return lastRecvDownSeqid_; }
    set {
      lastRecvDownSeqid_ = value;
    }
  }

  /// <summary>Field number for the "client_version" field.</summary>
  public const int ClientVersionFieldNumber = 6;
  private string clientVersion_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ClientVersion {
    get { return clientVersion_; }
    set {
      clientVersion_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "client_res_version" field.</summary>
  public const int ClientResVersionFieldNumber = 7;
  private string clientResVersion_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ClientResVersion {
    get { return clientResVersion_; }
    set {
      clientResVersion_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "client_public_key" field.</summary>
  public const int ClientPublicKeyFieldNumber = 8;
  private pb::ByteString clientPublicKey_ = pb::ByteString.Empty;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pb::ByteString ClientPublicKey {
    get { return clientPublicKey_; }
    set {
      clientPublicKey_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "platform_id" field.</summary>
  public const int PlatformIdFieldNumber = 9;
  private global::ClientPlatformType platformId_ = 0;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ClientPlatformType PlatformId {
    get { return platformId_; }
    set {
      platformId_ = value;
    }
  }

  /// <summary>Field number for the "area" field.</summary>
  public const int AreaFieldNumber = 10;
  private global::AreaType area_ = 0;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::AreaType Area {
    get { return area_; }
    set {
      area_ = value;
    }
  }

  /// <summary>Field number for the "env" field.</summary>
  public const int EnvFieldNumber = 11;
  private global::EnvType env_ = 0;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::EnvType Env {
    get { return env_; }
    set {
      env_ = value;
    }
  }

  /// <summary>Field number for the "pay_platform" field.</summary>
  public const int PayPlatformFieldNumber = 12;
  private int payPlatform_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int PayPlatform {
    get { return payPlatform_; }
    set {
      payPlatform_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsLogin);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsLogin other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Uid != other.Uid) return false;
    if (Token != other.Token) return false;
    if (Channel != other.Channel) return false;
    if (ServerGroup != other.ServerGroup) return false;
    if (LastRecvDownSeqid != other.LastRecvDownSeqid) return false;
    if (ClientVersion != other.ClientVersion) return false;
    if (ClientResVersion != other.ClientResVersion) return false;
    if (ClientPublicKey != other.ClientPublicKey) return false;
    if (PlatformId != other.PlatformId) return false;
    if (Area != other.Area) return false;
    if (Env != other.Env) return false;
    if (PayPlatform != other.PayPlatform) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Uid.Length != 0) hash ^= Uid.GetHashCode();
    if (Token.Length != 0) hash ^= Token.GetHashCode();
    if (Channel.Length != 0) hash ^= Channel.GetHashCode();
    if (ServerGroup != 0) hash ^= ServerGroup.GetHashCode();
    if (LastRecvDownSeqid != 0UL) hash ^= LastRecvDownSeqid.GetHashCode();
    if (ClientVersion.Length != 0) hash ^= ClientVersion.GetHashCode();
    if (ClientResVersion.Length != 0) hash ^= ClientResVersion.GetHashCode();
    if (ClientPublicKey.Length != 0) hash ^= ClientPublicKey.GetHashCode();
    if (PlatformId != 0) hash ^= PlatformId.GetHashCode();
    if (Area != 0) hash ^= Area.GetHashCode();
    if (Env != 0) hash ^= Env.GetHashCode();
    if (PayPlatform != 0) hash ^= PayPlatform.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Uid.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(Uid);
    }
    if (Token.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(Token);
    }
    if (Channel.Length != 0) {
      output.WriteRawTag(26);
      output.WriteString(Channel);
    }
    if (ServerGroup != 0) {
      output.WriteRawTag(32);
      output.WriteInt32(ServerGroup);
    }
    if (LastRecvDownSeqid != 0UL) {
      output.WriteRawTag(40);
      output.WriteUInt64(LastRecvDownSeqid);
    }
    if (ClientVersion.Length != 0) {
      output.WriteRawTag(50);
      output.WriteString(ClientVersion);
    }
    if (ClientResVersion.Length != 0) {
      output.WriteRawTag(58);
      output.WriteString(ClientResVersion);
    }
    if (ClientPublicKey.Length != 0) {
      output.WriteRawTag(66);
      output.WriteBytes(ClientPublicKey);
    }
    if (PlatformId != 0) {
      output.WriteRawTag(72);
      output.WriteEnum((int) PlatformId);
    }
    if (Area != 0) {
      output.WriteRawTag(80);
      output.WriteEnum((int) Area);
    }
    if (Env != 0) {
      output.WriteRawTag(88);
      output.WriteEnum((int) Env);
    }
    if (PayPlatform != 0) {
      output.WriteRawTag(96);
      output.WriteInt32(PayPlatform);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Uid.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(Uid);
    }
    if (Token.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(Token);
    }
    if (Channel.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(Channel);
    }
    if (ServerGroup != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ServerGroup);
    }
    if (LastRecvDownSeqid != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(LastRecvDownSeqid);
    }
    if (ClientVersion.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ClientVersion);
    }
    if (ClientResVersion.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ClientResVersion);
    }
    if (ClientPublicKey.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeBytesSize(ClientPublicKey);
    }
    if (PlatformId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) PlatformId);
    }
    if (Area != 0) {
      size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Area);
    }
    if (Env != 0) {
      size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Env);
    }
    if (PayPlatform != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(PayPlatform);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsLogin other) {
    if (other == null) {
      return;
    }
    if (other.Uid.Length != 0) {
      Uid = other.Uid;
    }
    if (other.Token.Length != 0) {
      Token = other.Token;
    }
    if (other.Channel.Length != 0) {
      Channel = other.Channel;
    }
    if (other.ServerGroup != 0) {
      ServerGroup = other.ServerGroup;
    }
    if (other.LastRecvDownSeqid != 0UL) {
      LastRecvDownSeqid = other.LastRecvDownSeqid;
    }
    if (other.ClientVersion.Length != 0) {
      ClientVersion = other.ClientVersion;
    }
    if (other.ClientResVersion.Length != 0) {
      ClientResVersion = other.ClientResVersion;
    }
    if (other.ClientPublicKey.Length != 0) {
      ClientPublicKey = other.ClientPublicKey;
    }
    if (other.PlatformId != 0) {
      PlatformId = other.PlatformId;
    }
    if (other.Area != 0) {
      Area = other.Area;
    }
    if (other.Env != 0) {
      Env = other.Env;
    }
    if (other.PayPlatform != 0) {
      PayPlatform = other.PayPlatform;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          Uid = input.ReadString();
          break;
        }
        case 18: {
          Token = input.ReadString();
          break;
        }
        case 26: {
          Channel = input.ReadString();
          break;
        }
        case 32: {
          ServerGroup = input.ReadInt32();
          break;
        }
        case 40: {
          LastRecvDownSeqid = input.ReadUInt64();
          break;
        }
        case 50: {
          ClientVersion = input.ReadString();
          break;
        }
        case 58: {
          ClientResVersion = input.ReadString();
          break;
        }
        case 66: {
          ClientPublicKey = input.ReadBytes();
          break;
        }
        case 72: {
          platformId_ = (global::ClientPlatformType) input.ReadEnum();
          break;
        }
        case 80: {
          area_ = (global::AreaType) input.ReadEnum();
          break;
        }
        case 88: {
          env_ = (global::EnvType) input.ReadEnum();
          break;
        }
        case 96: {
          PayPlatform = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScLogin : pb::IMessage<ScLogin> {
  private static readonly pb::MessageParser<ScLogin> _parser = new pb::MessageParser<ScLogin>(() => new ScLogin());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScLogin> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[687]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScLogin() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScLogin(ScLogin other) : this() {
    uid_ = other.uid_;
    isFirstLogin_ = other.isFirstLogin_;
    serverPublicKey_ = other.serverPublicKey_;
    serverEncrypNonce_ = other.serverEncrypNonce_;
    lastRecvUpSeqid_ = other.lastRecvUpSeqid_;
    isReconnect_ = other.isReconnect_;
    isEnc_ = other.isEnc_;
    isClientReconnect_ = other.isClientReconnect_;
    serverTime_ = other.serverTime_;
    serverTimeZone_ = other.serverTimeZone_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScLogin Clone() {
    return new ScLogin(this);
  }

  /// <summary>Field number for the "uid" field.</summary>
  public const int UidFieldNumber = 1;
  private string uid_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string Uid {
    get { return uid_; }
    set {
      uid_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "is_first_login" field.</summary>
  public const int IsFirstLoginFieldNumber = 2;
  private bool isFirstLogin_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool IsFirstLogin {
    get { return isFirstLogin_; }
    set {
      isFirstLogin_ = value;
    }
  }

  /// <summary>Field number for the "server_public_key" field.</summary>
  public const int ServerPublicKeyFieldNumber = 3;
  private pb::ByteString serverPublicKey_ = pb::ByteString.Empty;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pb::ByteString ServerPublicKey {
    get { return serverPublicKey_; }
    set {
      serverPublicKey_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "server_encryp_nonce" field.</summary>
  public const int ServerEncrypNonceFieldNumber = 4;
  private pb::ByteString serverEncrypNonce_ = pb::ByteString.Empty;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pb::ByteString ServerEncrypNonce {
    get { return serverEncrypNonce_; }
    set {
      serverEncrypNonce_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "last_recv_up_seqid" field.</summary>
  public const int LastRecvUpSeqidFieldNumber = 5;
  private ulong lastRecvUpSeqid_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong LastRecvUpSeqid {
    get { return lastRecvUpSeqid_; }
    set {
      lastRecvUpSeqid_ = value;
    }
  }

  /// <summary>Field number for the "is_reconnect" field.</summary>
  public const int IsReconnectFieldNumber = 6;
  private bool isReconnect_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool IsReconnect {
    get { return isReconnect_; }
    set {
      isReconnect_ = value;
    }
  }

  /// <summary>Field number for the "is_enc" field.</summary>
  public const int IsEncFieldNumber = 7;
  private bool isEnc_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool IsEnc {
    get { return isEnc_; }
    set {
      isEnc_ = value;
    }
  }

  /// <summary>Field number for the "is_client_reconnect" field.</summary>
  public const int IsClientReconnectFieldNumber = 8;
  private bool isClientReconnect_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool IsClientReconnect {
    get { return isClientReconnect_; }
    set {
      isClientReconnect_ = value;
    }
  }

  /// <summary>Field number for the "server_time" field.</summary>
  public const int ServerTimeFieldNumber = 9;
  private long serverTime_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long ServerTime {
    get { return serverTime_; }
    set {
      serverTime_ = value;
    }
  }

  /// <summary>Field number for the "server_time_zone" field.</summary>
  public const int ServerTimeZoneFieldNumber = 10;
  private int serverTimeZone_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ServerTimeZone {
    get { return serverTimeZone_; }
    set {
      serverTimeZone_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScLogin);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScLogin other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Uid != other.Uid) return false;
    if (IsFirstLogin != other.IsFirstLogin) return false;
    if (ServerPublicKey != other.ServerPublicKey) return false;
    if (ServerEncrypNonce != other.ServerEncrypNonce) return false;
    if (LastRecvUpSeqid != other.LastRecvUpSeqid) return false;
    if (IsReconnect != other.IsReconnect) return false;
    if (IsEnc != other.IsEnc) return false;
    if (IsClientReconnect != other.IsClientReconnect) return false;
    if (ServerTime != other.ServerTime) return false;
    if (ServerTimeZone != other.ServerTimeZone) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Uid.Length != 0) hash ^= Uid.GetHashCode();
    if (IsFirstLogin != false) hash ^= IsFirstLogin.GetHashCode();
    if (ServerPublicKey.Length != 0) hash ^= ServerPublicKey.GetHashCode();
    if (ServerEncrypNonce.Length != 0) hash ^= ServerEncrypNonce.GetHashCode();
    if (LastRecvUpSeqid != 0UL) hash ^= LastRecvUpSeqid.GetHashCode();
    if (IsReconnect != false) hash ^= IsReconnect.GetHashCode();
    if (IsEnc != false) hash ^= IsEnc.GetHashCode();
    if (IsClientReconnect != false) hash ^= IsClientReconnect.GetHashCode();
    if (ServerTime != 0L) hash ^= ServerTime.GetHashCode();
    if (ServerTimeZone != 0) hash ^= ServerTimeZone.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Uid.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(Uid);
    }
    if (IsFirstLogin != false) {
      output.WriteRawTag(16);
      output.WriteBool(IsFirstLogin);
    }
    if (ServerPublicKey.Length != 0) {
      output.WriteRawTag(26);
      output.WriteBytes(ServerPublicKey);
    }
    if (ServerEncrypNonce.Length != 0) {
      output.WriteRawTag(34);
      output.WriteBytes(ServerEncrypNonce);
    }
    if (LastRecvUpSeqid != 0UL) {
      output.WriteRawTag(40);
      output.WriteUInt64(LastRecvUpSeqid);
    }
    if (IsReconnect != false) {
      output.WriteRawTag(48);
      output.WriteBool(IsReconnect);
    }
    if (IsEnc != false) {
      output.WriteRawTag(56);
      output.WriteBool(IsEnc);
    }
    if (IsClientReconnect != false) {
      output.WriteRawTag(64);
      output.WriteBool(IsClientReconnect);
    }
    if (ServerTime != 0L) {
      output.WriteRawTag(72);
      output.WriteInt64(ServerTime);
    }
    if (ServerTimeZone != 0) {
      output.WriteRawTag(80);
      output.WriteInt32(ServerTimeZone);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Uid.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(Uid);
    }
    if (IsFirstLogin != false) {
      size += 1 + 1;
    }
    if (ServerPublicKey.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeBytesSize(ServerPublicKey);
    }
    if (ServerEncrypNonce.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeBytesSize(ServerEncrypNonce);
    }
    if (LastRecvUpSeqid != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(LastRecvUpSeqid);
    }
    if (IsReconnect != false) {
      size += 1 + 1;
    }
    if (IsEnc != false) {
      size += 1 + 1;
    }
    if (IsClientReconnect != false) {
      size += 1 + 1;
    }
    if (ServerTime != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(ServerTime);
    }
    if (ServerTimeZone != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ServerTimeZone);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScLogin other) {
    if (other == null) {
      return;
    }
    if (other.Uid.Length != 0) {
      Uid = other.Uid;
    }
    if (other.IsFirstLogin != false) {
      IsFirstLogin = other.IsFirstLogin;
    }
    if (other.ServerPublicKey.Length != 0) {
      ServerPublicKey = other.ServerPublicKey;
    }
    if (other.ServerEncrypNonce.Length != 0) {
      ServerEncrypNonce = other.ServerEncrypNonce;
    }
    if (other.LastRecvUpSeqid != 0UL) {
      LastRecvUpSeqid = other.LastRecvUpSeqid;
    }
    if (other.IsReconnect != false) {
      IsReconnect = other.IsReconnect;
    }
    if (other.IsEnc != false) {
      IsEnc = other.IsEnc;
    }
    if (other.IsClientReconnect != false) {
      IsClientReconnect = other.IsClientReconnect;
    }
    if (other.ServerTime != 0L) {
      ServerTime = other.ServerTime;
    }
    if (other.ServerTimeZone != 0) {
      ServerTimeZone = other.ServerTimeZone;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          Uid = input.ReadString();
          break;
        }
        case 16: {
          IsFirstLogin = input.ReadBool();
          break;
        }
        case 26: {
          ServerPublicKey = input.ReadBytes();
          break;
        }
        case 34: {
          ServerEncrypNonce = input.ReadBytes();
          break;
        }
        case 40: {
          LastRecvUpSeqid = input.ReadUInt64();
          break;
        }
        case 48: {
          IsReconnect = input.ReadBool();
          break;
        }
        case 56: {
          IsEnc = input.ReadBool();
          break;
        }
        case 64: {
          IsClientReconnect = input.ReadBool();
          break;
        }
        case 72: {
          ServerTime = input.ReadInt64();
          break;
        }
        case 80: {
          ServerTimeZone = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class CsCreateRole : pb::IMessage<CsCreateRole> {
  private static readonly pb::MessageParser<CsCreateRole> _parser = new pb::MessageParser<CsCreateRole>(() => new CsCreateRole());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsCreateRole> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[688]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsCreateRole() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsCreateRole(CsCreateRole other) : this() {
    roleName_ = other.roleName_;
    gender_ = other.gender_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsCreateRole Clone() {
    return new CsCreateRole(this);
  }

  /// <summary>Field number for the "role_name" field.</summary>
  public const int RoleNameFieldNumber = 1;
  private string roleName_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string RoleName {
    get { return roleName_; }
    set {
      roleName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "gender" field.</summary>
  public const int GenderFieldNumber = 2;
  private global::Gender gender_ = 0;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::Gender Gender {
    get { return gender_; }
    set {
      gender_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsCreateRole);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsCreateRole other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (RoleName != other.RoleName) return false;
    if (Gender != other.Gender) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (RoleName.Length != 0) hash ^= RoleName.GetHashCode();
    if (Gender != 0) hash ^= Gender.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (RoleName.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(RoleName);
    }
    if (Gender != 0) {
      output.WriteRawTag(16);
      output.WriteEnum((int) Gender);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (RoleName.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(RoleName);
    }
    if (Gender != 0) {
      size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Gender);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsCreateRole other) {
    if (other == null) {
      return;
    }
    if (other.RoleName.Length != 0) {
      RoleName = other.RoleName;
    }
    if (other.Gender != 0) {
      Gender = other.Gender;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          RoleName = input.ReadString();
          break;
        }
        case 16: {
          gender_ = (global::Gender) input.ReadEnum();
          break;
        }
      }
    }
  }

}

public sealed partial class ScSyncBaseData : pb::IMessage<ScSyncBaseData> {
  private static readonly pb::MessageParser<ScSyncBaseData> _parser = new pb::MessageParser<ScSyncBaseData>(() => new ScSyncBaseData());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSyncBaseData> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[689]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncBaseData() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncBaseData(ScSyncBaseData other) : this() {
    roleid_ = other.roleid_;
    roleName_ = other.roleName_;
    level_ = other.level_;
    exp_ = other.exp_;
    shortId_ = other.shortId_;
    gender_ = other.gender_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncBaseData Clone() {
    return new ScSyncBaseData(this);
  }

  /// <summary>Field number for the "roleid" field.</summary>
  public const int RoleidFieldNumber = 1;
  private ulong roleid_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong Roleid {
    get { return roleid_; }
    set {
      roleid_ = value;
    }
  }

  /// <summary>Field number for the "role_name" field.</summary>
  public const int RoleNameFieldNumber = 2;
  private string roleName_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string RoleName {
    get { return roleName_; }
    set {
      roleName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "level" field.</summary>
  public const int LevelFieldNumber = 3;
  private uint level_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint Level {
    get { return level_; }
    set {
      level_ = value;
    }
  }

  /// <summary>Field number for the "exp" field.</summary>
  public const int ExpFieldNumber = 4;
  private uint exp_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint Exp {
    get { return exp_; }
    set {
      exp_ = value;
    }
  }

  /// <summary>Field number for the "short_id" field.</summary>
  public const int ShortIdFieldNumber = 7;
  private string shortId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ShortId {
    get { return shortId_; }
    set {
      shortId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "gender" field.</summary>
  public const int GenderFieldNumber = 8;
  private global::Gender gender_ = 0;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::Gender Gender {
    get { return gender_; }
    set {
      gender_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSyncBaseData);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSyncBaseData other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Roleid != other.Roleid) return false;
    if (RoleName != other.RoleName) return false;
    if (Level != other.Level) return false;
    if (Exp != other.Exp) return false;
    if (ShortId != other.ShortId) return false;
    if (Gender != other.Gender) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Roleid != 0UL) hash ^= Roleid.GetHashCode();
    if (RoleName.Length != 0) hash ^= RoleName.GetHashCode();
    if (Level != 0) hash ^= Level.GetHashCode();
    if (Exp != 0) hash ^= Exp.GetHashCode();
    if (ShortId.Length != 0) hash ^= ShortId.GetHashCode();
    if (Gender != 0) hash ^= Gender.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Roleid != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(Roleid);
    }
    if (RoleName.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(RoleName);
    }
    if (Level != 0) {
      output.WriteRawTag(24);
      output.WriteUInt32(Level);
    }
    if (Exp != 0) {
      output.WriteRawTag(32);
      output.WriteUInt32(Exp);
    }
    if (ShortId.Length != 0) {
      output.WriteRawTag(58);
      output.WriteString(ShortId);
    }
    if (Gender != 0) {
      output.WriteRawTag(64);
      output.WriteEnum((int) Gender);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Roleid != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(Roleid);
    }
    if (RoleName.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(RoleName);
    }
    if (Level != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Level);
    }
    if (Exp != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Exp);
    }
    if (ShortId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ShortId);
    }
    if (Gender != 0) {
      size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Gender);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSyncBaseData other) {
    if (other == null) {
      return;
    }
    if (other.Roleid != 0UL) {
      Roleid = other.Roleid;
    }
    if (other.RoleName.Length != 0) {
      RoleName = other.RoleName;
    }
    if (other.Level != 0) {
      Level = other.Level;
    }
    if (other.Exp != 0) {
      Exp = other.Exp;
    }
    if (other.ShortId.Length != 0) {
      ShortId = other.ShortId;
    }
    if (other.Gender != 0) {
      Gender = other.Gender;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Roleid = input.ReadUInt64();
          break;
        }
        case 18: {
          RoleName = input.ReadString();
          break;
        }
        case 24: {
          Level = input.ReadUInt32();
          break;
        }
        case 32: {
          Exp = input.ReadUInt32();
          break;
        }
        case 58: {
          ShortId = input.ReadString();
          break;
        }
        case 64: {
          gender_ = (global::Gender) input.ReadEnum();
          break;
        }
      }
    }
  }

}

public sealed partial class ScNtfErrorCode : pb::IMessage<ScNtfErrorCode> {
  private static readonly pb::MessageParser<ScNtfErrorCode> _parser = new pb::MessageParser<ScNtfErrorCode>(() => new ScNtfErrorCode());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScNtfErrorCode> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[690]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScNtfErrorCode() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScNtfErrorCode(ScNtfErrorCode other) : this() {
    errorCode_ = other.errorCode_;
    details_ = other.details_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScNtfErrorCode Clone() {
    return new ScNtfErrorCode(this);
  }

  /// <summary>Field number for the "error_code" field.</summary>
  public const int ErrorCodeFieldNumber = 1;
  private int errorCode_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ErrorCode {
    get { return errorCode_; }
    set {
      errorCode_ = value;
    }
  }

  /// <summary>Field number for the "details" field.</summary>
  public const int DetailsFieldNumber = 2;
  private string details_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string Details {
    get { return details_; }
    set {
      details_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScNtfErrorCode);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScNtfErrorCode other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ErrorCode != other.ErrorCode) return false;
    if (Details != other.Details) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ErrorCode != 0) hash ^= ErrorCode.GetHashCode();
    if (Details.Length != 0) hash ^= Details.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ErrorCode != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(ErrorCode);
    }
    if (Details.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(Details);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ErrorCode != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ErrorCode);
    }
    if (Details.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(Details);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScNtfErrorCode other) {
    if (other == null) {
      return;
    }
    if (other.ErrorCode != 0) {
      ErrorCode = other.ErrorCode;
    }
    if (other.Details.Length != 0) {
      Details = other.Details;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ErrorCode = input.ReadInt32();
          break;
        }
        case 18: {
          Details = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class ScNtfCode : pb::IMessage<ScNtfCode> {
  private static readonly pb::MessageParser<ScNtfCode> _parser = new pb::MessageParser<ScNtfCode>(() => new ScNtfCode());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScNtfCode> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[691]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScNtfCode() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScNtfCode(ScNtfCode other) : this() {
    code_ = other.code_;
    details_ = other.details_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScNtfCode Clone() {
    return new ScNtfCode(this);
  }

  /// <summary>Field number for the "code" field.</summary>
  public const int CodeFieldNumber = 1;
  private int code_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Code {
    get { return code_; }
    set {
      code_ = value;
    }
  }

  /// <summary>Field number for the "details" field.</summary>
  public const int DetailsFieldNumber = 2;
  private string details_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string Details {
    get { return details_; }
    set {
      details_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScNtfCode);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScNtfCode other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Code != other.Code) return false;
    if (Details != other.Details) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Code != 0) hash ^= Code.GetHashCode();
    if (Details.Length != 0) hash ^= Details.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Code != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(Code);
    }
    if (Details.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(Details);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Code != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Code);
    }
    if (Details.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(Details);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScNtfCode other) {
    if (other == null) {
      return;
    }
    if (other.Code != 0) {
      Code = other.Code;
    }
    if (other.Details.Length != 0) {
      Details = other.Details;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Code = input.ReadInt32();
          break;
        }
        case 18: {
          Details = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class CsLogout : pb::IMessage<CsLogout> {
  private static readonly pb::MessageParser<CsLogout> _parser = new pb::MessageParser<CsLogout>(() => new CsLogout());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsLogout> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[692]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsLogout() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsLogout(CsLogout other) : this() {
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsLogout Clone() {
    return new CsLogout(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsLogout);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsLogout other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsLogout other) {
    if (other == null) {
      return;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
      }
    }
  }

}

public sealed partial class CsGmCommand : pb::IMessage<CsGmCommand> {
  private static readonly pb::MessageParser<CsGmCommand> _parser = new pb::MessageParser<CsGmCommand>(() => new CsGmCommand());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsGmCommand> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[693]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsGmCommand() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsGmCommand(CsGmCommand other) : this() {
    command_ = other.command_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsGmCommand Clone() {
    return new CsGmCommand(this);
  }

  /// <summary>Field number for the "command" field.</summary>
  public const int CommandFieldNumber = 1;
  private string command_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string Command {
    get { return command_; }
    set {
      command_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsGmCommand);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsGmCommand other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Command != other.Command) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Command.Length != 0) hash ^= Command.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Command.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(Command);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Command.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(Command);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsGmCommand other) {
    if (other == null) {
      return;
    }
    if (other.Command.Length != 0) {
      Command = other.Command;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          Command = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdGmGachaStat : pb::IMessage<ScdGmGachaStat> {
  private static readonly pb::MessageParser<ScdGmGachaStat> _parser = new pb::MessageParser<ScdGmGachaStat>(() => new ScdGmGachaStat());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdGmGachaStat> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[694]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdGmGachaStat() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdGmGachaStat(ScdGmGachaStat other) : this() {
    gachaPoolId_ = other.gachaPoolId_;
    gachaType_ = other.gachaType_;
    totalPullCount_ = other.totalPullCount_;
    upGotPullCountMap_ = other.upGotPullCountMap_.Clone();
    upGotCount_ = other.upGotCount_;
    star6GotPullCountMap_ = other.star6GotPullCountMap_.Clone();
    star6GotCount_ = other.star6GotCount_;
    star6Ge2GotCount_ = other.star6Ge2GotCount_;
    star5GotPullCountMap_ = other.star5GotPullCountMap_.Clone();
    star5GotCount_ = other.star5GotCount_;
    star5Ge2GotCount_ = other.star5Ge2GotCount_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdGmGachaStat Clone() {
    return new ScdGmGachaStat(this);
  }

  /// <summary>Field number for the "gacha_pool_id" field.</summary>
  public const int GachaPoolIdFieldNumber = 1;
  private string gachaPoolId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string GachaPoolId {
    get { return gachaPoolId_; }
    set {
      gachaPoolId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "gacha_type" field.</summary>
  public const int GachaTypeFieldNumber = 2;
  private int gachaType_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int GachaType {
    get { return gachaType_; }
    set {
      gachaType_ = value;
    }
  }

  /// <summary>Field number for the "total_pull_count" field.</summary>
  public const int TotalPullCountFieldNumber = 3;
  private int totalPullCount_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int TotalPullCount {
    get { return totalPullCount_; }
    set {
      totalPullCount_ = value;
    }
  }

  /// <summary>Field number for the "up_got_pull_count_map" field.</summary>
  public const int UpGotPullCountMapFieldNumber = 4;
  private static readonly pbc::MapField<int, int>.Codec _map_upGotPullCountMap_codec
      = new pbc::MapField<int, int>.Codec(pb::FieldCodec.ForInt32(8), pb::FieldCodec.ForInt32(16), 34);
  private readonly pbc::MapField<int, int> upGotPullCountMap_ = new pbc::MapField<int, int>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<int, int> UpGotPullCountMap {
    get { return upGotPullCountMap_; }
  }

  /// <summary>Field number for the "up_got_count" field.</summary>
  public const int UpGotCountFieldNumber = 5;
  private int upGotCount_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int UpGotCount {
    get { return upGotCount_; }
    set {
      upGotCount_ = value;
    }
  }

  /// <summary>Field number for the "star6_got_pull_count_map" field.</summary>
  public const int Star6GotPullCountMapFieldNumber = 6;
  private static readonly pbc::MapField<int, int>.Codec _map_star6GotPullCountMap_codec
      = new pbc::MapField<int, int>.Codec(pb::FieldCodec.ForInt32(8), pb::FieldCodec.ForInt32(16), 50);
  private readonly pbc::MapField<int, int> star6GotPullCountMap_ = new pbc::MapField<int, int>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<int, int> Star6GotPullCountMap {
    get { return star6GotPullCountMap_; }
  }

  /// <summary>Field number for the "star6_got_count" field.</summary>
  public const int Star6GotCountFieldNumber = 7;
  private int star6GotCount_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Star6GotCount {
    get { return star6GotCount_; }
    set {
      star6GotCount_ = value;
    }
  }

  /// <summary>Field number for the "star6_ge2_got_count" field.</summary>
  public const int Star6Ge2GotCountFieldNumber = 8;
  private int star6Ge2GotCount_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Star6Ge2GotCount {
    get { return star6Ge2GotCount_; }
    set {
      star6Ge2GotCount_ = value;
    }
  }

  /// <summary>Field number for the "star5_got_pull_count_map" field.</summary>
  public const int Star5GotPullCountMapFieldNumber = 9;
  private static readonly pbc::MapField<int, int>.Codec _map_star5GotPullCountMap_codec
      = new pbc::MapField<int, int>.Codec(pb::FieldCodec.ForInt32(8), pb::FieldCodec.ForInt32(16), 74);
  private readonly pbc::MapField<int, int> star5GotPullCountMap_ = new pbc::MapField<int, int>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<int, int> Star5GotPullCountMap {
    get { return star5GotPullCountMap_; }
  }

  /// <summary>Field number for the "star5_got_count" field.</summary>
  public const int Star5GotCountFieldNumber = 10;
  private int star5GotCount_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Star5GotCount {
    get { return star5GotCount_; }
    set {
      star5GotCount_ = value;
    }
  }

  /// <summary>Field number for the "star5_ge2_got_count" field.</summary>
  public const int Star5Ge2GotCountFieldNumber = 11;
  private int star5Ge2GotCount_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Star5Ge2GotCount {
    get { return star5Ge2GotCount_; }
    set {
      star5Ge2GotCount_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdGmGachaStat);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdGmGachaStat other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (GachaPoolId != other.GachaPoolId) return false;
    if (GachaType != other.GachaType) return false;
    if (TotalPullCount != other.TotalPullCount) return false;
    if (!UpGotPullCountMap.Equals(other.UpGotPullCountMap)) return false;
    if (UpGotCount != other.UpGotCount) return false;
    if (!Star6GotPullCountMap.Equals(other.Star6GotPullCountMap)) return false;
    if (Star6GotCount != other.Star6GotCount) return false;
    if (Star6Ge2GotCount != other.Star6Ge2GotCount) return false;
    if (!Star5GotPullCountMap.Equals(other.Star5GotPullCountMap)) return false;
    if (Star5GotCount != other.Star5GotCount) return false;
    if (Star5Ge2GotCount != other.Star5Ge2GotCount) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (GachaPoolId.Length != 0) hash ^= GachaPoolId.GetHashCode();
    if (GachaType != 0) hash ^= GachaType.GetHashCode();
    if (TotalPullCount != 0) hash ^= TotalPullCount.GetHashCode();
    hash ^= UpGotPullCountMap.GetHashCode();
    if (UpGotCount != 0) hash ^= UpGotCount.GetHashCode();
    hash ^= Star6GotPullCountMap.GetHashCode();
    if (Star6GotCount != 0) hash ^= Star6GotCount.GetHashCode();
    if (Star6Ge2GotCount != 0) hash ^= Star6Ge2GotCount.GetHashCode();
    hash ^= Star5GotPullCountMap.GetHashCode();
    if (Star5GotCount != 0) hash ^= Star5GotCount.GetHashCode();
    if (Star5Ge2GotCount != 0) hash ^= Star5Ge2GotCount.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (GachaPoolId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(GachaPoolId);
    }
    if (GachaType != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(GachaType);
    }
    if (TotalPullCount != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(TotalPullCount);
    }
    upGotPullCountMap_.WriteTo(output, _map_upGotPullCountMap_codec);
    if (UpGotCount != 0) {
      output.WriteRawTag(40);
      output.WriteInt32(UpGotCount);
    }
    star6GotPullCountMap_.WriteTo(output, _map_star6GotPullCountMap_codec);
    if (Star6GotCount != 0) {
      output.WriteRawTag(56);
      output.WriteInt32(Star6GotCount);
    }
    if (Star6Ge2GotCount != 0) {
      output.WriteRawTag(64);
      output.WriteInt32(Star6Ge2GotCount);
    }
    star5GotPullCountMap_.WriteTo(output, _map_star5GotPullCountMap_codec);
    if (Star5GotCount != 0) {
      output.WriteRawTag(80);
      output.WriteInt32(Star5GotCount);
    }
    if (Star5Ge2GotCount != 0) {
      output.WriteRawTag(88);
      output.WriteInt32(Star5Ge2GotCount);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (GachaPoolId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(GachaPoolId);
    }
    if (GachaType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(GachaType);
    }
    if (TotalPullCount != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(TotalPullCount);
    }
    size += upGotPullCountMap_.CalculateSize(_map_upGotPullCountMap_codec);
    if (UpGotCount != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(UpGotCount);
    }
    size += star6GotPullCountMap_.CalculateSize(_map_star6GotPullCountMap_codec);
    if (Star6GotCount != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Star6GotCount);
    }
    if (Star6Ge2GotCount != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Star6Ge2GotCount);
    }
    size += star5GotPullCountMap_.CalculateSize(_map_star5GotPullCountMap_codec);
    if (Star5GotCount != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Star5GotCount);
    }
    if (Star5Ge2GotCount != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Star5Ge2GotCount);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdGmGachaStat other) {
    if (other == null) {
      return;
    }
    if (other.GachaPoolId.Length != 0) {
      GachaPoolId = other.GachaPoolId;
    }
    if (other.GachaType != 0) {
      GachaType = other.GachaType;
    }
    if (other.TotalPullCount != 0) {
      TotalPullCount = other.TotalPullCount;
    }
    upGotPullCountMap_.Add(other.upGotPullCountMap_);
    if (other.UpGotCount != 0) {
      UpGotCount = other.UpGotCount;
    }
    star6GotPullCountMap_.Add(other.star6GotPullCountMap_);
    if (other.Star6GotCount != 0) {
      Star6GotCount = other.Star6GotCount;
    }
    if (other.Star6Ge2GotCount != 0) {
      Star6Ge2GotCount = other.Star6Ge2GotCount;
    }
    star5GotPullCountMap_.Add(other.star5GotPullCountMap_);
    if (other.Star5GotCount != 0) {
      Star5GotCount = other.Star5GotCount;
    }
    if (other.Star5Ge2GotCount != 0) {
      Star5Ge2GotCount = other.Star5Ge2GotCount;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          GachaPoolId = input.ReadString();
          break;
        }
        case 16: {
          GachaType = input.ReadInt32();
          break;
        }
        case 24: {
          TotalPullCount = input.ReadInt32();
          break;
        }
        case 34: {
          upGotPullCountMap_.AddEntriesFrom(input, _map_upGotPullCountMap_codec);
          break;
        }
        case 40: {
          UpGotCount = input.ReadInt32();
          break;
        }
        case 50: {
          star6GotPullCountMap_.AddEntriesFrom(input, _map_star6GotPullCountMap_codec);
          break;
        }
        case 56: {
          Star6GotCount = input.ReadInt32();
          break;
        }
        case 64: {
          Star6Ge2GotCount = input.ReadInt32();
          break;
        }
        case 74: {
          star5GotPullCountMap_.AddEntriesFrom(input, _map_star5GotPullCountMap_codec);
          break;
        }
        case 80: {
          Star5GotCount = input.ReadInt32();
          break;
        }
        case 88: {
          Star5Ge2GotCount = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScGmCommand : pb::IMessage<ScGmCommand> {
  private static readonly pb::MessageParser<ScGmCommand> _parser = new pb::MessageParser<ScGmCommand>(() => new ScGmCommand());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScGmCommand> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[695]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScGmCommand() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScGmCommand(ScGmCommand other) : this() {
    result_ = other.result_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScGmCommand Clone() {
    return new ScGmCommand(this);
  }

  /// <summary>Field number for the "result" field.</summary>
  public const int ResultFieldNumber = 1;
  private string result_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string Result {
    get { return result_; }
    set {
      result_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScGmCommand);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScGmCommand other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Result != other.Result) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Result.Length != 0) hash ^= Result.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Result.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(Result);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Result.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(Result);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScGmCommand other) {
    if (other == null) {
      return;
    }
    if (other.Result.Length != 0) {
      Result = other.Result;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          Result = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class CsPing : pb::IMessage<CsPing> {
  private static readonly pb::MessageParser<CsPing> _parser = new pb::MessageParser<CsPing>(() => new CsPing());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsPing> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[696]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsPing() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsPing(CsPing other) : this() {
    clientTs_ = other.clientTs_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsPing Clone() {
    return new CsPing(this);
  }

  /// <summary>Field number for the "client_ts" field.</summary>
  public const int ClientTsFieldNumber = 1;
  private ulong clientTs_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong ClientTs {
    get { return clientTs_; }
    set {
      clientTs_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsPing);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsPing other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ClientTs != other.ClientTs) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ClientTs != 0UL) hash ^= ClientTs.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ClientTs != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(ClientTs);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ClientTs != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(ClientTs);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsPing other) {
    if (other == null) {
      return;
    }
    if (other.ClientTs != 0UL) {
      ClientTs = other.ClientTs;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ClientTs = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class ScPing : pb::IMessage<ScPing> {
  private static readonly pb::MessageParser<ScPing> _parser = new pb::MessageParser<ScPing>(() => new ScPing());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScPing> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[697]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScPing() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScPing(ScPing other) : this() {
    clientTs_ = other.clientTs_;
    serverTs_ = other.serverTs_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScPing Clone() {
    return new ScPing(this);
  }

  /// <summary>Field number for the "client_ts" field.</summary>
  public const int ClientTsFieldNumber = 1;
  private ulong clientTs_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong ClientTs {
    get { return clientTs_; }
    set {
      clientTs_ = value;
    }
  }

  /// <summary>Field number for the "server_ts" field.</summary>
  public const int ServerTsFieldNumber = 2;
  private ulong serverTs_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong ServerTs {
    get { return serverTs_; }
    set {
      serverTs_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScPing);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScPing other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ClientTs != other.ClientTs) return false;
    if (ServerTs != other.ServerTs) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ClientTs != 0UL) hash ^= ClientTs.GetHashCode();
    if (ServerTs != 0UL) hash ^= ServerTs.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ClientTs != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(ClientTs);
    }
    if (ServerTs != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(ServerTs);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ClientTs != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(ClientTs);
    }
    if (ServerTs != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(ServerTs);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScPing other) {
    if (other == null) {
      return;
    }
    if (other.ClientTs != 0UL) {
      ClientTs = other.ClientTs;
    }
    if (other.ServerTs != 0UL) {
      ServerTs = other.ServerTs;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ClientTs = input.ReadUInt64();
          break;
        }
        case 16: {
          ServerTs = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class ScReconnectIncr : pb::IMessage<ScReconnectIncr> {
  private static readonly pb::MessageParser<ScReconnectIncr> _parser = new pb::MessageParser<ScReconnectIncr>(() => new ScReconnectIncr());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScReconnectIncr> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[698]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScReconnectIncr() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScReconnectIncr(ScReconnectIncr other) : this() {
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScReconnectIncr Clone() {
    return new ScReconnectIncr(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScReconnectIncr);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScReconnectIncr other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScReconnectIncr other) {
    if (other == null) {
      return;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
      }
    }
  }

}

public sealed partial class ScReconnectFull : pb::IMessage<ScReconnectFull> {
  private static readonly pb::MessageParser<ScReconnectFull> _parser = new pb::MessageParser<ScReconnectFull>(() => new ScReconnectFull());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScReconnectFull> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[699]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScReconnectFull() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScReconnectFull(ScReconnectFull other) : this() {
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScReconnectFull Clone() {
    return new ScReconnectFull(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScReconnectFull);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScReconnectFull other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScReconnectFull other) {
    if (other == null) {
      return;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
      }
    }
  }

}

public sealed partial class CsFlushSync : pb::IMessage<CsFlushSync> {
  private static readonly pb::MessageParser<CsFlushSync> _parser = new pb::MessageParser<CsFlushSync>(() => new CsFlushSync());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsFlushSync> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[700]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFlushSync() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFlushSync(CsFlushSync other) : this() {
    clientTs_ = other.clientTs_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFlushSync Clone() {
    return new CsFlushSync(this);
  }

  /// <summary>Field number for the "client_ts" field.</summary>
  public const int ClientTsFieldNumber = 1;
  private ulong clientTs_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong ClientTs {
    get { return clientTs_; }
    set {
      clientTs_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsFlushSync);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsFlushSync other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ClientTs != other.ClientTs) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ClientTs != 0UL) hash ^= ClientTs.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ClientTs != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(ClientTs);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ClientTs != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(ClientTs);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsFlushSync other) {
    if (other == null) {
      return;
    }
    if (other.ClientTs != 0UL) {
      ClientTs = other.ClientTs;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ClientTs = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class ScFlushSync : pb::IMessage<ScFlushSync> {
  private static readonly pb::MessageParser<ScFlushSync> _parser = new pb::MessageParser<ScFlushSync>(() => new ScFlushSync());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScFlushSync> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[701]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFlushSync() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFlushSync(ScFlushSync other) : this() {
    clientTs_ = other.clientTs_;
    serverTs_ = other.serverTs_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScFlushSync Clone() {
    return new ScFlushSync(this);
  }

  /// <summary>Field number for the "client_ts" field.</summary>
  public const int ClientTsFieldNumber = 1;
  private ulong clientTs_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong ClientTs {
    get { return clientTs_; }
    set {
      clientTs_ = value;
    }
  }

  /// <summary>Field number for the "server_ts" field.</summary>
  public const int ServerTsFieldNumber = 2;
  private ulong serverTs_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong ServerTs {
    get { return serverTs_; }
    set {
      serverTs_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScFlushSync);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScFlushSync other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ClientTs != other.ClientTs) return false;
    if (ServerTs != other.ServerTs) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ClientTs != 0UL) hash ^= ClientTs.GetHashCode();
    if (ServerTs != 0UL) hash ^= ServerTs.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ClientTs != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(ClientTs);
    }
    if (ServerTs != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(ServerTs);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ClientTs != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(ClientTs);
    }
    if (ServerTs != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(ServerTs);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScFlushSync other) {
    if (other == null) {
      return;
    }
    if (other.ClientTs != 0UL) {
      ClientTs = other.ClientTs;
    }
    if (other.ServerTs != 0UL) {
      ServerTs = other.ServerTs;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ClientTs = input.ReadUInt64();
          break;
        }
        case 16: {
          ServerTs = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class CsSetName : pb::IMessage<CsSetName> {
  private static readonly pb::MessageParser<CsSetName> _parser = new pb::MessageParser<CsSetName>(() => new CsSetName());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsSetName> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[702]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSetName() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSetName(CsSetName other) : this() {
    name_ = other.name_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSetName Clone() {
    return new CsSetName(this);
  }

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

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsSetName);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsSetName other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Name != other.Name) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Name.Length != 0) hash ^= Name.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Name.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(Name);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Name.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsSetName other) {
    if (other == null) {
      return;
    }
    if (other.Name.Length != 0) {
      Name = other.Name;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          Name = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class ScSetName : pb::IMessage<ScSetName> {
  private static readonly pb::MessageParser<ScSetName> _parser = new pb::MessageParser<ScSetName>(() => new ScSetName());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSetName> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[703]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSetName() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSetName(ScSetName other) : this() {
    name_ = other.name_;
    shortId_ = other.shortId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSetName Clone() {
    return new ScSetName(this);
  }

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

  /// <summary>Field number for the "short_id" field.</summary>
  public const int ShortIdFieldNumber = 2;
  private string shortId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ShortId {
    get { return shortId_; }
    set {
      shortId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSetName);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSetName other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Name != other.Name) return false;
    if (ShortId != other.ShortId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Name.Length != 0) hash ^= Name.GetHashCode();
    if (ShortId.Length != 0) hash ^= ShortId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Name.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(Name);
    }
    if (ShortId.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(ShortId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Name.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
    }
    if (ShortId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ShortId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSetName other) {
    if (other == null) {
      return;
    }
    if (other.Name.Length != 0) {
      Name = other.Name;
    }
    if (other.ShortId.Length != 0) {
      ShortId = other.ShortId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          Name = input.ReadString();
          break;
        }
        case 18: {
          ShortId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class CsSetGender : pb::IMessage<CsSetGender> {
  private static readonly pb::MessageParser<CsSetGender> _parser = new pb::MessageParser<CsSetGender>(() => new CsSetGender());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsSetGender> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[704]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSetGender() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSetGender(CsSetGender other) : this() {
    gender_ = other.gender_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSetGender Clone() {
    return new CsSetGender(this);
  }

  /// <summary>Field number for the "gender" field.</summary>
  public const int GenderFieldNumber = 1;
  private global::Gender gender_ = 0;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::Gender Gender {
    get { return gender_; }
    set {
      gender_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsSetGender);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsSetGender other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Gender != other.Gender) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Gender != 0) hash ^= Gender.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Gender != 0) {
      output.WriteRawTag(8);
      output.WriteEnum((int) Gender);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Gender != 0) {
      size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Gender);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsSetGender other) {
    if (other == null) {
      return;
    }
    if (other.Gender != 0) {
      Gender = other.Gender;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          gender_ = (global::Gender) input.ReadEnum();
          break;
        }
      }
    }
  }

}

public sealed partial class ScSetGender : pb::IMessage<ScSetGender> {
  private static readonly pb::MessageParser<ScSetGender> _parser = new pb::MessageParser<ScSetGender>(() => new ScSetGender());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSetGender> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[705]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSetGender() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSetGender(ScSetGender other) : this() {
    gender_ = other.gender_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSetGender Clone() {
    return new ScSetGender(this);
  }

  /// <summary>Field number for the "gender" field.</summary>
  public const int GenderFieldNumber = 1;
  private global::Gender gender_ = 0;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::Gender Gender {
    get { return gender_; }
    set {
      gender_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSetGender);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSetGender other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Gender != other.Gender) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Gender != 0) hash ^= Gender.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Gender != 0) {
      output.WriteRawTag(8);
      output.WriteEnum((int) Gender);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Gender != 0) {
      size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Gender);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSetGender other) {
    if (other == null) {
      return;
    }
    if (other.Gender != 0) {
      Gender = other.Gender;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          gender_ = (global::Gender) input.ReadEnum();
          break;
        }
      }
    }
  }

}

public sealed partial class CsCheckName : pb::IMessage<CsCheckName> {
  private static readonly pb::MessageParser<CsCheckName> _parser = new pb::MessageParser<CsCheckName>(() => new CsCheckName());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsCheckName> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[706]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsCheckName() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsCheckName(CsCheckName other) : this() {
    name_ = other.name_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsCheckName Clone() {
    return new CsCheckName(this);
  }

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

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsCheckName);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsCheckName other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Name != other.Name) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Name.Length != 0) hash ^= Name.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Name.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(Name);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Name.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsCheckName other) {
    if (other == null) {
      return;
    }
    if (other.Name.Length != 0) {
      Name = other.Name;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          Name = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class ScCheckName : pb::IMessage<ScCheckName> {
  private static readonly pb::MessageParser<ScCheckName> _parser = new pb::MessageParser<ScCheckName>(() => new ScCheckName());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScCheckName> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[707]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScCheckName() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScCheckName(ScCheckName other) : this() {
    name_ = other.name_;
    pass_ = other.pass_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScCheckName Clone() {
    return new ScCheckName(this);
  }

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

  /// <summary>Field number for the "pass" field.</summary>
  public const int PassFieldNumber = 2;
  private bool pass_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Pass {
    get { return pass_; }
    set {
      pass_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScCheckName);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScCheckName other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Name != other.Name) return false;
    if (Pass != other.Pass) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Name.Length != 0) hash ^= Name.GetHashCode();
    if (Pass != false) hash ^= Pass.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Name.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(Name);
    }
    if (Pass != false) {
      output.WriteRawTag(16);
      output.WriteBool(Pass);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Name.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
    }
    if (Pass != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScCheckName other) {
    if (other == null) {
      return;
    }
    if (other.Name.Length != 0) {
      Name = other.Name;
    }
    if (other.Pass != false) {
      Pass = other.Pass;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          Name = input.ReadString();
          break;
        }
        case 16: {
          Pass = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class ScSyncFullDataEnd : pb::IMessage<ScSyncFullDataEnd> {
  private static readonly pb::MessageParser<ScSyncFullDataEnd> _parser = new pb::MessageParser<ScSyncFullDataEnd>(() => new ScSyncFullDataEnd());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSyncFullDataEnd> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[708]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncFullDataEnd() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncFullDataEnd(ScSyncFullDataEnd other) : this() {
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncFullDataEnd Clone() {
    return new ScSyncFullDataEnd(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSyncFullDataEnd);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSyncFullDataEnd other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSyncFullDataEnd other) {
    if (other == null) {
      return;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
      }
    }
  }

}

public sealed partial class CsMailDef : pb::IMessage<CsMailDef> {
  private static readonly pb::MessageParser<CsMailDef> _parser = new pb::MessageParser<CsMailDef>(() => new CsMailDef());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsMailDef> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[709]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsMailDef() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsMailDef(CsMailDef other) : this() {
    mailType_ = other.mailType_;
    mailId_ = other.mailId_;
    expireTime_ = other.expireTime_;
    isRead_ = other.isRead_;
    isAttachmentGot_ = other.isAttachmentGot_;
    sendTime_ = other.sendTime_;
    mailContent_ = other.mailContent_ != null ? other.mailContent_.Clone() : null;
    itemList_ = other.itemList_.Clone();
    isStar_ = other.isStar_;
    mailSubType_ = other.mailSubType_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsMailDef Clone() {
    return new CsMailDef(this);
  }

  /// <summary>Field number for the "mail_type" field.</summary>
  public const int MailTypeFieldNumber = 1;
  private int mailType_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int MailType {
    get { return mailType_; }
    set {
      mailType_ = value;
    }
  }

  /// <summary>Field number for the "mail_id" field.</summary>
  public const int MailIdFieldNumber = 2;
  private ulong mailId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong MailId {
    get { return mailId_; }
    set {
      mailId_ = value;
    }
  }

  /// <summary>Field number for the "expire_time" field.</summary>
  public const int ExpireTimeFieldNumber = 3;
  private long expireTime_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long ExpireTime {
    get { return expireTime_; }
    set {
      expireTime_ = value;
    }
  }

  /// <summary>Field number for the "is_read" field.</summary>
  public const int IsReadFieldNumber = 4;
  private bool isRead_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool IsRead {
    get { return isRead_; }
    set {
      isRead_ = value;
    }
  }

  /// <summary>Field number for the "is_attachment_got" field.</summary>
  public const int IsAttachmentGotFieldNumber = 5;
  private bool isAttachmentGot_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool IsAttachmentGot {
    get { return isAttachmentGot_; }
    set {
      isAttachmentGot_ = value;
    }
  }

  /// <summary>Field number for the "send_time" field.</summary>
  public const int SendTimeFieldNumber = 6;
  private long sendTime_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long SendTime {
    get { return sendTime_; }
    set {
      sendTime_ = value;
    }
  }

  /// <summary>Field number for the "mail_content" field.</summary>
  public const int MailContentFieldNumber = 7;
  private global::MailContent mailContent_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::MailContent MailContent {
    get { return mailContent_; }
    set {
      mailContent_ = value;
    }
  }

  /// <summary>Field number for the "item_list" field.</summary>
  public const int ItemListFieldNumber = 8;
  private static readonly pb::FieldCodec<global::RewardItem> _repeated_itemList_codec
      = pb::FieldCodec.ForMessage(66, global::RewardItem.Parser);
  private readonly pbc::RepeatedField<global::RewardItem> itemList_ = new pbc::RepeatedField<global::RewardItem>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::RewardItem> ItemList {
    get { return itemList_; }
  }

  /// <summary>Field number for the "is_star" field.</summary>
  public const int IsStarFieldNumber = 9;
  private bool isStar_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool IsStar {
    get { return isStar_; }
    set {
      isStar_ = value;
    }
  }

  /// <summary>Field number for the "mail_sub_type" field.</summary>
  public const int MailSubTypeFieldNumber = 10;
  private int mailSubType_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int MailSubType {
    get { return mailSubType_; }
    set {
      mailSubType_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsMailDef);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsMailDef other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (MailType != other.MailType) return false;
    if (MailId != other.MailId) return false;
    if (ExpireTime != other.ExpireTime) return false;
    if (IsRead != other.IsRead) return false;
    if (IsAttachmentGot != other.IsAttachmentGot) return false;
    if (SendTime != other.SendTime) return false;
    if (!object.Equals(MailContent, other.MailContent)) return false;
    if(!itemList_.Equals(other.itemList_)) return false;
    if (IsStar != other.IsStar) return false;
    if (MailSubType != other.MailSubType) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (MailType != 0) hash ^= MailType.GetHashCode();
    if (MailId != 0UL) hash ^= MailId.GetHashCode();
    if (ExpireTime != 0L) hash ^= ExpireTime.GetHashCode();
    if (IsRead != false) hash ^= IsRead.GetHashCode();
    if (IsAttachmentGot != false) hash ^= IsAttachmentGot.GetHashCode();
    if (SendTime != 0L) hash ^= SendTime.GetHashCode();
    if (mailContent_ != null) hash ^= MailContent.GetHashCode();
    hash ^= itemList_.GetHashCode();
    if (IsStar != false) hash ^= IsStar.GetHashCode();
    if (MailSubType != 0) hash ^= MailSubType.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (MailType != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(MailType);
    }
    if (MailId != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(MailId);
    }
    if (ExpireTime != 0L) {
      output.WriteRawTag(24);
      output.WriteInt64(ExpireTime);
    }
    if (IsRead != false) {
      output.WriteRawTag(32);
      output.WriteBool(IsRead);
    }
    if (IsAttachmentGot != false) {
      output.WriteRawTag(40);
      output.WriteBool(IsAttachmentGot);
    }
    if (SendTime != 0L) {
      output.WriteRawTag(48);
      output.WriteInt64(SendTime);
    }
    if (mailContent_ != null) {
      output.WriteRawTag(58);
      output.WriteMessage(MailContent);
    }
    itemList_.WriteTo(output, _repeated_itemList_codec);
    if (IsStar != false) {
      output.WriteRawTag(72);
      output.WriteBool(IsStar);
    }
    if (MailSubType != 0) {
      output.WriteRawTag(80);
      output.WriteInt32(MailSubType);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (MailType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(MailType);
    }
    if (MailId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(MailId);
    }
    if (ExpireTime != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(ExpireTime);
    }
    if (IsRead != false) {
      size += 1 + 1;
    }
    if (IsAttachmentGot != false) {
      size += 1 + 1;
    }
    if (SendTime != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(SendTime);
    }
    if (mailContent_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(MailContent);
    }
    size += itemList_.CalculateSize(_repeated_itemList_codec);
    if (IsStar != false) {
      size += 1 + 1;
    }
    if (MailSubType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(MailSubType);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsMailDef other) {
    if (other == null) {
      return;
    }
    if (other.MailType != 0) {
      MailType = other.MailType;
    }
    if (other.MailId != 0UL) {
      MailId = other.MailId;
    }
    if (other.ExpireTime != 0L) {
      ExpireTime = other.ExpireTime;
    }
    if (other.IsRead != false) {
      IsRead = other.IsRead;
    }
    if (other.IsAttachmentGot != false) {
      IsAttachmentGot = other.IsAttachmentGot;
    }
    if (other.SendTime != 0L) {
      SendTime = other.SendTime;
    }
    if (other.mailContent_ != null) {
      if (mailContent_ == null) {
        mailContent_ = new global::MailContent();
      }
      MailContent.MergeFrom(other.MailContent);
    }
    itemList_.Add(other.itemList_);
    if (other.IsStar != false) {
      IsStar = other.IsStar;
    }
    if (other.MailSubType != 0) {
      MailSubType = other.MailSubType;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          MailType = input.ReadInt32();
          break;
        }
        case 16: {
          MailId = input.ReadUInt64();
          break;
        }
        case 24: {
          ExpireTime = input.ReadInt64();
          break;
        }
        case 32: {
          IsRead = input.ReadBool();
          break;
        }
        case 40: {
          IsAttachmentGot = input.ReadBool();
          break;
        }
        case 48: {
          SendTime = input.ReadInt64();
          break;
        }
        case 58: {
          if (mailContent_ == null) {
            mailContent_ = new global::MailContent();
          }
          input.ReadMessage(mailContent_);
          break;
        }
        case 66: {
          itemList_.AddEntriesFrom(input, _repeated_itemList_codec);
          break;
        }
        case 72: {
          IsStar = input.ReadBool();
          break;
        }
        case 80: {
          MailSubType = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class CsGetMail : pb::IMessage<CsGetMail> {
  private static readonly pb::MessageParser<CsGetMail> _parser = new pb::MessageParser<CsGetMail>(() => new CsGetMail());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsGetMail> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[710]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsGetMail() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsGetMail(CsGetMail other) : this() {
    mailIdList_ = other.mailIdList_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsGetMail Clone() {
    return new CsGetMail(this);
  }

  /// <summary>Field number for the "mail_id_list" field.</summary>
  public const int MailIdListFieldNumber = 1;
  private static readonly pb::FieldCodec<ulong> _repeated_mailIdList_codec
      = pb::FieldCodec.ForUInt64(10);
  private readonly pbc::RepeatedField<ulong> mailIdList_ = new pbc::RepeatedField<ulong>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<ulong> MailIdList {
    get { return mailIdList_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsGetMail);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsGetMail other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!mailIdList_.Equals(other.mailIdList_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= mailIdList_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    mailIdList_.WriteTo(output, _repeated_mailIdList_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += mailIdList_.CalculateSize(_repeated_mailIdList_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsGetMail other) {
    if (other == null) {
      return;
    }
    mailIdList_.Add(other.mailIdList_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10:
        case 8: {
          mailIdList_.AddEntriesFrom(input, _repeated_mailIdList_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class CsReadMail : pb::IMessage<CsReadMail> {
  private static readonly pb::MessageParser<CsReadMail> _parser = new pb::MessageParser<CsReadMail>(() => new CsReadMail());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsReadMail> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[711]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsReadMail() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsReadMail(CsReadMail other) : this() {
    mailId_ = other.mailId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsReadMail Clone() {
    return new CsReadMail(this);
  }

  /// <summary>Field number for the "mail_id" field.</summary>
  public const int MailIdFieldNumber = 1;
  private ulong mailId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong MailId {
    get { return mailId_; }
    set {
      mailId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsReadMail);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsReadMail other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (MailId != other.MailId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (MailId != 0UL) hash ^= MailId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (MailId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(MailId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (MailId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(MailId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsReadMail other) {
    if (other == null) {
      return;
    }
    if (other.MailId != 0UL) {
      MailId = other.MailId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          MailId = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class CsDeleteMail : pb::IMessage<CsDeleteMail> {
  private static readonly pb::MessageParser<CsDeleteMail> _parser = new pb::MessageParser<CsDeleteMail>(() => new CsDeleteMail());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsDeleteMail> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[712]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsDeleteMail() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsDeleteMail(CsDeleteMail other) : this() {
    mailId_ = other.mailId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsDeleteMail Clone() {
    return new CsDeleteMail(this);
  }

  /// <summary>Field number for the "mail_id" field.</summary>
  public const int MailIdFieldNumber = 1;
  private ulong mailId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong MailId {
    get { return mailId_; }
    set {
      mailId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsDeleteMail);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsDeleteMail other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (MailId != other.MailId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (MailId != 0UL) hash ^= MailId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (MailId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(MailId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (MailId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(MailId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsDeleteMail other) {
    if (other == null) {
      return;
    }
    if (other.MailId != 0UL) {
      MailId = other.MailId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          MailId = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class CsDeleteAllMail : pb::IMessage<CsDeleteAllMail> {
  private static readonly pb::MessageParser<CsDeleteAllMail> _parser = new pb::MessageParser<CsDeleteAllMail>(() => new CsDeleteAllMail());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsDeleteAllMail> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[713]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsDeleteAllMail() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsDeleteAllMail(CsDeleteAllMail other) : this() {
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsDeleteAllMail Clone() {
    return new CsDeleteAllMail(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsDeleteAllMail);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsDeleteAllMail other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsDeleteAllMail other) {
    if (other == null) {
      return;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
      }
    }
  }

}

public sealed partial class CsGetMailAttachment : pb::IMessage<CsGetMailAttachment> {
  private static readonly pb::MessageParser<CsGetMailAttachment> _parser = new pb::MessageParser<CsGetMailAttachment>(() => new CsGetMailAttachment());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsGetMailAttachment> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[714]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsGetMailAttachment() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsGetMailAttachment(CsGetMailAttachment other) : this() {
    mailId_ = other.mailId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsGetMailAttachment Clone() {
    return new CsGetMailAttachment(this);
  }

  /// <summary>Field number for the "mail_id" field.</summary>
  public const int MailIdFieldNumber = 1;
  private ulong mailId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong MailId {
    get { return mailId_; }
    set {
      mailId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsGetMailAttachment);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsGetMailAttachment other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (MailId != other.MailId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (MailId != 0UL) hash ^= MailId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (MailId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(MailId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (MailId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(MailId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsGetMailAttachment other) {
    if (other == null) {
      return;
    }
    if (other.MailId != 0UL) {
      MailId = other.MailId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          MailId = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class CsGetAllMailAttachment : pb::IMessage<CsGetAllMailAttachment> {
  private static readonly pb::MessageParser<CsGetAllMailAttachment> _parser = new pb::MessageParser<CsGetAllMailAttachment>(() => new CsGetAllMailAttachment());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsGetAllMailAttachment> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[715]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsGetAllMailAttachment() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsGetAllMailAttachment(CsGetAllMailAttachment other) : this() {
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsGetAllMailAttachment Clone() {
    return new CsGetAllMailAttachment(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsGetAllMailAttachment);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsGetAllMailAttachment other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsGetAllMailAttachment other) {
    if (other == null) {
      return;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
      }
    }
  }

}

public sealed partial class CsMarkStarMail : pb::IMessage<CsMarkStarMail> {
  private static readonly pb::MessageParser<CsMarkStarMail> _parser = new pb::MessageParser<CsMarkStarMail>(() => new CsMarkStarMail());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsMarkStarMail> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[716]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsMarkStarMail() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsMarkStarMail(CsMarkStarMail other) : this() {
    mailId_ = other.mailId_;
    isStar_ = other.isStar_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsMarkStarMail Clone() {
    return new CsMarkStarMail(this);
  }

  /// <summary>Field number for the "mail_id" field.</summary>
  public const int MailIdFieldNumber = 1;
  private ulong mailId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong MailId {
    get { return mailId_; }
    set {
      mailId_ = value;
    }
  }

  /// <summary>Field number for the "is_star" field.</summary>
  public const int IsStarFieldNumber = 2;
  private bool isStar_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool IsStar {
    get { return isStar_; }
    set {
      isStar_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsMarkStarMail);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsMarkStarMail other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (MailId != other.MailId) return false;
    if (IsStar != other.IsStar) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (MailId != 0UL) hash ^= MailId.GetHashCode();
    if (IsStar != false) hash ^= IsStar.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (MailId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(MailId);
    }
    if (IsStar != false) {
      output.WriteRawTag(16);
      output.WriteBool(IsStar);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (MailId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(MailId);
    }
    if (IsStar != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsMarkStarMail other) {
    if (other == null) {
      return;
    }
    if (other.MailId != 0UL) {
      MailId = other.MailId;
    }
    if (other.IsStar != false) {
      IsStar = other.IsStar;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          MailId = input.ReadUInt64();
          break;
        }
        case 16: {
          IsStar = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class ScSyncAllMail : pb::IMessage<ScSyncAllMail> {
  private static readonly pb::MessageParser<ScSyncAllMail> _parser = new pb::MessageParser<ScSyncAllMail>(() => new ScSyncAllMail());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSyncAllMail> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[717]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncAllMail() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncAllMail(ScSyncAllMail other) : this() {
    mailIdList_ = other.mailIdList_.Clone();
    newMailTag_ = other.newMailTag_;
    newQuestionnaireTag_ = other.newQuestionnaireTag_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncAllMail Clone() {
    return new ScSyncAllMail(this);
  }

  /// <summary>Field number for the "mail_id_list" field.</summary>
  public const int MailIdListFieldNumber = 1;
  private static readonly pb::FieldCodec<ulong> _repeated_mailIdList_codec
      = pb::FieldCodec.ForUInt64(10);
  private readonly pbc::RepeatedField<ulong> mailIdList_ = new pbc::RepeatedField<ulong>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<ulong> MailIdList {
    get { return mailIdList_; }
  }

  /// <summary>Field number for the "new_mail_tag" field.</summary>
  public const int NewMailTagFieldNumber = 2;
  private bool newMailTag_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool NewMailTag {
    get { return newMailTag_; }
    set {
      newMailTag_ = value;
    }
  }

  /// <summary>Field number for the "new_questionnaire_tag" field.</summary>
  public const int NewQuestionnaireTagFieldNumber = 3;
  private bool newQuestionnaireTag_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool NewQuestionnaireTag {
    get { return newQuestionnaireTag_; }
    set {
      newQuestionnaireTag_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSyncAllMail);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSyncAllMail other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!mailIdList_.Equals(other.mailIdList_)) return false;
    if (NewMailTag != other.NewMailTag) return false;
    if (NewQuestionnaireTag != other.NewQuestionnaireTag) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= mailIdList_.GetHashCode();
    if (NewMailTag != false) hash ^= NewMailTag.GetHashCode();
    if (NewQuestionnaireTag != false) hash ^= NewQuestionnaireTag.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    mailIdList_.WriteTo(output, _repeated_mailIdList_codec);
    if (NewMailTag != false) {
      output.WriteRawTag(16);
      output.WriteBool(NewMailTag);
    }
    if (NewQuestionnaireTag != false) {
      output.WriteRawTag(24);
      output.WriteBool(NewQuestionnaireTag);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += mailIdList_.CalculateSize(_repeated_mailIdList_codec);
    if (NewMailTag != false) {
      size += 1 + 1;
    }
    if (NewQuestionnaireTag != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSyncAllMail other) {
    if (other == null) {
      return;
    }
    mailIdList_.Add(other.mailIdList_);
    if (other.NewMailTag != false) {
      NewMailTag = other.NewMailTag;
    }
    if (other.NewQuestionnaireTag != false) {
      NewQuestionnaireTag = other.NewQuestionnaireTag;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10:
        case 8: {
          mailIdList_.AddEntriesFrom(input, _repeated_mailIdList_codec);
          break;
        }
        case 16: {
          NewMailTag = input.ReadBool();
          break;
        }
        case 24: {
          NewQuestionnaireTag = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class ScReadMail : pb::IMessage<ScReadMail> {
  private static readonly pb::MessageParser<ScReadMail> _parser = new pb::MessageParser<ScReadMail>(() => new ScReadMail());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScReadMail> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[718]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScReadMail() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScReadMail(ScReadMail other) : this() {
    mailId_ = other.mailId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScReadMail Clone() {
    return new ScReadMail(this);
  }

  /// <summary>Field number for the "mail_id" field.</summary>
  public const int MailIdFieldNumber = 1;
  private ulong mailId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong MailId {
    get { return mailId_; }
    set {
      mailId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScReadMail);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScReadMail other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (MailId != other.MailId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (MailId != 0UL) hash ^= MailId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (MailId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(MailId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (MailId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(MailId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScReadMail other) {
    if (other == null) {
      return;
    }
    if (other.MailId != 0UL) {
      MailId = other.MailId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          MailId = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class ScGetMail : pb::IMessage<ScGetMail> {
  private static readonly pb::MessageParser<ScGetMail> _parser = new pb::MessageParser<ScGetMail>(() => new ScGetMail());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScGetMail> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[719]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScGetMail() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScGetMail(ScGetMail other) : this() {
    mailList_ = other.mailList_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScGetMail Clone() {
    return new ScGetMail(this);
  }

  /// <summary>Field number for the "mail_list" field.</summary>
  public const int MailListFieldNumber = 1;
  private static readonly pb::FieldCodec<global::CsMailDef> _repeated_mailList_codec
      = pb::FieldCodec.ForMessage(10, global::CsMailDef.Parser);
  private readonly pbc::RepeatedField<global::CsMailDef> mailList_ = new pbc::RepeatedField<global::CsMailDef>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::CsMailDef> MailList {
    get { return mailList_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScGetMail);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScGetMail other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!mailList_.Equals(other.mailList_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= mailList_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    mailList_.WriteTo(output, _repeated_mailList_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += mailList_.CalculateSize(_repeated_mailList_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScGetMail other) {
    if (other == null) {
      return;
    }
    mailList_.Add(other.mailList_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          mailList_.AddEntriesFrom(input, _repeated_mailList_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScGetMailAttachment : pb::IMessage<ScGetMailAttachment> {
  private static readonly pb::MessageParser<ScGetMailAttachment> _parser = new pb::MessageParser<ScGetMailAttachment>(() => new ScGetMailAttachment());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScGetMailAttachment> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[720]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScGetMailAttachment() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScGetMailAttachment(ScGetMailAttachment other) : this() {
    successMailIdList_ = other.successMailIdList_.Clone();
    failedMailIdList_ = other.failedMailIdList_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScGetMailAttachment Clone() {
    return new ScGetMailAttachment(this);
  }

  /// <summary>Field number for the "success_mail_id_list" field.</summary>
  public const int SuccessMailIdListFieldNumber = 1;
  private static readonly pb::FieldCodec<ulong> _repeated_successMailIdList_codec
      = pb::FieldCodec.ForUInt64(10);
  private readonly pbc::RepeatedField<ulong> successMailIdList_ = new pbc::RepeatedField<ulong>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<ulong> SuccessMailIdList {
    get { return successMailIdList_; }
  }

  /// <summary>Field number for the "failed_mail_id_list" field.</summary>
  public const int FailedMailIdListFieldNumber = 2;
  private static readonly pb::FieldCodec<ulong> _repeated_failedMailIdList_codec
      = pb::FieldCodec.ForUInt64(18);
  private readonly pbc::RepeatedField<ulong> failedMailIdList_ = new pbc::RepeatedField<ulong>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<ulong> FailedMailIdList {
    get { return failedMailIdList_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScGetMailAttachment);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScGetMailAttachment other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!successMailIdList_.Equals(other.successMailIdList_)) return false;
    if(!failedMailIdList_.Equals(other.failedMailIdList_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= successMailIdList_.GetHashCode();
    hash ^= failedMailIdList_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    successMailIdList_.WriteTo(output, _repeated_successMailIdList_codec);
    failedMailIdList_.WriteTo(output, _repeated_failedMailIdList_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += successMailIdList_.CalculateSize(_repeated_successMailIdList_codec);
    size += failedMailIdList_.CalculateSize(_repeated_failedMailIdList_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScGetMailAttachment other) {
    if (other == null) {
      return;
    }
    successMailIdList_.Add(other.successMailIdList_);
    failedMailIdList_.Add(other.failedMailIdList_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10:
        case 8: {
          successMailIdList_.AddEntriesFrom(input, _repeated_successMailIdList_codec);
          break;
        }
        case 18:
        case 16: {
          failedMailIdList_.AddEntriesFrom(input, _repeated_failedMailIdList_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScDelMailNotify : pb::IMessage<ScDelMailNotify> {
  private static readonly pb::MessageParser<ScDelMailNotify> _parser = new pb::MessageParser<ScDelMailNotify>(() => new ScDelMailNotify());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScDelMailNotify> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[721]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScDelMailNotify() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScDelMailNotify(ScDelMailNotify other) : this() {
    mailIdList_ = other.mailIdList_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScDelMailNotify Clone() {
    return new ScDelMailNotify(this);
  }

  /// <summary>Field number for the "mail_id_list" field.</summary>
  public const int MailIdListFieldNumber = 1;
  private static readonly pb::FieldCodec<ulong> _repeated_mailIdList_codec
      = pb::FieldCodec.ForUInt64(10);
  private readonly pbc::RepeatedField<ulong> mailIdList_ = new pbc::RepeatedField<ulong>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<ulong> MailIdList {
    get { return mailIdList_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScDelMailNotify);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScDelMailNotify other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!mailIdList_.Equals(other.mailIdList_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= mailIdList_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    mailIdList_.WriteTo(output, _repeated_mailIdList_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += mailIdList_.CalculateSize(_repeated_mailIdList_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScDelMailNotify other) {
    if (other == null) {
      return;
    }
    mailIdList_.Add(other.mailIdList_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10:
        case 8: {
          mailIdList_.AddEntriesFrom(input, _repeated_mailIdList_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScNewMailNotify : pb::IMessage<ScNewMailNotify> {
  private static readonly pb::MessageParser<ScNewMailNotify> _parser = new pb::MessageParser<ScNewMailNotify>(() => new ScNewMailNotify());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScNewMailNotify> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[722]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScNewMailNotify() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScNewMailNotify(ScNewMailNotify other) : this() {
    mailIdList_ = other.mailIdList_.Clone();
    newQuestionnaireTag_ = other.newQuestionnaireTag_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScNewMailNotify Clone() {
    return new ScNewMailNotify(this);
  }

  /// <summary>Field number for the "mail_id_list" field.</summary>
  public const int MailIdListFieldNumber = 1;
  private static readonly pb::FieldCodec<ulong> _repeated_mailIdList_codec
      = pb::FieldCodec.ForUInt64(10);
  private readonly pbc::RepeatedField<ulong> mailIdList_ = new pbc::RepeatedField<ulong>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<ulong> MailIdList {
    get { return mailIdList_; }
  }

  /// <summary>Field number for the "new_questionnaire_tag" field.</summary>
  public const int NewQuestionnaireTagFieldNumber = 2;
  private bool newQuestionnaireTag_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool NewQuestionnaireTag {
    get { return newQuestionnaireTag_; }
    set {
      newQuestionnaireTag_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScNewMailNotify);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScNewMailNotify other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!mailIdList_.Equals(other.mailIdList_)) return false;
    if (NewQuestionnaireTag != other.NewQuestionnaireTag) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= mailIdList_.GetHashCode();
    if (NewQuestionnaireTag != false) hash ^= NewQuestionnaireTag.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    mailIdList_.WriteTo(output, _repeated_mailIdList_codec);
    if (NewQuestionnaireTag != false) {
      output.WriteRawTag(16);
      output.WriteBool(NewQuestionnaireTag);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += mailIdList_.CalculateSize(_repeated_mailIdList_codec);
    if (NewQuestionnaireTag != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScNewMailNotify other) {
    if (other == null) {
      return;
    }
    mailIdList_.Add(other.mailIdList_);
    if (other.NewQuestionnaireTag != false) {
      NewQuestionnaireTag = other.NewQuestionnaireTag;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10:
        case 8: {
          mailIdList_.AddEntriesFrom(input, _repeated_mailIdList_codec);
          break;
        }
        case 16: {
          NewQuestionnaireTag = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class ScMarkStarMail : pb::IMessage<ScMarkStarMail> {
  private static readonly pb::MessageParser<ScMarkStarMail> _parser = new pb::MessageParser<ScMarkStarMail>(() => new ScMarkStarMail());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScMarkStarMail> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[723]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScMarkStarMail() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScMarkStarMail(ScMarkStarMail other) : this() {
    mailId_ = other.mailId_;
    isStar_ = other.isStar_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScMarkStarMail Clone() {
    return new ScMarkStarMail(this);
  }

  /// <summary>Field number for the "mail_id" field.</summary>
  public const int MailIdFieldNumber = 1;
  private ulong mailId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong MailId {
    get { return mailId_; }
    set {
      mailId_ = value;
    }
  }

  /// <summary>Field number for the "is_star" field.</summary>
  public const int IsStarFieldNumber = 2;
  private bool isStar_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool IsStar {
    get { return isStar_; }
    set {
      isStar_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScMarkStarMail);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScMarkStarMail other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (MailId != other.MailId) return false;
    if (IsStar != other.IsStar) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (MailId != 0UL) hash ^= MailId.GetHashCode();
    if (IsStar != false) hash ^= IsStar.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (MailId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(MailId);
    }
    if (IsStar != false) {
      output.WriteRawTag(16);
      output.WriteBool(IsStar);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (MailId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(MailId);
    }
    if (IsStar != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScMarkStarMail other) {
    if (other == null) {
      return;
    }
    if (other.MailId != 0UL) {
      MailId = other.MailId;
    }
    if (other.IsStar != false) {
      IsStar = other.IsStar;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          MailId = input.ReadUInt64();
          break;
        }
        case 16: {
          IsStar = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class CsdSceneStaticMapMarkUpdate : pb::IMessage<CsdSceneStaticMapMarkUpdate> {
  private static readonly pb::MessageParser<CsdSceneStaticMapMarkUpdate> _parser = new pb::MessageParser<CsdSceneStaticMapMarkUpdate>(() => new CsdSceneStaticMapMarkUpdate());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsdSceneStaticMapMarkUpdate> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[724]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdSceneStaticMapMarkUpdate() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdSceneStaticMapMarkUpdate(CsdSceneStaticMapMarkUpdate other) : this() {
    mark_ = other.mark_ != null ? other.mark_.Clone() : null;
    isAdd_ = other.isAdd_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdSceneStaticMapMarkUpdate Clone() {
    return new CsdSceneStaticMapMarkUpdate(this);
  }

  /// <summary>Field number for the "mark" field.</summary>
  public const int MarkFieldNumber = 1;
  private global::SceneStaticMapMark mark_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::SceneStaticMapMark Mark {
    get { return mark_; }
    set {
      mark_ = value;
    }
  }

  /// <summary>Field number for the "is_add" field.</summary>
  public const int IsAddFieldNumber = 2;
  private bool isAdd_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool IsAdd {
    get { return isAdd_; }
    set {
      isAdd_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsdSceneStaticMapMarkUpdate);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsdSceneStaticMapMarkUpdate other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!object.Equals(Mark, other.Mark)) return false;
    if (IsAdd != other.IsAdd) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (mark_ != null) hash ^= Mark.GetHashCode();
    if (IsAdd != false) hash ^= IsAdd.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (mark_ != null) {
      output.WriteRawTag(10);
      output.WriteMessage(Mark);
    }
    if (IsAdd != false) {
      output.WriteRawTag(16);
      output.WriteBool(IsAdd);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (mark_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Mark);
    }
    if (IsAdd != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsdSceneStaticMapMarkUpdate other) {
    if (other == null) {
      return;
    }
    if (other.mark_ != null) {
      if (mark_ == null) {
        mark_ = new global::SceneStaticMapMark();
      }
      Mark.MergeFrom(other.Mark);
    }
    if (other.IsAdd != false) {
      IsAdd = other.IsAdd;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          if (mark_ == null) {
            mark_ = new global::SceneStaticMapMark();
          }
          input.ReadMessage(mark_);
          break;
        }
        case 16: {
          IsAdd = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class CsSceneStaticMapMarkUpdate : pb::IMessage<CsSceneStaticMapMarkUpdate> {
  private static readonly pb::MessageParser<CsSceneStaticMapMarkUpdate> _parser = new pb::MessageParser<CsSceneStaticMapMarkUpdate>(() => new CsSceneStaticMapMarkUpdate());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsSceneStaticMapMarkUpdate> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[725]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneStaticMapMarkUpdate() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneStaticMapMarkUpdate(CsSceneStaticMapMarkUpdate other) : this() {
    ops_ = other.ops_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneStaticMapMarkUpdate Clone() {
    return new CsSceneStaticMapMarkUpdate(this);
  }

  /// <summary>Field number for the "ops" field.</summary>
  public const int OpsFieldNumber = 1;
  private static readonly pb::FieldCodec<global::CsdSceneStaticMapMarkUpdate> _repeated_ops_codec
      = pb::FieldCodec.ForMessage(10, global::CsdSceneStaticMapMarkUpdate.Parser);
  private readonly pbc::RepeatedField<global::CsdSceneStaticMapMarkUpdate> ops_ = new pbc::RepeatedField<global::CsdSceneStaticMapMarkUpdate>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::CsdSceneStaticMapMarkUpdate> Ops {
    get { return ops_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsSceneStaticMapMarkUpdate);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsSceneStaticMapMarkUpdate other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!ops_.Equals(other.ops_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= ops_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    ops_.WriteTo(output, _repeated_ops_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += ops_.CalculateSize(_repeated_ops_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsSceneStaticMapMarkUpdate other) {
    if (other == null) {
      return;
    }
    ops_.Add(other.ops_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          ops_.AddEntriesFrom(input, _repeated_ops_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class CsSceneSetTrackPoint : pb::IMessage<CsSceneSetTrackPoint> {
  private static readonly pb::MessageParser<CsSceneSetTrackPoint> _parser = new pb::MessageParser<CsSceneSetTrackPoint>(() => new CsSceneSetTrackPoint());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsSceneSetTrackPoint> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[726]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneSetTrackPoint() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneSetTrackPoint(CsSceneSetTrackPoint other) : this() {
    trackPoint_ = other.trackPoint_ != null ? other.trackPoint_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneSetTrackPoint Clone() {
    return new CsSceneSetTrackPoint(this);
  }

  /// <summary>Field number for the "track_point" field.</summary>
  public const int TrackPointFieldNumber = 1;
  private global::SceneTrackPoint trackPoint_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::SceneTrackPoint TrackPoint {
    get { return trackPoint_; }
    set {
      trackPoint_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsSceneSetTrackPoint);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsSceneSetTrackPoint other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!object.Equals(TrackPoint, other.TrackPoint)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (trackPoint_ != null) hash ^= TrackPoint.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (trackPoint_ != null) {
      output.WriteRawTag(10);
      output.WriteMessage(TrackPoint);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (trackPoint_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(TrackPoint);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsSceneSetTrackPoint other) {
    if (other == null) {
      return;
    }
    if (other.trackPoint_ != null) {
      if (trackPoint_ == null) {
        trackPoint_ = new global::SceneTrackPoint();
      }
      TrackPoint.MergeFrom(other.TrackPoint);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          if (trackPoint_ == null) {
            trackPoint_ = new global::SceneTrackPoint();
          }
          input.ReadMessage(trackPoint_);
          break;
        }
      }
    }
  }

}

public sealed partial class ScSceneMapMarkSync : pb::IMessage<ScSceneMapMarkSync> {
  private static readonly pb::MessageParser<ScSceneMapMarkSync> _parser = new pb::MessageParser<ScSceneMapMarkSync>(() => new ScSceneMapMarkSync());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSceneMapMarkSync> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[727]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneMapMarkSync() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneMapMarkSync(ScSceneMapMarkSync other) : this() {
    sceneStaticMapMarkList_ = other.sceneStaticMapMarkList_.Clone();
    trackPoint_ = other.trackPoint_ != null ? other.trackPoint_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneMapMarkSync Clone() {
    return new ScSceneMapMarkSync(this);
  }

  /// <summary>Field number for the "scene_static_map_mark_list" field.</summary>
  public const int SceneStaticMapMarkListFieldNumber = 1;
  private static readonly pb::FieldCodec<global::SceneStaticMapMark> _repeated_sceneStaticMapMarkList_codec
      = pb::FieldCodec.ForMessage(10, global::SceneStaticMapMark.Parser);
  private readonly pbc::RepeatedField<global::SceneStaticMapMark> sceneStaticMapMarkList_ = new pbc::RepeatedField<global::SceneStaticMapMark>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::SceneStaticMapMark> SceneStaticMapMarkList {
    get { return sceneStaticMapMarkList_; }
  }

  /// <summary>Field number for the "track_point" field.</summary>
  public const int TrackPointFieldNumber = 2;
  private global::SceneTrackPoint trackPoint_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::SceneTrackPoint TrackPoint {
    get { return trackPoint_; }
    set {
      trackPoint_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSceneMapMarkSync);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSceneMapMarkSync other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!sceneStaticMapMarkList_.Equals(other.sceneStaticMapMarkList_)) return false;
    if (!object.Equals(TrackPoint, other.TrackPoint)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= sceneStaticMapMarkList_.GetHashCode();
    if (trackPoint_ != null) hash ^= TrackPoint.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    sceneStaticMapMarkList_.WriteTo(output, _repeated_sceneStaticMapMarkList_codec);
    if (trackPoint_ != null) {
      output.WriteRawTag(18);
      output.WriteMessage(TrackPoint);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += sceneStaticMapMarkList_.CalculateSize(_repeated_sceneStaticMapMarkList_codec);
    if (trackPoint_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(TrackPoint);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSceneMapMarkSync other) {
    if (other == null) {
      return;
    }
    sceneStaticMapMarkList_.Add(other.sceneStaticMapMarkList_);
    if (other.trackPoint_ != null) {
      if (trackPoint_ == null) {
        trackPoint_ = new global::SceneTrackPoint();
      }
      TrackPoint.MergeFrom(other.TrackPoint);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          sceneStaticMapMarkList_.AddEntriesFrom(input, _repeated_sceneStaticMapMarkList_codec);
          break;
        }
        case 18: {
          if (trackPoint_ == null) {
            trackPoint_ = new global::SceneTrackPoint();
          }
          input.ReadMessage(trackPoint_);
          break;
        }
      }
    }
  }

}

public sealed partial class ScSceneStaticMapMarkModify : pb::IMessage<ScSceneStaticMapMarkModify> {
  private static readonly pb::MessageParser<ScSceneStaticMapMarkModify> _parser = new pb::MessageParser<ScSceneStaticMapMarkModify>(() => new ScSceneStaticMapMarkModify());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSceneStaticMapMarkModify> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[728]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneStaticMapMarkModify() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneStaticMapMarkModify(ScSceneStaticMapMarkModify other) : this() {
    addedList_ = other.addedList_.Clone();
    deletedList_ = other.deletedList_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneStaticMapMarkModify Clone() {
    return new ScSceneStaticMapMarkModify(this);
  }

  /// <summary>Field number for the "added_list" field.</summary>
  public const int AddedListFieldNumber = 1;
  private static readonly pb::FieldCodec<global::SceneStaticMapMark> _repeated_addedList_codec
      = pb::FieldCodec.ForMessage(10, global::SceneStaticMapMark.Parser);
  private readonly pbc::RepeatedField<global::SceneStaticMapMark> addedList_ = new pbc::RepeatedField<global::SceneStaticMapMark>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::SceneStaticMapMark> AddedList {
    get { return addedList_; }
  }

  /// <summary>Field number for the "deleted_list" field.</summary>
  public const int DeletedListFieldNumber = 2;
  private static readonly pb::FieldCodec<int> _repeated_deletedList_codec
      = pb::FieldCodec.ForInt32(18);
  private readonly pbc::RepeatedField<int> deletedList_ = new pbc::RepeatedField<int>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<int> DeletedList {
    get { return deletedList_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSceneStaticMapMarkModify);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSceneStaticMapMarkModify other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!addedList_.Equals(other.addedList_)) return false;
    if(!deletedList_.Equals(other.deletedList_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= addedList_.GetHashCode();
    hash ^= deletedList_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    addedList_.WriteTo(output, _repeated_addedList_codec);
    deletedList_.WriteTo(output, _repeated_deletedList_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += addedList_.CalculateSize(_repeated_addedList_codec);
    size += deletedList_.CalculateSize(_repeated_deletedList_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSceneStaticMapMarkModify other) {
    if (other == null) {
      return;
    }
    addedList_.Add(other.addedList_);
    deletedList_.Add(other.deletedList_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          addedList_.AddEntriesFrom(input, _repeated_addedList_codec);
          break;
        }
        case 18:
        case 16: {
          deletedList_.AddEntriesFrom(input, _repeated_deletedList_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScSceneSetTrackPoint : pb::IMessage<ScSceneSetTrackPoint> {
  private static readonly pb::MessageParser<ScSceneSetTrackPoint> _parser = new pb::MessageParser<ScSceneSetTrackPoint>(() => new ScSceneSetTrackPoint());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSceneSetTrackPoint> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[729]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneSetTrackPoint() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneSetTrackPoint(ScSceneSetTrackPoint other) : this() {
    trackPoint_ = other.trackPoint_ != null ? other.trackPoint_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneSetTrackPoint Clone() {
    return new ScSceneSetTrackPoint(this);
  }

  /// <summary>Field number for the "track_point" field.</summary>
  public const int TrackPointFieldNumber = 1;
  private global::SceneTrackPoint trackPoint_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::SceneTrackPoint TrackPoint {
    get { return trackPoint_; }
    set {
      trackPoint_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSceneSetTrackPoint);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSceneSetTrackPoint other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!object.Equals(TrackPoint, other.TrackPoint)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (trackPoint_ != null) hash ^= TrackPoint.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (trackPoint_ != null) {
      output.WriteRawTag(10);
      output.WriteMessage(TrackPoint);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (trackPoint_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(TrackPoint);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSceneSetTrackPoint other) {
    if (other == null) {
      return;
    }
    if (other.trackPoint_ != null) {
      if (trackPoint_ == null) {
        trackPoint_ = new global::SceneTrackPoint();
      }
      TrackPoint.MergeFrom(other.TrackPoint);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          if (trackPoint_ == null) {
            trackPoint_ = new global::SceneTrackPoint();
          }
          input.ReadMessage(trackPoint_);
          break;
        }
      }
    }
  }

}

public sealed partial class MiniGameInfo : pb::IMessage<MiniGameInfo> {
  private static readonly pb::MessageParser<MiniGameInfo> _parser = new pb::MessageParser<MiniGameInfo>(() => new MiniGameInfo());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<MiniGameInfo> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[730]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public MiniGameInfo() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public MiniGameInfo(MiniGameInfo other) : this() {
    miniGameId_ = other.miniGameId_;
    completedCount_ = other.completedCount_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public MiniGameInfo Clone() {
    return new MiniGameInfo(this);
  }

  /// <summary>Field number for the "mini_game_id" field.</summary>
  public const int MiniGameIdFieldNumber = 1;
  private string miniGameId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string MiniGameId {
    get { return miniGameId_; }
    set {
      miniGameId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "completed_count" field.</summary>
  public const int CompletedCountFieldNumber = 2;
  private int completedCount_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CompletedCount {
    get { return completedCount_; }
    set {
      completedCount_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as MiniGameInfo);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(MiniGameInfo other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (MiniGameId != other.MiniGameId) return false;
    if (CompletedCount != other.CompletedCount) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (MiniGameId.Length != 0) hash ^= MiniGameId.GetHashCode();
    if (CompletedCount != 0) hash ^= CompletedCount.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (MiniGameId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(MiniGameId);
    }
    if (CompletedCount != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(CompletedCount);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (MiniGameId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(MiniGameId);
    }
    if (CompletedCount != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(CompletedCount);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(MiniGameInfo other) {
    if (other == null) {
      return;
    }
    if (other.MiniGameId.Length != 0) {
      MiniGameId = other.MiniGameId;
    }
    if (other.CompletedCount != 0) {
      CompletedCount = other.CompletedCount;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          MiniGameId = input.ReadString();
          break;
        }
        case 16: {
          CompletedCount = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScSyncAllMiniGame : pb::IMessage<ScSyncAllMiniGame> {
  private static readonly pb::MessageParser<ScSyncAllMiniGame> _parser = new pb::MessageParser<ScSyncAllMiniGame>(() => new ScSyncAllMiniGame());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSyncAllMiniGame> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[731]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncAllMiniGame() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncAllMiniGame(ScSyncAllMiniGame other) : this() {
    completedMiniGame_ = other.completedMiniGame_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncAllMiniGame Clone() {
    return new ScSyncAllMiniGame(this);
  }

  /// <summary>Field number for the "completed_mini_game" field.</summary>
  public const int CompletedMiniGameFieldNumber = 1;
  private static readonly pb::FieldCodec<global::MiniGameInfo> _repeated_completedMiniGame_codec
      = pb::FieldCodec.ForMessage(10, global::MiniGameInfo.Parser);
  private readonly pbc::RepeatedField<global::MiniGameInfo> completedMiniGame_ = new pbc::RepeatedField<global::MiniGameInfo>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::MiniGameInfo> CompletedMiniGame {
    get { return completedMiniGame_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSyncAllMiniGame);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSyncAllMiniGame other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!completedMiniGame_.Equals(other.completedMiniGame_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= completedMiniGame_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    completedMiniGame_.WriteTo(output, _repeated_completedMiniGame_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += completedMiniGame_.CalculateSize(_repeated_completedMiniGame_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSyncAllMiniGame other) {
    if (other == null) {
      return;
    }
    completedMiniGame_.Add(other.completedMiniGame_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          completedMiniGame_.AddEntriesFrom(input, _repeated_completedMiniGame_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class CsCompleteMiniGame : pb::IMessage<CsCompleteMiniGame> {
  private static readonly pb::MessageParser<CsCompleteMiniGame> _parser = new pb::MessageParser<CsCompleteMiniGame>(() => new CsCompleteMiniGame());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsCompleteMiniGame> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[732]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsCompleteMiniGame() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsCompleteMiniGame(CsCompleteMiniGame other) : this() {
    miniGameId_ = other.miniGameId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsCompleteMiniGame Clone() {
    return new CsCompleteMiniGame(this);
  }

  /// <summary>Field number for the "mini_game_id" field.</summary>
  public const int MiniGameIdFieldNumber = 2;
  private string miniGameId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string MiniGameId {
    get { return miniGameId_; }
    set {
      miniGameId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsCompleteMiniGame);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsCompleteMiniGame other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (MiniGameId != other.MiniGameId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (MiniGameId.Length != 0) hash ^= MiniGameId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (MiniGameId.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(MiniGameId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (MiniGameId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(MiniGameId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsCompleteMiniGame other) {
    if (other == null) {
      return;
    }
    if (other.MiniGameId.Length != 0) {
      MiniGameId = other.MiniGameId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 18: {
          MiniGameId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class ScCompleteMiniGame : pb::IMessage<ScCompleteMiniGame> {
  private static readonly pb::MessageParser<ScCompleteMiniGame> _parser = new pb::MessageParser<ScCompleteMiniGame>(() => new ScCompleteMiniGame());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScCompleteMiniGame> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[733]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScCompleteMiniGame() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScCompleteMiniGame(ScCompleteMiniGame other) : this() {
    miniGameId_ = other.miniGameId_;
    completedCount_ = other.completedCount_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScCompleteMiniGame Clone() {
    return new ScCompleteMiniGame(this);
  }

  /// <summary>Field number for the "mini_game_id" field.</summary>
  public const int MiniGameIdFieldNumber = 2;
  private string miniGameId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string MiniGameId {
    get { return miniGameId_; }
    set {
      miniGameId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "completed_count" field.</summary>
  public const int CompletedCountFieldNumber = 3;
  private int completedCount_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CompletedCount {
    get { return completedCount_; }
    set {
      completedCount_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScCompleteMiniGame);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScCompleteMiniGame other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (MiniGameId != other.MiniGameId) return false;
    if (CompletedCount != other.CompletedCount) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (MiniGameId.Length != 0) hash ^= MiniGameId.GetHashCode();
    if (CompletedCount != 0) hash ^= CompletedCount.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (MiniGameId.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(MiniGameId);
    }
    if (CompletedCount != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(CompletedCount);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (MiniGameId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(MiniGameId);
    }
    if (CompletedCount != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(CompletedCount);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScCompleteMiniGame other) {
    if (other == null) {
      return;
    }
    if (other.MiniGameId.Length != 0) {
      MiniGameId = other.MiniGameId;
    }
    if (other.CompletedCount != 0) {
      CompletedCount = other.CompletedCount;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 18: {
          MiniGameId = input.ReadString();
          break;
        }
        case 24: {
          CompletedCount = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class AttrInfo : pb::IMessage<AttrInfo> {
  private static readonly pb::MessageParser<AttrInfo> _parser = new pb::MessageParser<AttrInfo>(() => new AttrInfo());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<AttrInfo> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[734]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public AttrInfo() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public AttrInfo(AttrInfo other) : this() {
    attrType_ = other.attrType_;
    basicValue_ = other.basicValue_;
    value_ = other.value_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public AttrInfo Clone() {
    return new AttrInfo(this);
  }

  /// <summary>Field number for the "attr_type" field.</summary>
  public const int AttrTypeFieldNumber = 1;
  private int attrType_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int AttrType {
    get { return attrType_; }
    set {
      attrType_ = value;
    }
  }

  /// <summary>Field number for the "basic_value" field.</summary>
  public const int BasicValueFieldNumber = 2;
  private double basicValue_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public double BasicValue {
    get { return basicValue_; }
    set {
      basicValue_ = value;
    }
  }

  /// <summary>Field number for the "value" field.</summary>
  public const int ValueFieldNumber = 3;
  private double value_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public double Value {
    get { return value_; }
    set {
      value_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as AttrInfo);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(AttrInfo other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (AttrType != other.AttrType) return false;
    if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(BasicValue, other.BasicValue)) return false;
    if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(Value, other.Value)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (AttrType != 0) hash ^= AttrType.GetHashCode();
    if (BasicValue != 0D) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(BasicValue);
    if (Value != 0D) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(Value);
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (AttrType != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(AttrType);
    }
    if (BasicValue != 0D) {
      output.WriteRawTag(17);
      output.WriteDouble(BasicValue);
    }
    if (Value != 0D) {
      output.WriteRawTag(25);
      output.WriteDouble(Value);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (AttrType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(AttrType);
    }
    if (BasicValue != 0D) {
      size += 1 + 8;
    }
    if (Value != 0D) {
      size += 1 + 8;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(AttrInfo other) {
    if (other == null) {
      return;
    }
    if (other.AttrType != 0) {
      AttrType = other.AttrType;
    }
    if (other.BasicValue != 0D) {
      BasicValue = other.BasicValue;
    }
    if (other.Value != 0D) {
      Value = other.Value;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          AttrType = input.ReadInt32();
          break;
        }
        case 17: {
          BasicValue = input.ReadDouble();
          break;
        }
        case 25: {
          Value = input.ReadDouble();
          break;
        }
      }
    }
  }

}

public sealed partial class ScSyncAttr : pb::IMessage<ScSyncAttr> {
  private static readonly pb::MessageParser<ScSyncAttr> _parser = new pb::MessageParser<ScSyncAttr>(() => new ScSyncAttr());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSyncAttr> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[735]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncAttr() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncAttr(ScSyncAttr other) : this() {
    objID_ = other.objID_;
    attrList_ = other.attrList_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncAttr Clone() {
    return new ScSyncAttr(this);
  }

  /// <summary>Field number for the "obj_i_d" field.</summary>
  public const int ObjIDFieldNumber = 1;
  private ulong objID_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong ObjID {
    get { return objID_; }
    set {
      objID_ = value;
    }
  }

  /// <summary>Field number for the "attr_list" field.</summary>
  public const int AttrListFieldNumber = 2;
  private static readonly pb::FieldCodec<global::AttrInfo> _repeated_attrList_codec
      = pb::FieldCodec.ForMessage(18, global::AttrInfo.Parser);
  private readonly pbc::RepeatedField<global::AttrInfo> attrList_ = new pbc::RepeatedField<global::AttrInfo>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::AttrInfo> AttrList {
    get { return attrList_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSyncAttr);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSyncAttr other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ObjID != other.ObjID) return false;
    if(!attrList_.Equals(other.attrList_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ObjID != 0UL) hash ^= ObjID.GetHashCode();
    hash ^= attrList_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ObjID != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(ObjID);
    }
    attrList_.WriteTo(output, _repeated_attrList_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ObjID != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(ObjID);
    }
    size += attrList_.CalculateSize(_repeated_attrList_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSyncAttr other) {
    if (other == null) {
      return;
    }
    if (other.ObjID != 0UL) {
      ObjID = other.ObjID;
    }
    attrList_.Add(other.attrList_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ObjID = input.ReadUInt64();
          break;
        }
        case 18: {
          attrList_.AddEntriesFrom(input, _repeated_attrList_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScNewNoticeNotify : pb::IMessage<ScNewNoticeNotify> {
  private static readonly pb::MessageParser<ScNewNoticeNotify> _parser = new pb::MessageParser<ScNewNoticeNotify>(() => new ScNewNoticeNotify());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScNewNoticeNotify> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[736]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScNewNoticeNotify() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScNewNoticeNotify(ScNewNoticeNotify other) : this() {
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScNewNoticeNotify Clone() {
    return new ScNewNoticeNotify(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScNewNoticeNotify);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScNewNoticeNotify other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScNewNoticeNotify other) {
    if (other == null) {
      return;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
      }
    }
  }

}

public sealed partial class QuestObjectiveDetail : pb::IMessage<QuestObjectiveDetail> {
  private static readonly pb::MessageParser<QuestObjectiveDetail> _parser = new pb::MessageParser<QuestObjectiveDetail>(() => new QuestObjectiveDetail());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<QuestObjectiveDetail> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[737]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public QuestObjectiveDetail() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public QuestObjectiveDetail(QuestObjectiveDetail other) : this() {
    hashValue_ = other.hashValue_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public QuestObjectiveDetail Clone() {
    return new QuestObjectiveDetail(this);
  }

  /// <summary>Field number for the "hash_value" field.</summary>
  public const int HashValueFieldNumber = 2;
  private static readonly pbc::MapField<ulong, bool>.Codec _map_hashValue_codec
      = new pbc::MapField<ulong, bool>.Codec(pb::FieldCodec.ForUInt64(8), pb::FieldCodec.ForBool(16), 18);
  private readonly pbc::MapField<ulong, bool> hashValue_ = new pbc::MapField<ulong, bool>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<ulong, bool> HashValue {
    get { return hashValue_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as QuestObjectiveDetail);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(QuestObjectiveDetail other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!HashValue.Equals(other.HashValue)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= HashValue.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    hashValue_.WriteTo(output, _map_hashValue_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += hashValue_.CalculateSize(_map_hashValue_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(QuestObjectiveDetail other) {
    if (other == null) {
      return;
    }
    hashValue_.Add(other.hashValue_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 18: {
          hashValue_.AddEntriesFrom(input, _map_hashValue_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class QuestObjective : pb::IMessage<QuestObjective> {
  private static readonly pb::MessageParser<QuestObjective> _parser = new pb::MessageParser<QuestObjective>(() => new QuestObjective());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<QuestObjective> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[738]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public QuestObjective() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public QuestObjective(QuestObjective other) : this() {
    conditionId_ = other.conditionId_;
    extraDetails_ = other.extraDetails_.Clone();
    values_ = other.values_.Clone();
    isComplete_ = other.isComplete_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public QuestObjective Clone() {
    return new QuestObjective(this);
  }

  /// <summary>Field number for the "condition_id" field.</summary>
  public const int ConditionIdFieldNumber = 1;
  private string conditionId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ConditionId {
    get { return conditionId_; }
    set {
      conditionId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "extra_details" field.</summary>
  public const int ExtraDetailsFieldNumber = 2;
  private static readonly pbc::MapField<string, global::QuestObjectiveDetail>.Codec _map_extraDetails_codec
      = new pbc::MapField<string, global::QuestObjectiveDetail>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForMessage(18, global::QuestObjectiveDetail.Parser), 18);
  private readonly pbc::MapField<string, global::QuestObjectiveDetail> extraDetails_ = new pbc::MapField<string, global::QuestObjectiveDetail>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<string, global::QuestObjectiveDetail> ExtraDetails {
    get { return extraDetails_; }
  }

  /// <summary>Field number for the "values" field.</summary>
  public const int ValuesFieldNumber = 4;
  private static readonly pbc::MapField<string, int>.Codec _map_values_codec
      = new pbc::MapField<string, int>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForInt32(16), 34);
  private readonly pbc::MapField<string, int> values_ = new pbc::MapField<string, int>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<string, int> Values {
    get { return values_; }
  }

  /// <summary>Field number for the "is_complete" field.</summary>
  public const int IsCompleteFieldNumber = 3;
  private bool isComplete_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool IsComplete {
    get { return isComplete_; }
    set {
      isComplete_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as QuestObjective);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(QuestObjective other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ConditionId != other.ConditionId) return false;
    if (!ExtraDetails.Equals(other.ExtraDetails)) return false;
    if (!Values.Equals(other.Values)) return false;
    if (IsComplete != other.IsComplete) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ConditionId.Length != 0) hash ^= ConditionId.GetHashCode();
    hash ^= ExtraDetails.GetHashCode();
    hash ^= Values.GetHashCode();
    if (IsComplete != false) hash ^= IsComplete.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ConditionId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(ConditionId);
    }
    extraDetails_.WriteTo(output, _map_extraDetails_codec);
    if (IsComplete != false) {
      output.WriteRawTag(24);
      output.WriteBool(IsComplete);
    }
    values_.WriteTo(output, _map_values_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ConditionId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ConditionId);
    }
    size += extraDetails_.CalculateSize(_map_extraDetails_codec);
    size += values_.CalculateSize(_map_values_codec);
    if (IsComplete != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(QuestObjective other) {
    if (other == null) {
      return;
    }
    if (other.ConditionId.Length != 0) {
      ConditionId = other.ConditionId;
    }
    extraDetails_.Add(other.extraDetails_);
    values_.Add(other.values_);
    if (other.IsComplete != false) {
      IsComplete = other.IsComplete;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          ConditionId = input.ReadString();
          break;
        }
        case 18: {
          extraDetails_.AddEntriesFrom(input, _map_extraDetails_codec);
          break;
        }
        case 24: {
          IsComplete = input.ReadBool();
          break;
        }
        case 34: {
          values_.AddEntriesFrom(input, _map_values_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class Quest : pb::IMessage<Quest> {
  private static readonly pb::MessageParser<Quest> _parser = new pb::MessageParser<Quest>(() => new Quest());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<Quest> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[739]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public Quest() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public Quest(Quest other) : this() {
    questId_ = other.questId_;
    questState_ = other.questState_;
    questObjectives_ = other.questObjectives_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public Quest Clone() {
    return new Quest(this);
  }

  /// <summary>Field number for the "quest_id" field.</summary>
  public const int QuestIdFieldNumber = 1;
  private string questId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string QuestId {
    get { return questId_; }
    set {
      questId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "quest_state" field.</summary>
  public const int QuestStateFieldNumber = 2;
  private int questState_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int QuestState {
    get { return questState_; }
    set {
      questState_ = value;
    }
  }

  /// <summary>Field number for the "quest_objectives" field.</summary>
  public const int QuestObjectivesFieldNumber = 4;
  private static readonly pb::FieldCodec<global::QuestObjective> _repeated_questObjectives_codec
      = pb::FieldCodec.ForMessage(34, global::QuestObjective.Parser);
  private readonly pbc::RepeatedField<global::QuestObjective> questObjectives_ = new pbc::RepeatedField<global::QuestObjective>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::QuestObjective> QuestObjectives {
    get { return questObjectives_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as Quest);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(Quest other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (QuestId != other.QuestId) return false;
    if (QuestState != other.QuestState) return false;
    if(!questObjectives_.Equals(other.questObjectives_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (QuestId.Length != 0) hash ^= QuestId.GetHashCode();
    if (QuestState != 0) hash ^= QuestState.GetHashCode();
    hash ^= questObjectives_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (QuestId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(QuestId);
    }
    if (QuestState != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(QuestState);
    }
    questObjectives_.WriteTo(output, _repeated_questObjectives_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (QuestId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(QuestId);
    }
    if (QuestState != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(QuestState);
    }
    size += questObjectives_.CalculateSize(_repeated_questObjectives_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(Quest other) {
    if (other == null) {
      return;
    }
    if (other.QuestId.Length != 0) {
      QuestId = other.QuestId;
    }
    if (other.QuestState != 0) {
      QuestState = other.QuestState;
    }
    questObjectives_.Add(other.questObjectives_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          QuestId = input.ReadString();
          break;
        }
        case 16: {
          QuestState = input.ReadInt32();
          break;
        }
        case 34: {
          questObjectives_.AddEntriesFrom(input, _repeated_questObjectives_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class Mission : pb::IMessage<Mission> {
  private static readonly pb::MessageParser<Mission> _parser = new pb::MessageParser<Mission>(() => new Mission());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<Mission> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[740]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public Mission() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public Mission(Mission other) : this() {
    missionId_ = other.missionId_;
    missionState_ = other.missionState_;
    succeedId_ = other.succeedId_;
    properties_ = other.properties_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public Mission Clone() {
    return new Mission(this);
  }

  /// <summary>Field number for the "mission_id" field.</summary>
  public const int MissionIdFieldNumber = 1;
  private string missionId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string MissionId {
    get { return missionId_; }
    set {
      missionId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "mission_state" field.</summary>
  public const int MissionStateFieldNumber = 2;
  private int missionState_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int MissionState {
    get { return missionState_; }
    set {
      missionState_ = value;
    }
  }

  /// <summary>Field number for the "succeed_id" field.</summary>
  public const int SucceedIdFieldNumber = 3;
  private int succeedId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int SucceedId {
    get { return succeedId_; }
    set {
      succeedId_ = value;
    }
  }

  /// <summary>Field number for the "properties" field.</summary>
  public const int PropertiesFieldNumber = 4;
  private static readonly pbc::MapField<int, global::DynamicParameter>.Codec _map_properties_codec
      = new pbc::MapField<int, global::DynamicParameter>.Codec(pb::FieldCodec.ForInt32(8), pb::FieldCodec.ForMessage(18, global::DynamicParameter.Parser), 34);
  private readonly pbc::MapField<int, global::DynamicParameter> properties_ = new pbc::MapField<int, global::DynamicParameter>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<int, global::DynamicParameter> Properties {
    get { return properties_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as Mission);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(Mission other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (MissionId != other.MissionId) return false;
    if (MissionState != other.MissionState) return false;
    if (SucceedId != other.SucceedId) return false;
    if (!Properties.Equals(other.Properties)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (MissionId.Length != 0) hash ^= MissionId.GetHashCode();
    if (MissionState != 0) hash ^= MissionState.GetHashCode();
    if (SucceedId != 0) hash ^= SucceedId.GetHashCode();
    hash ^= Properties.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (MissionId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(MissionId);
    }
    if (MissionState != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(MissionState);
    }
    if (SucceedId != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(SucceedId);
    }
    properties_.WriteTo(output, _map_properties_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (MissionId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(MissionId);
    }
    if (MissionState != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(MissionState);
    }
    if (SucceedId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(SucceedId);
    }
    size += properties_.CalculateSize(_map_properties_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(Mission other) {
    if (other == null) {
      return;
    }
    if (other.MissionId.Length != 0) {
      MissionId = other.MissionId;
    }
    if (other.MissionState != 0) {
      MissionState = other.MissionState;
    }
    if (other.SucceedId != 0) {
      SucceedId = other.SucceedId;
    }
    properties_.Add(other.properties_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          MissionId = input.ReadString();
          break;
        }
        case 16: {
          MissionState = input.ReadInt32();
          break;
        }
        case 24: {
          SucceedId = input.ReadInt32();
          break;
        }
        case 34: {
          properties_.AddEntriesFrom(input, _map_properties_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ObjectiveValueOp : pb::IMessage<ObjectiveValueOp> {
  private static readonly pb::MessageParser<ObjectiveValueOp> _parser = new pb::MessageParser<ObjectiveValueOp>(() => new ObjectiveValueOp());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ObjectiveValueOp> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[741]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ObjectiveValueOp() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ObjectiveValueOp(ObjectiveValueOp other) : this() {
    conditionId_ = other.conditionId_;
    value_ = other.value_;
    isAdd_ = other.isAdd_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ObjectiveValueOp Clone() {
    return new ObjectiveValueOp(this);
  }

  /// <summary>Field number for the "condition_id" field.</summary>
  public const int ConditionIdFieldNumber = 1;
  private string conditionId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ConditionId {
    get { return conditionId_; }
    set {
      conditionId_ = 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]
  public int Value {
    get { return value_; }
    set {
      value_ = value;
    }
  }

  /// <summary>Field number for the "is_add" field.</summary>
  public const int IsAddFieldNumber = 3;
  private bool isAdd_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool IsAdd {
    get { return isAdd_; }
    set {
      isAdd_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ObjectiveValueOp);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ObjectiveValueOp other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ConditionId != other.ConditionId) return false;
    if (Value != other.Value) return false;
    if (IsAdd != other.IsAdd) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ConditionId.Length != 0) hash ^= ConditionId.GetHashCode();
    if (Value != 0) hash ^= Value.GetHashCode();
    if (IsAdd != false) hash ^= IsAdd.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ConditionId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(ConditionId);
    }
    if (Value != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(Value);
    }
    if (IsAdd != false) {
      output.WriteRawTag(24);
      output.WriteBool(IsAdd);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ConditionId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ConditionId);
    }
    if (Value != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Value);
    }
    if (IsAdd != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ObjectiveValueOp other) {
    if (other == null) {
      return;
    }
    if (other.ConditionId.Length != 0) {
      ConditionId = other.ConditionId;
    }
    if (other.Value != 0) {
      Value = other.Value;
    }
    if (other.IsAdd != false) {
      IsAdd = other.IsAdd;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          ConditionId = input.ReadString();
          break;
        }
        case 16: {
          Value = input.ReadInt32();
          break;
        }
        case 24: {
          IsAdd = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class CsAcceptMission : pb::IMessage<CsAcceptMission> {
  private static readonly pb::MessageParser<CsAcceptMission> _parser = new pb::MessageParser<CsAcceptMission>(() => new CsAcceptMission());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsAcceptMission> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[742]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsAcceptMission() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsAcceptMission(CsAcceptMission other) : this() {
    missionId_ = other.missionId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsAcceptMission Clone() {
    return new CsAcceptMission(this);
  }

  /// <summary>Field number for the "mission_id" field.</summary>
  public const int MissionIdFieldNumber = 1;
  private string missionId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string MissionId {
    get { return missionId_; }
    set {
      missionId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsAcceptMission);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsAcceptMission other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (MissionId != other.MissionId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (MissionId.Length != 0) hash ^= MissionId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (MissionId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(MissionId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (MissionId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(MissionId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsAcceptMission other) {
    if (other == null) {
      return;
    }
    if (other.MissionId.Length != 0) {
      MissionId = other.MissionId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          MissionId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class CsFailMission : pb::IMessage<CsFailMission> {
  private static readonly pb::MessageParser<CsFailMission> _parser = new pb::MessageParser<CsFailMission>(() => new CsFailMission());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsFailMission> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[743]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFailMission() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFailMission(CsFailMission other) : this() {
    missionId_ = other.missionId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsFailMission Clone() {
    return new CsFailMission(this);
  }

  /// <summary>Field number for the "mission_id" field.</summary>
  public const int MissionIdFieldNumber = 1;
  private string missionId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string MissionId {
    get { return missionId_; }
    set {
      missionId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsFailMission);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsFailMission other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (MissionId != other.MissionId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (MissionId.Length != 0) hash ^= MissionId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (MissionId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(MissionId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (MissionId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(MissionId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsFailMission other) {
    if (other == null) {
      return;
    }
    if (other.MissionId.Length != 0) {
      MissionId = other.MissionId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          MissionId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class CsTrackMission : pb::IMessage<CsTrackMission> {
  private static readonly pb::MessageParser<CsTrackMission> _parser = new pb::MessageParser<CsTrackMission>(() => new CsTrackMission());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsTrackMission> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[744]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsTrackMission() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsTrackMission(CsTrackMission other) : this() {
    missionId_ = other.missionId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsTrackMission Clone() {
    return new CsTrackMission(this);
  }

  /// <summary>Field number for the "mission_id" field.</summary>
  public const int MissionIdFieldNumber = 1;
  private string missionId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string MissionId {
    get { return missionId_; }
    set {
      missionId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsTrackMission);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsTrackMission other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (MissionId != other.MissionId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (MissionId.Length != 0) hash ^= MissionId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (MissionId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(MissionId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (MissionId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(MissionId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsTrackMission other) {
    if (other == null) {
      return;
    }
    if (other.MissionId.Length != 0) {
      MissionId = other.MissionId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          MissionId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class CsStopTrackingMission : pb::IMessage<CsStopTrackingMission> {
  private static readonly pb::MessageParser<CsStopTrackingMission> _parser = new pb::MessageParser<CsStopTrackingMission>(() => new CsStopTrackingMission());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsStopTrackingMission> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[745]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsStopTrackingMission() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsStopTrackingMission(CsStopTrackingMission other) : this() {
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsStopTrackingMission Clone() {
    return new CsStopTrackingMission(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsStopTrackingMission);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsStopTrackingMission other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsStopTrackingMission other) {
    if (other == null) {
      return;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
      }
    }
  }

}

public sealed partial class CsMissionEventTrigger : pb::IMessage<CsMissionEventTrigger> {
  private static readonly pb::MessageParser<CsMissionEventTrigger> _parser = new pb::MessageParser<CsMissionEventTrigger>(() => new CsMissionEventTrigger());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsMissionEventTrigger> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[746]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsMissionEventTrigger() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsMissionEventTrigger(CsMissionEventTrigger other) : this() {
    missionId_ = other.missionId_;
    eventName_ = other.eventName_;
    properties_ = other.properties_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsMissionEventTrigger Clone() {
    return new CsMissionEventTrigger(this);
  }

  /// <summary>Field number for the "mission_id" field.</summary>
  public const int MissionIdFieldNumber = 1;
  private string missionId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string MissionId {
    get { return missionId_; }
    set {
      missionId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "event_name" field.</summary>
  public const int EventNameFieldNumber = 2;
  private string eventName_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string EventName {
    get { return eventName_; }
    set {
      eventName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "properties" field.</summary>
  public const int PropertiesFieldNumber = 3;
  private static readonly pbc::MapField<string, global::DynamicParameter>.Codec _map_properties_codec
      = new pbc::MapField<string, global::DynamicParameter>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForMessage(18, global::DynamicParameter.Parser), 26);
  private readonly pbc::MapField<string, global::DynamicParameter> properties_ = new pbc::MapField<string, global::DynamicParameter>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<string, global::DynamicParameter> Properties {
    get { return properties_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsMissionEventTrigger);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsMissionEventTrigger other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (MissionId != other.MissionId) return false;
    if (EventName != other.EventName) return false;
    if (!Properties.Equals(other.Properties)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (MissionId.Length != 0) hash ^= MissionId.GetHashCode();
    if (EventName.Length != 0) hash ^= EventName.GetHashCode();
    hash ^= Properties.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (MissionId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(MissionId);
    }
    if (EventName.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(EventName);
    }
    properties_.WriteTo(output, _map_properties_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (MissionId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(MissionId);
    }
    if (EventName.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(EventName);
    }
    size += properties_.CalculateSize(_map_properties_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsMissionEventTrigger other) {
    if (other == null) {
      return;
    }
    if (other.MissionId.Length != 0) {
      MissionId = other.MissionId;
    }
    if (other.EventName.Length != 0) {
      EventName = other.EventName;
    }
    properties_.Add(other.properties_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          MissionId = input.ReadString();
          break;
        }
        case 18: {
          EventName = input.ReadString();
          break;
        }
        case 26: {
          properties_.AddEntriesFrom(input, _map_properties_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScMissionEventTrigger : pb::IMessage<ScMissionEventTrigger> {
  private static readonly pb::MessageParser<ScMissionEventTrigger> _parser = new pb::MessageParser<ScMissionEventTrigger>(() => new ScMissionEventTrigger());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScMissionEventTrigger> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[747]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScMissionEventTrigger() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScMissionEventTrigger(ScMissionEventTrigger other) : this() {
    missionId_ = other.missionId_;
    eventName_ = other.eventName_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScMissionEventTrigger Clone() {
    return new ScMissionEventTrigger(this);
  }

  /// <summary>Field number for the "mission_id" field.</summary>
  public const int MissionIdFieldNumber = 1;
  private string missionId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string MissionId {
    get { return missionId_; }
    set {
      missionId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "event_name" field.</summary>
  public const int EventNameFieldNumber = 2;
  private string eventName_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string EventName {
    get { return eventName_; }
    set {
      eventName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScMissionEventTrigger);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScMissionEventTrigger other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (MissionId != other.MissionId) return false;
    if (EventName != other.EventName) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (MissionId.Length != 0) hash ^= MissionId.GetHashCode();
    if (EventName.Length != 0) hash ^= EventName.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (MissionId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(MissionId);
    }
    if (EventName.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(EventName);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (MissionId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(MissionId);
    }
    if (EventName.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(EventName);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScMissionEventTrigger other) {
    if (other == null) {
      return;
    }
    if (other.MissionId.Length != 0) {
      MissionId = other.MissionId;
    }
    if (other.EventName.Length != 0) {
      EventName = other.EventName;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          MissionId = input.ReadString();
          break;
        }
        case 18: {
          EventName = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class CsUpdateQuestObjective : pb::IMessage<CsUpdateQuestObjective> {
  private static readonly pb::MessageParser<CsUpdateQuestObjective> _parser = new pb::MessageParser<CsUpdateQuestObjective>(() => new CsUpdateQuestObjective());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsUpdateQuestObjective> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[748]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsUpdateQuestObjective() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsUpdateQuestObjective(CsUpdateQuestObjective other) : this() {
    questId_ = other.questId_;
    objectiveValueOps_ = other.objectiveValueOps_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsUpdateQuestObjective Clone() {
    return new CsUpdateQuestObjective(this);
  }

  /// <summary>Field number for the "quest_id" field.</summary>
  public const int QuestIdFieldNumber = 1;
  private string questId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string QuestId {
    get { return questId_; }
    set {
      questId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "objective_value_ops" field.</summary>
  public const int ObjectiveValueOpsFieldNumber = 2;
  private static readonly pb::FieldCodec<global::ObjectiveValueOp> _repeated_objectiveValueOps_codec
      = pb::FieldCodec.ForMessage(18, global::ObjectiveValueOp.Parser);
  private readonly pbc::RepeatedField<global::ObjectiveValueOp> objectiveValueOps_ = new pbc::RepeatedField<global::ObjectiveValueOp>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ObjectiveValueOp> ObjectiveValueOps {
    get { return objectiveValueOps_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsUpdateQuestObjective);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsUpdateQuestObjective other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (QuestId != other.QuestId) return false;
    if(!objectiveValueOps_.Equals(other.objectiveValueOps_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (QuestId.Length != 0) hash ^= QuestId.GetHashCode();
    hash ^= objectiveValueOps_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (QuestId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(QuestId);
    }
    objectiveValueOps_.WriteTo(output, _repeated_objectiveValueOps_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (QuestId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(QuestId);
    }
    size += objectiveValueOps_.CalculateSize(_repeated_objectiveValueOps_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsUpdateQuestObjective other) {
    if (other == null) {
      return;
    }
    if (other.QuestId.Length != 0) {
      QuestId = other.QuestId;
    }
    objectiveValueOps_.Add(other.objectiveValueOps_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          QuestId = input.ReadString();
          break;
        }
        case 18: {
          objectiveValueOps_.AddEntriesFrom(input, _repeated_objectiveValueOps_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScUpdateMissionProperty : pb::IMessage<ScUpdateMissionProperty> {
  private static readonly pb::MessageParser<ScUpdateMissionProperty> _parser = new pb::MessageParser<ScUpdateMissionProperty>(() => new ScUpdateMissionProperty());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScUpdateMissionProperty> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[749]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScUpdateMissionProperty() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScUpdateMissionProperty(ScUpdateMissionProperty other) : this() {
    missionId_ = other.missionId_;
    properties_ = other.properties_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScUpdateMissionProperty Clone() {
    return new ScUpdateMissionProperty(this);
  }

  /// <summary>Field number for the "mission_id" field.</summary>
  public const int MissionIdFieldNumber = 1;
  private string missionId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string MissionId {
    get { return missionId_; }
    set {
      missionId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "properties" field.</summary>
  public const int PropertiesFieldNumber = 2;
  private static readonly pbc::MapField<int, global::DynamicParameter>.Codec _map_properties_codec
      = new pbc::MapField<int, global::DynamicParameter>.Codec(pb::FieldCodec.ForInt32(8), pb::FieldCodec.ForMessage(18, global::DynamicParameter.Parser), 18);
  private readonly pbc::MapField<int, global::DynamicParameter> properties_ = new pbc::MapField<int, global::DynamicParameter>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<int, global::DynamicParameter> Properties {
    get { return properties_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScUpdateMissionProperty);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScUpdateMissionProperty other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (MissionId != other.MissionId) return false;
    if (!Properties.Equals(other.Properties)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (MissionId.Length != 0) hash ^= MissionId.GetHashCode();
    hash ^= Properties.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (MissionId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(MissionId);
    }
    properties_.WriteTo(output, _map_properties_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (MissionId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(MissionId);
    }
    size += properties_.CalculateSize(_map_properties_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScUpdateMissionProperty other) {
    if (other == null) {
      return;
    }
    if (other.MissionId.Length != 0) {
      MissionId = other.MissionId;
    }
    properties_.Add(other.properties_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          MissionId = input.ReadString();
          break;
        }
        case 18: {
          properties_.AddEntriesFrom(input, _map_properties_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class CsMissionClientTriggerDone : pb::IMessage<CsMissionClientTriggerDone> {
  private static readonly pb::MessageParser<CsMissionClientTriggerDone> _parser = new pb::MessageParser<CsMissionClientTriggerDone>(() => new CsMissionClientTriggerDone());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsMissionClientTriggerDone> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[750]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsMissionClientTriggerDone() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsMissionClientTriggerDone(CsMissionClientTriggerDone other) : this() {
    missionId_ = other.missionId_;
    sceneName_ = other.sceneName_;
    areaId_ = other.areaId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsMissionClientTriggerDone Clone() {
    return new CsMissionClientTriggerDone(this);
  }

  /// <summary>Field number for the "mission_id" field.</summary>
  public const int MissionIdFieldNumber = 1;
  private string missionId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string MissionId {
    get { return missionId_; }
    set {
      missionId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "scene_name" field.</summary>
  public const int SceneNameFieldNumber = 2;
  private string sceneName_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string SceneName {
    get { return sceneName_; }
    set {
      sceneName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "area_id" field.</summary>
  public const int AreaIdFieldNumber = 3;
  private string areaId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string AreaId {
    get { return areaId_; }
    set {
      areaId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsMissionClientTriggerDone);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsMissionClientTriggerDone other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (MissionId != other.MissionId) return false;
    if (SceneName != other.SceneName) return false;
    if (AreaId != other.AreaId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (MissionId.Length != 0) hash ^= MissionId.GetHashCode();
    if (SceneName.Length != 0) hash ^= SceneName.GetHashCode();
    if (AreaId.Length != 0) hash ^= AreaId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (MissionId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(MissionId);
    }
    if (SceneName.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(SceneName);
    }
    if (AreaId.Length != 0) {
      output.WriteRawTag(26);
      output.WriteString(AreaId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (MissionId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(MissionId);
    }
    if (SceneName.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(SceneName);
    }
    if (AreaId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(AreaId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsMissionClientTriggerDone other) {
    if (other == null) {
      return;
    }
    if (other.MissionId.Length != 0) {
      MissionId = other.MissionId;
    }
    if (other.SceneName.Length != 0) {
      SceneName = other.SceneName;
    }
    if (other.AreaId.Length != 0) {
      AreaId = other.AreaId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          MissionId = input.ReadString();
          break;
        }
        case 18: {
          SceneName = input.ReadString();
          break;
        }
        case 26: {
          AreaId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class CsSetNewMissionTagDone : pb::IMessage<CsSetNewMissionTagDone> {
  private static readonly pb::MessageParser<CsSetNewMissionTagDone> _parser = new pb::MessageParser<CsSetNewMissionTagDone>(() => new CsSetNewMissionTagDone());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsSetNewMissionTagDone> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[751]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSetNewMissionTagDone() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSetNewMissionTagDone(CsSetNewMissionTagDone other) : this() {
    newMissionTags_ = other.newMissionTags_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSetNewMissionTagDone Clone() {
    return new CsSetNewMissionTagDone(this);
  }

  /// <summary>Field number for the "new_mission_tags" field.</summary>
  public const int NewMissionTagsFieldNumber = 5;
  private static readonly pb::FieldCodec<global::NewMissionTag> _repeated_newMissionTags_codec
      = pb::FieldCodec.ForMessage(42, global::NewMissionTag.Parser);
  private readonly pbc::RepeatedField<global::NewMissionTag> newMissionTags_ = new pbc::RepeatedField<global::NewMissionTag>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::NewMissionTag> NewMissionTags {
    get { return newMissionTags_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsSetNewMissionTagDone);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsSetNewMissionTagDone other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!newMissionTags_.Equals(other.newMissionTags_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= newMissionTags_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    newMissionTags_.WriteTo(output, _repeated_newMissionTags_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += newMissionTags_.CalculateSize(_repeated_newMissionTags_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsSetNewMissionTagDone other) {
    if (other == null) {
      return;
    }
    newMissionTags_.Add(other.newMissionTags_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 42: {
          newMissionTags_.AddEntriesFrom(input, _repeated_newMissionTags_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class NewMissionTag : pb::IMessage<NewMissionTag> {
  private static readonly pb::MessageParser<NewMissionTag> _parser = new pb::MessageParser<NewMissionTag>(() => new NewMissionTag());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<NewMissionTag> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[752]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public NewMissionTag() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public NewMissionTag(NewMissionTag other) : this() {
    missionId_ = other.missionId_;
    questId_ = other.questId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public NewMissionTag Clone() {
    return new NewMissionTag(this);
  }

  /// <summary>Field number for the "mission_id" field.</summary>
  public const int MissionIdFieldNumber = 1;
  private string missionId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string MissionId {
    get { return missionId_; }
    set {
      missionId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "quest_id" field.</summary>
  public const int QuestIdFieldNumber = 2;
  private string questId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string QuestId {
    get { return questId_; }
    set {
      questId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as NewMissionTag);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(NewMissionTag other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (MissionId != other.MissionId) return false;
    if (QuestId != other.QuestId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (MissionId.Length != 0) hash ^= MissionId.GetHashCode();
    if (QuestId.Length != 0) hash ^= QuestId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (MissionId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(MissionId);
    }
    if (QuestId.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(QuestId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (MissionId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(MissionId);
    }
    if (QuestId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(QuestId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(NewMissionTag other) {
    if (other == null) {
      return;
    }
    if (other.MissionId.Length != 0) {
      MissionId = other.MissionId;
    }
    if (other.QuestId.Length != 0) {
      QuestId = other.QuestId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          MissionId = input.ReadString();
          break;
        }
        case 18: {
          QuestId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class ScSyncAllMission : pb::IMessage<ScSyncAllMission> {
  private static readonly pb::MessageParser<ScSyncAllMission> _parser = new pb::MessageParser<ScSyncAllMission>(() => new ScSyncAllMission());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSyncAllMission> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[753]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncAllMission() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncAllMission(ScSyncAllMission other) : this() {
    trackMissionId_ = other.trackMissionId_;
    missions_ = other.missions_.Clone();
    curQuests_ = other.curQuests_.Clone();
    dailyMissionId_ = other.dailyMissionId_;
    newMissionTags_ = other.newMissionTags_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncAllMission Clone() {
    return new ScSyncAllMission(this);
  }

  /// <summary>Field number for the "track_mission_id" field.</summary>
  public const int TrackMissionIdFieldNumber = 1;
  private string trackMissionId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string TrackMissionId {
    get { return trackMissionId_; }
    set {
      trackMissionId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "missions" field.</summary>
  public const int MissionsFieldNumber = 2;
  private static readonly pbc::MapField<string, global::Mission>.Codec _map_missions_codec
      = new pbc::MapField<string, global::Mission>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForMessage(18, global::Mission.Parser), 18);
  private readonly pbc::MapField<string, global::Mission> missions_ = new pbc::MapField<string, global::Mission>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<string, global::Mission> Missions {
    get { return missions_; }
  }

  /// <summary>Field number for the "cur_quests" field.</summary>
  public const int CurQuestsFieldNumber = 3;
  private static readonly pbc::MapField<string, global::Quest>.Codec _map_curQuests_codec
      = new pbc::MapField<string, global::Quest>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForMessage(18, global::Quest.Parser), 26);
  private readonly pbc::MapField<string, global::Quest> curQuests_ = new pbc::MapField<string, global::Quest>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<string, global::Quest> CurQuests {
    get { return curQuests_; }
  }

  /// <summary>Field number for the "daily_mission_id" field.</summary>
  public const int DailyMissionIdFieldNumber = 4;
  private string dailyMissionId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string DailyMissionId {
    get { return dailyMissionId_; }
    set {
      dailyMissionId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "new_mission_tags" field.</summary>
  public const int NewMissionTagsFieldNumber = 5;
  private static readonly pb::FieldCodec<global::NewMissionTag> _repeated_newMissionTags_codec
      = pb::FieldCodec.ForMessage(42, global::NewMissionTag.Parser);
  private readonly pbc::RepeatedField<global::NewMissionTag> newMissionTags_ = new pbc::RepeatedField<global::NewMissionTag>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::NewMissionTag> NewMissionTags {
    get { return newMissionTags_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSyncAllMission);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSyncAllMission other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (TrackMissionId != other.TrackMissionId) return false;
    if (!Missions.Equals(other.Missions)) return false;
    if (!CurQuests.Equals(other.CurQuests)) return false;
    if (DailyMissionId != other.DailyMissionId) return false;
    if(!newMissionTags_.Equals(other.newMissionTags_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (TrackMissionId.Length != 0) hash ^= TrackMissionId.GetHashCode();
    hash ^= Missions.GetHashCode();
    hash ^= CurQuests.GetHashCode();
    if (DailyMissionId.Length != 0) hash ^= DailyMissionId.GetHashCode();
    hash ^= newMissionTags_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (TrackMissionId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(TrackMissionId);
    }
    missions_.WriteTo(output, _map_missions_codec);
    curQuests_.WriteTo(output, _map_curQuests_codec);
    if (DailyMissionId.Length != 0) {
      output.WriteRawTag(34);
      output.WriteString(DailyMissionId);
    }
    newMissionTags_.WriteTo(output, _repeated_newMissionTags_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (TrackMissionId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(TrackMissionId);
    }
    size += missions_.CalculateSize(_map_missions_codec);
    size += curQuests_.CalculateSize(_map_curQuests_codec);
    if (DailyMissionId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(DailyMissionId);
    }
    size += newMissionTags_.CalculateSize(_repeated_newMissionTags_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSyncAllMission other) {
    if (other == null) {
      return;
    }
    if (other.TrackMissionId.Length != 0) {
      TrackMissionId = other.TrackMissionId;
    }
    missions_.Add(other.missions_);
    curQuests_.Add(other.curQuests_);
    if (other.DailyMissionId.Length != 0) {
      DailyMissionId = other.DailyMissionId;
    }
    newMissionTags_.Add(other.newMissionTags_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          TrackMissionId = input.ReadString();
          break;
        }
        case 18: {
          missions_.AddEntriesFrom(input, _map_missions_codec);
          break;
        }
        case 26: {
          curQuests_.AddEntriesFrom(input, _map_curQuests_codec);
          break;
        }
        case 34: {
          DailyMissionId = input.ReadString();
          break;
        }
        case 42: {
          newMissionTags_.AddEntriesFrom(input, _repeated_newMissionTags_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScDailyMissionInfoUpdate : pb::IMessage<ScDailyMissionInfoUpdate> {
  private static readonly pb::MessageParser<ScDailyMissionInfoUpdate> _parser = new pb::MessageParser<ScDailyMissionInfoUpdate>(() => new ScDailyMissionInfoUpdate());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScDailyMissionInfoUpdate> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[754]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScDailyMissionInfoUpdate() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScDailyMissionInfoUpdate(ScDailyMissionInfoUpdate other) : this() {
    dailyMissionId_ = other.dailyMissionId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScDailyMissionInfoUpdate Clone() {
    return new ScDailyMissionInfoUpdate(this);
  }

  /// <summary>Field number for the "daily_mission_id" field.</summary>
  public const int DailyMissionIdFieldNumber = 1;
  private string dailyMissionId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string DailyMissionId {
    get { return dailyMissionId_; }
    set {
      dailyMissionId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScDailyMissionInfoUpdate);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScDailyMissionInfoUpdate other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (DailyMissionId != other.DailyMissionId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (DailyMissionId.Length != 0) hash ^= DailyMissionId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (DailyMissionId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(DailyMissionId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (DailyMissionId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(DailyMissionId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScDailyMissionInfoUpdate other) {
    if (other == null) {
      return;
    }
    if (other.DailyMissionId.Length != 0) {
      DailyMissionId = other.DailyMissionId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          DailyMissionId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class ScQuestStateUpdate : pb::IMessage<ScQuestStateUpdate> {
  private static readonly pb::MessageParser<ScQuestStateUpdate> _parser = new pb::MessageParser<ScQuestStateUpdate>(() => new ScQuestStateUpdate());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScQuestStateUpdate> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[755]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScQuestStateUpdate() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScQuestStateUpdate(ScQuestStateUpdate other) : this() {
    questId_ = other.questId_;
    questState_ = other.questState_;
    bRollback_ = other.bRollback_;
    roleBaseInfo_ = other.roleBaseInfo_ != null ? other.roleBaseInfo_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScQuestStateUpdate Clone() {
    return new ScQuestStateUpdate(this);
  }

  /// <summary>Field number for the "quest_id" field.</summary>
  public const int QuestIdFieldNumber = 1;
  private string questId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string QuestId {
    get { return questId_; }
    set {
      questId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "quest_state" field.</summary>
  public const int QuestStateFieldNumber = 2;
  private int questState_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int QuestState {
    get { return questState_; }
    set {
      questState_ = value;
    }
  }

  /// <summary>Field number for the "b_rollback" field.</summary>
  public const int BRollbackFieldNumber = 3;
  private bool bRollback_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool BRollback {
    get { return bRollback_; }
    set {
      bRollback_ = value;
    }
  }

  /// <summary>Field number for the "role_base_info" field.</summary>
  public const int RoleBaseInfoFieldNumber = 10;
  private global::RoleBaseInfo roleBaseInfo_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::RoleBaseInfo RoleBaseInfo {
    get { return roleBaseInfo_; }
    set {
      roleBaseInfo_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScQuestStateUpdate);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScQuestStateUpdate other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (QuestId != other.QuestId) return false;
    if (QuestState != other.QuestState) return false;
    if (BRollback != other.BRollback) return false;
    if (!object.Equals(RoleBaseInfo, other.RoleBaseInfo)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (QuestId.Length != 0) hash ^= QuestId.GetHashCode();
    if (QuestState != 0) hash ^= QuestState.GetHashCode();
    if (BRollback != false) hash ^= BRollback.GetHashCode();
    if (roleBaseInfo_ != null) hash ^= RoleBaseInfo.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (QuestId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(QuestId);
    }
    if (QuestState != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(QuestState);
    }
    if (BRollback != false) {
      output.WriteRawTag(24);
      output.WriteBool(BRollback);
    }
    if (roleBaseInfo_ != null) {
      output.WriteRawTag(82);
      output.WriteMessage(RoleBaseInfo);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (QuestId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(QuestId);
    }
    if (QuestState != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(QuestState);
    }
    if (BRollback != false) {
      size += 1 + 1;
    }
    if (roleBaseInfo_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(RoleBaseInfo);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScQuestStateUpdate other) {
    if (other == null) {
      return;
    }
    if (other.QuestId.Length != 0) {
      QuestId = other.QuestId;
    }
    if (other.QuestState != 0) {
      QuestState = other.QuestState;
    }
    if (other.BRollback != false) {
      BRollback = other.BRollback;
    }
    if (other.roleBaseInfo_ != null) {
      if (roleBaseInfo_ == null) {
        roleBaseInfo_ = new global::RoleBaseInfo();
      }
      RoleBaseInfo.MergeFrom(other.RoleBaseInfo);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          QuestId = input.ReadString();
          break;
        }
        case 16: {
          QuestState = input.ReadInt32();
          break;
        }
        case 24: {
          BRollback = input.ReadBool();
          break;
        }
        case 82: {
          if (roleBaseInfo_ == null) {
            roleBaseInfo_ = new global::RoleBaseInfo();
          }
          input.ReadMessage(roleBaseInfo_);
          break;
        }
      }
    }
  }

}

public sealed partial class ScMissionStateUpdate : pb::IMessage<ScMissionStateUpdate> {
  private static readonly pb::MessageParser<ScMissionStateUpdate> _parser = new pb::MessageParser<ScMissionStateUpdate>(() => new ScMissionStateUpdate());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScMissionStateUpdate> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[756]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScMissionStateUpdate() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScMissionStateUpdate(ScMissionStateUpdate other) : this() {
    missionId_ = other.missionId_;
    missionState_ = other.missionState_;
    succeedId_ = other.succeedId_;
    properties_ = other.properties_.Clone();
    roleBaseInfo_ = other.roleBaseInfo_ != null ? other.roleBaseInfo_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScMissionStateUpdate Clone() {
    return new ScMissionStateUpdate(this);
  }

  /// <summary>Field number for the "mission_id" field.</summary>
  public const int MissionIdFieldNumber = 1;
  private string missionId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string MissionId {
    get { return missionId_; }
    set {
      missionId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "mission_state" field.</summary>
  public const int MissionStateFieldNumber = 2;
  private int missionState_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int MissionState {
    get { return missionState_; }
    set {
      missionState_ = value;
    }
  }

  /// <summary>Field number for the "succeed_id" field.</summary>
  public const int SucceedIdFieldNumber = 3;
  private int succeedId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int SucceedId {
    get { return succeedId_; }
    set {
      succeedId_ = value;
    }
  }

  /// <summary>Field number for the "properties" field.</summary>
  public const int PropertiesFieldNumber = 4;
  private static readonly pbc::MapField<int, global::DynamicParameter>.Codec _map_properties_codec
      = new pbc::MapField<int, global::DynamicParameter>.Codec(pb::FieldCodec.ForInt32(8), pb::FieldCodec.ForMessage(18, global::DynamicParameter.Parser), 34);
  private readonly pbc::MapField<int, global::DynamicParameter> properties_ = new pbc::MapField<int, global::DynamicParameter>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<int, global::DynamicParameter> Properties {
    get { return properties_; }
  }

  /// <summary>Field number for the "role_base_info" field.</summary>
  public const int RoleBaseInfoFieldNumber = 10;
  private global::RoleBaseInfo roleBaseInfo_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::RoleBaseInfo RoleBaseInfo {
    get { return roleBaseInfo_; }
    set {
      roleBaseInfo_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScMissionStateUpdate);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScMissionStateUpdate other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (MissionId != other.MissionId) return false;
    if (MissionState != other.MissionState) return false;
    if (SucceedId != other.SucceedId) return false;
    if (!Properties.Equals(other.Properties)) return false;
    if (!object.Equals(RoleBaseInfo, other.RoleBaseInfo)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (MissionId.Length != 0) hash ^= MissionId.GetHashCode();
    if (MissionState != 0) hash ^= MissionState.GetHashCode();
    if (SucceedId != 0) hash ^= SucceedId.GetHashCode();
    hash ^= Properties.GetHashCode();
    if (roleBaseInfo_ != null) hash ^= RoleBaseInfo.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (MissionId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(MissionId);
    }
    if (MissionState != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(MissionState);
    }
    if (SucceedId != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(SucceedId);
    }
    properties_.WriteTo(output, _map_properties_codec);
    if (roleBaseInfo_ != null) {
      output.WriteRawTag(82);
      output.WriteMessage(RoleBaseInfo);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (MissionId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(MissionId);
    }
    if (MissionState != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(MissionState);
    }
    if (SucceedId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(SucceedId);
    }
    size += properties_.CalculateSize(_map_properties_codec);
    if (roleBaseInfo_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(RoleBaseInfo);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScMissionStateUpdate other) {
    if (other == null) {
      return;
    }
    if (other.MissionId.Length != 0) {
      MissionId = other.MissionId;
    }
    if (other.MissionState != 0) {
      MissionState = other.MissionState;
    }
    if (other.SucceedId != 0) {
      SucceedId = other.SucceedId;
    }
    properties_.Add(other.properties_);
    if (other.roleBaseInfo_ != null) {
      if (roleBaseInfo_ == null) {
        roleBaseInfo_ = new global::RoleBaseInfo();
      }
      RoleBaseInfo.MergeFrom(other.RoleBaseInfo);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          MissionId = input.ReadString();
          break;
        }
        case 16: {
          MissionState = input.ReadInt32();
          break;
        }
        case 24: {
          SucceedId = input.ReadInt32();
          break;
        }
        case 34: {
          properties_.AddEntriesFrom(input, _map_properties_codec);
          break;
        }
        case 82: {
          if (roleBaseInfo_ == null) {
            roleBaseInfo_ = new global::RoleBaseInfo();
          }
          input.ReadMessage(roleBaseInfo_);
          break;
        }
      }
    }
  }

}

public sealed partial class ScQuestFailed : pb::IMessage<ScQuestFailed> {
  private static readonly pb::MessageParser<ScQuestFailed> _parser = new pb::MessageParser<ScQuestFailed>(() => new ScQuestFailed());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScQuestFailed> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[757]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScQuestFailed() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScQuestFailed(ScQuestFailed other) : this() {
    questId_ = other.questId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScQuestFailed Clone() {
    return new ScQuestFailed(this);
  }

  /// <summary>Field number for the "quest_id" field.</summary>
  public const int QuestIdFieldNumber = 1;
  private string questId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string QuestId {
    get { return questId_; }
    set {
      questId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScQuestFailed);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScQuestFailed other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (QuestId != other.QuestId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (QuestId.Length != 0) hash ^= QuestId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (QuestId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(QuestId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (QuestId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(QuestId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScQuestFailed other) {
    if (other == null) {
      return;
    }
    if (other.QuestId.Length != 0) {
      QuestId = other.QuestId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          QuestId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class ScMissionFailed : pb::IMessage<ScMissionFailed> {
  private static readonly pb::MessageParser<ScMissionFailed> _parser = new pb::MessageParser<ScMissionFailed>(() => new ScMissionFailed());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScMissionFailed> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[758]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScMissionFailed() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScMissionFailed(ScMissionFailed other) : this() {
    missionId_ = other.missionId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScMissionFailed Clone() {
    return new ScMissionFailed(this);
  }

  /// <summary>Field number for the "mission_id" field.</summary>
  public const int MissionIdFieldNumber = 1;
  private string missionId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string MissionId {
    get { return missionId_; }
    set {
      missionId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScMissionFailed);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScMissionFailed other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (MissionId != other.MissionId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (MissionId.Length != 0) hash ^= MissionId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (MissionId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(MissionId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (MissionId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(MissionId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScMissionFailed other) {
    if (other == null) {
      return;
    }
    if (other.MissionId.Length != 0) {
      MissionId = other.MissionId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          MissionId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class ScMissionDeleted : pb::IMessage<ScMissionDeleted> {
  private static readonly pb::MessageParser<ScMissionDeleted> _parser = new pb::MessageParser<ScMissionDeleted>(() => new ScMissionDeleted());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScMissionDeleted> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[759]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScMissionDeleted() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScMissionDeleted(ScMissionDeleted other) : this() {
    missionId_ = other.missionId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScMissionDeleted Clone() {
    return new ScMissionDeleted(this);
  }

  /// <summary>Field number for the "mission_id" field.</summary>
  public const int MissionIdFieldNumber = 1;
  private string missionId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string MissionId {
    get { return missionId_; }
    set {
      missionId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScMissionDeleted);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScMissionDeleted other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (MissionId != other.MissionId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (MissionId.Length != 0) hash ^= MissionId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (MissionId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(MissionId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (MissionId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(MissionId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScMissionDeleted other) {
    if (other == null) {
      return;
    }
    if (other.MissionId.Length != 0) {
      MissionId = other.MissionId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          MissionId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class ScTrackMissionChange : pb::IMessage<ScTrackMissionChange> {
  private static readonly pb::MessageParser<ScTrackMissionChange> _parser = new pb::MessageParser<ScTrackMissionChange>(() => new ScTrackMissionChange());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScTrackMissionChange> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[760]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScTrackMissionChange() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScTrackMissionChange(ScTrackMissionChange other) : this() {
    missionId_ = other.missionId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScTrackMissionChange Clone() {
    return new ScTrackMissionChange(this);
  }

  /// <summary>Field number for the "mission_id" field.</summary>
  public const int MissionIdFieldNumber = 1;
  private string missionId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string MissionId {
    get { return missionId_; }
    set {
      missionId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScTrackMissionChange);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScTrackMissionChange other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (MissionId != other.MissionId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (MissionId.Length != 0) hash ^= MissionId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (MissionId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(MissionId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (MissionId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(MissionId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScTrackMissionChange other) {
    if (other == null) {
      return;
    }
    if (other.MissionId.Length != 0) {
      MissionId = other.MissionId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          MissionId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class ScQuestObjectivesUpdate : pb::IMessage<ScQuestObjectivesUpdate> {
  private static readonly pb::MessageParser<ScQuestObjectivesUpdate> _parser = new pb::MessageParser<ScQuestObjectivesUpdate>(() => new ScQuestObjectivesUpdate());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScQuestObjectivesUpdate> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[761]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScQuestObjectivesUpdate() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScQuestObjectivesUpdate(ScQuestObjectivesUpdate other) : this() {
    questId_ = other.questId_;
    questObjectives_ = other.questObjectives_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScQuestObjectivesUpdate Clone() {
    return new ScQuestObjectivesUpdate(this);
  }

  /// <summary>Field number for the "quest_id" field.</summary>
  public const int QuestIdFieldNumber = 1;
  private string questId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string QuestId {
    get { return questId_; }
    set {
      questId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "quest_objectives" field.</summary>
  public const int QuestObjectivesFieldNumber = 4;
  private static readonly pb::FieldCodec<global::QuestObjective> _repeated_questObjectives_codec
      = pb::FieldCodec.ForMessage(34, global::QuestObjective.Parser);
  private readonly pbc::RepeatedField<global::QuestObjective> questObjectives_ = new pbc::RepeatedField<global::QuestObjective>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::QuestObjective> QuestObjectives {
    get { return questObjectives_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScQuestObjectivesUpdate);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScQuestObjectivesUpdate other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (QuestId != other.QuestId) return false;
    if(!questObjectives_.Equals(other.questObjectives_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (QuestId.Length != 0) hash ^= QuestId.GetHashCode();
    hash ^= questObjectives_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (QuestId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(QuestId);
    }
    questObjectives_.WriteTo(output, _repeated_questObjectives_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (QuestId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(QuestId);
    }
    size += questObjectives_.CalculateSize(_repeated_questObjectives_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScQuestObjectivesUpdate other) {
    if (other == null) {
      return;
    }
    if (other.QuestId.Length != 0) {
      QuestId = other.QuestId;
    }
    questObjectives_.Add(other.questObjectives_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          QuestId = input.ReadString();
          break;
        }
        case 34: {
          questObjectives_.AddEntriesFrom(input, _repeated_questObjectives_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScQuestRollback : pb::IMessage<ScQuestRollback> {
  private static readonly pb::MessageParser<ScQuestRollback> _parser = new pb::MessageParser<ScQuestRollback>(() => new ScQuestRollback());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScQuestRollback> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[762]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScQuestRollback() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScQuestRollback(ScQuestRollback other) : this() {
    questId_ = other.questId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScQuestRollback Clone() {
    return new ScQuestRollback(this);
  }

  /// <summary>Field number for the "quest_id" field.</summary>
  public const int QuestIdFieldNumber = 1;
  private string questId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string QuestId {
    get { return questId_; }
    set {
      questId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScQuestRollback);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScQuestRollback other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (QuestId != other.QuestId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (QuestId.Length != 0) hash ^= QuestId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (QuestId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(QuestId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (QuestId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(QuestId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScQuestRollback other) {
    if (other == null) {
      return;
    }
    if (other.QuestId.Length != 0) {
      QuestId = other.QuestId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          QuestId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class ScSceneTriggerClientMissionEvent : pb::IMessage<ScSceneTriggerClientMissionEvent> {
  private static readonly pb::MessageParser<ScSceneTriggerClientMissionEvent> _parser = new pb::MessageParser<ScSceneTriggerClientMissionEvent>(() => new ScSceneTriggerClientMissionEvent());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSceneTriggerClientMissionEvent> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[763]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneTriggerClientMissionEvent() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneTriggerClientMissionEvent(ScSceneTriggerClientMissionEvent other) : this() {
    missionId_ = other.missionId_;
    eventName_ = other.eventName_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneTriggerClientMissionEvent Clone() {
    return new ScSceneTriggerClientMissionEvent(this);
  }

  /// <summary>Field number for the "mission_id" field.</summary>
  public const int MissionIdFieldNumber = 1;
  private string missionId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string MissionId {
    get { return missionId_; }
    set {
      missionId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "event_name" field.</summary>
  public const int EventNameFieldNumber = 2;
  private string eventName_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string EventName {
    get { return eventName_; }
    set {
      eventName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSceneTriggerClientMissionEvent);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSceneTriggerClientMissionEvent other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (MissionId != other.MissionId) return false;
    if (EventName != other.EventName) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (MissionId.Length != 0) hash ^= MissionId.GetHashCode();
    if (EventName.Length != 0) hash ^= EventName.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (MissionId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(MissionId);
    }
    if (EventName.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(EventName);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (MissionId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(MissionId);
    }
    if (EventName.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(EventName);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSceneTriggerClientMissionEvent other) {
    if (other == null) {
      return;
    }
    if (other.MissionId.Length != 0) {
      MissionId = other.MissionId;
    }
    if (other.EventName.Length != 0) {
      EventName = other.EventName;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          MissionId = input.ReadString();
          break;
        }
        case 18: {
          EventName = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class CsRollBlocMission : pb::IMessage<CsRollBlocMission> {
  private static readonly pb::MessageParser<CsRollBlocMission> _parser = new pb::MessageParser<CsRollBlocMission>(() => new CsRollBlocMission());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsRollBlocMission> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[764]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsRollBlocMission() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsRollBlocMission(CsRollBlocMission other) : this() {
    blocId_ = other.blocId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsRollBlocMission Clone() {
    return new CsRollBlocMission(this);
  }

  /// <summary>Field number for the "bloc_id" field.</summary>
  public const int BlocIdFieldNumber = 1;
  private string blocId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string BlocId {
    get { return blocId_; }
    set {
      blocId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsRollBlocMission);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsRollBlocMission other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (BlocId != other.BlocId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (BlocId.Length != 0) hash ^= BlocId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (BlocId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(BlocId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (BlocId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(BlocId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsRollBlocMission other) {
    if (other == null) {
      return;
    }
    if (other.BlocId.Length != 0) {
      BlocId = other.BlocId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          BlocId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class ScRollBlocMission : pb::IMessage<ScRollBlocMission> {
  private static readonly pb::MessageParser<ScRollBlocMission> _parser = new pb::MessageParser<ScRollBlocMission>(() => new ScRollBlocMission());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScRollBlocMission> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[765]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScRollBlocMission() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScRollBlocMission(ScRollBlocMission other) : this() {
    blocId_ = other.blocId_;
    missionId_ = other.missionId_;
    rollCount_ = other.rollCount_;
    nextRefreshTine_ = other.nextRefreshTine_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScRollBlocMission Clone() {
    return new ScRollBlocMission(this);
  }

  /// <summary>Field number for the "bloc_id" field.</summary>
  public const int BlocIdFieldNumber = 1;
  private string blocId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string BlocId {
    get { return blocId_; }
    set {
      blocId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "mission_id" field.</summary>
  public const int MissionIdFieldNumber = 2;
  private string missionId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string MissionId {
    get { return missionId_; }
    set {
      missionId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "roll_count" field.</summary>
  public const int RollCountFieldNumber = 3;
  private long rollCount_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long RollCount {
    get { return rollCount_; }
    set {
      rollCount_ = value;
    }
  }

  /// <summary>Field number for the "next_refresh_tine" field.</summary>
  public const int NextRefreshTineFieldNumber = 4;
  private long nextRefreshTine_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long NextRefreshTine {
    get { return nextRefreshTine_; }
    set {
      nextRefreshTine_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScRollBlocMission);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScRollBlocMission other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (BlocId != other.BlocId) return false;
    if (MissionId != other.MissionId) return false;
    if (RollCount != other.RollCount) return false;
    if (NextRefreshTine != other.NextRefreshTine) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (BlocId.Length != 0) hash ^= BlocId.GetHashCode();
    if (MissionId.Length != 0) hash ^= MissionId.GetHashCode();
    if (RollCount != 0L) hash ^= RollCount.GetHashCode();
    if (NextRefreshTine != 0L) hash ^= NextRefreshTine.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (BlocId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(BlocId);
    }
    if (MissionId.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(MissionId);
    }
    if (RollCount != 0L) {
      output.WriteRawTag(24);
      output.WriteInt64(RollCount);
    }
    if (NextRefreshTine != 0L) {
      output.WriteRawTag(32);
      output.WriteInt64(NextRefreshTine);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (BlocId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(BlocId);
    }
    if (MissionId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(MissionId);
    }
    if (RollCount != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(RollCount);
    }
    if (NextRefreshTine != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(NextRefreshTine);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScRollBlocMission other) {
    if (other == null) {
      return;
    }
    if (other.BlocId.Length != 0) {
      BlocId = other.BlocId;
    }
    if (other.MissionId.Length != 0) {
      MissionId = other.MissionId;
    }
    if (other.RollCount != 0L) {
      RollCount = other.RollCount;
    }
    if (other.NextRefreshTine != 0L) {
      NextRefreshTine = other.NextRefreshTine;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          BlocId = input.ReadString();
          break;
        }
        case 18: {
          MissionId = input.ReadString();
          break;
        }
        case 24: {
          RollCount = input.ReadInt64();
          break;
        }
        case 32: {
          NextRefreshTine = input.ReadInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class ScSyncBlocMissionInfo : pb::IMessage<ScSyncBlocMissionInfo> {
  private static readonly pb::MessageParser<ScSyncBlocMissionInfo> _parser = new pb::MessageParser<ScSyncBlocMissionInfo>(() => new ScSyncBlocMissionInfo());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSyncBlocMissionInfo> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[766]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncBlocMissionInfo() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncBlocMissionInfo(ScSyncBlocMissionInfo other) : this() {
    blocMissions_ = other.blocMissions_.Clone();
    rewardGot_ = other.rewardGot_;
    rollCount_ = other.rollCount_;
    nextRefreshTine_ = other.nextRefreshTine_;
    completedNum_ = other.completedNum_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncBlocMissionInfo Clone() {
    return new ScSyncBlocMissionInfo(this);
  }

  /// <summary>Field number for the "bloc_missions" field.</summary>
  public const int BlocMissionsFieldNumber = 1;
  private static readonly pbc::MapField<string, string>.Codec _map_blocMissions_codec
      = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForString(18), 10);
  private readonly pbc::MapField<string, string> blocMissions_ = new pbc::MapField<string, string>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<string, string> BlocMissions {
    get { return blocMissions_; }
  }

  /// <summary>Field number for the "reward_got" field.</summary>
  public const int RewardGotFieldNumber = 2;
  private bool rewardGot_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool RewardGot {
    get { return rewardGot_; }
    set {
      rewardGot_ = value;
    }
  }

  /// <summary>Field number for the "roll_count" field.</summary>
  public const int RollCountFieldNumber = 3;
  private long rollCount_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long RollCount {
    get { return rollCount_; }
    set {
      rollCount_ = value;
    }
  }

  /// <summary>Field number for the "next_refresh_tine" field.</summary>
  public const int NextRefreshTineFieldNumber = 4;
  private long nextRefreshTine_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long NextRefreshTine {
    get { return nextRefreshTine_; }
    set {
      nextRefreshTine_ = value;
    }
  }

  /// <summary>Field number for the "completed_num" field.</summary>
  public const int CompletedNumFieldNumber = 5;
  private int completedNum_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CompletedNum {
    get { return completedNum_; }
    set {
      completedNum_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSyncBlocMissionInfo);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSyncBlocMissionInfo other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!BlocMissions.Equals(other.BlocMissions)) return false;
    if (RewardGot != other.RewardGot) return false;
    if (RollCount != other.RollCount) return false;
    if (NextRefreshTine != other.NextRefreshTine) return false;
    if (CompletedNum != other.CompletedNum) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= BlocMissions.GetHashCode();
    if (RewardGot != false) hash ^= RewardGot.GetHashCode();
    if (RollCount != 0L) hash ^= RollCount.GetHashCode();
    if (NextRefreshTine != 0L) hash ^= NextRefreshTine.GetHashCode();
    if (CompletedNum != 0) hash ^= CompletedNum.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    blocMissions_.WriteTo(output, _map_blocMissions_codec);
    if (RewardGot != false) {
      output.WriteRawTag(16);
      output.WriteBool(RewardGot);
    }
    if (RollCount != 0L) {
      output.WriteRawTag(24);
      output.WriteInt64(RollCount);
    }
    if (NextRefreshTine != 0L) {
      output.WriteRawTag(32);
      output.WriteInt64(NextRefreshTine);
    }
    if (CompletedNum != 0) {
      output.WriteRawTag(40);
      output.WriteInt32(CompletedNum);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += blocMissions_.CalculateSize(_map_blocMissions_codec);
    if (RewardGot != false) {
      size += 1 + 1;
    }
    if (RollCount != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(RollCount);
    }
    if (NextRefreshTine != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(NextRefreshTine);
    }
    if (CompletedNum != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(CompletedNum);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSyncBlocMissionInfo other) {
    if (other == null) {
      return;
    }
    blocMissions_.Add(other.blocMissions_);
    if (other.RewardGot != false) {
      RewardGot = other.RewardGot;
    }
    if (other.RollCount != 0L) {
      RollCount = other.RollCount;
    }
    if (other.NextRefreshTine != 0L) {
      NextRefreshTine = other.NextRefreshTine;
    }
    if (other.CompletedNum != 0) {
      CompletedNum = other.CompletedNum;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          blocMissions_.AddEntriesFrom(input, _map_blocMissions_codec);
          break;
        }
        case 16: {
          RewardGot = input.ReadBool();
          break;
        }
        case 24: {
          RollCount = input.ReadInt64();
          break;
        }
        case 32: {
          NextRefreshTine = input.ReadInt64();
          break;
        }
        case 40: {
          CompletedNum = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScBlocCompletedMissionNumUpdate : pb::IMessage<ScBlocCompletedMissionNumUpdate> {
  private static readonly pb::MessageParser<ScBlocCompletedMissionNumUpdate> _parser = new pb::MessageParser<ScBlocCompletedMissionNumUpdate>(() => new ScBlocCompletedMissionNumUpdate());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScBlocCompletedMissionNumUpdate> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[767]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScBlocCompletedMissionNumUpdate() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScBlocCompletedMissionNumUpdate(ScBlocCompletedMissionNumUpdate other) : this() {
    completedNum_ = other.completedNum_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScBlocCompletedMissionNumUpdate Clone() {
    return new ScBlocCompletedMissionNumUpdate(this);
  }

  /// <summary>Field number for the "completed_num" field.</summary>
  public const int CompletedNumFieldNumber = 1;
  private int completedNum_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CompletedNum {
    get { return completedNum_; }
    set {
      completedNum_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScBlocCompletedMissionNumUpdate);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScBlocCompletedMissionNumUpdate other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (CompletedNum != other.CompletedNum) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (CompletedNum != 0) hash ^= CompletedNum.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (CompletedNum != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(CompletedNum);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (CompletedNum != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(CompletedNum);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScBlocCompletedMissionNumUpdate other) {
    if (other == null) {
      return;
    }
    if (other.CompletedNum != 0) {
      CompletedNum = other.CompletedNum;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          CompletedNum = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScSceneMonsterSpawnerStart : pb::IMessage<ScSceneMonsterSpawnerStart> {
  private static readonly pb::MessageParser<ScSceneMonsterSpawnerStart> _parser = new pb::MessageParser<ScSceneMonsterSpawnerStart>(() => new ScSceneMonsterSpawnerStart());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSceneMonsterSpawnerStart> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[768]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneMonsterSpawnerStart() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneMonsterSpawnerStart(ScSceneMonsterSpawnerStart other) : this() {
    sceneNumId_ = other.sceneNumId_;
    spawnerId_ = other.spawnerId_;
    enabledHiddenWaveKeyList_ = other.enabledHiddenWaveKeyList_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneMonsterSpawnerStart Clone() {
    return new ScSceneMonsterSpawnerStart(this);
  }

  /// <summary>Field number for the "scene_num_id" field.</summary>
  public const int SceneNumIdFieldNumber = 1;
  private int sceneNumId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int SceneNumId {
    get { return sceneNumId_; }
    set {
      sceneNumId_ = value;
    }
  }

  /// <summary>Field number for the "spawner_id" field.</summary>
  public const int SpawnerIdFieldNumber = 2;
  private ulong spawnerId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong SpawnerId {
    get { return spawnerId_; }
    set {
      spawnerId_ = value;
    }
  }

  /// <summary>Field number for the "enabled_hidden_wave_key_list" field.</summary>
  public const int EnabledHiddenWaveKeyListFieldNumber = 3;
  private static readonly pb::FieldCodec<string> _repeated_enabledHiddenWaveKeyList_codec
      = pb::FieldCodec.ForString(26);
  private readonly pbc::RepeatedField<string> enabledHiddenWaveKeyList_ = new pbc::RepeatedField<string>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<string> EnabledHiddenWaveKeyList {
    get { return enabledHiddenWaveKeyList_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSceneMonsterSpawnerStart);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSceneMonsterSpawnerStart other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SceneNumId != other.SceneNumId) return false;
    if (SpawnerId != other.SpawnerId) return false;
    if(!enabledHiddenWaveKeyList_.Equals(other.enabledHiddenWaveKeyList_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SceneNumId != 0) hash ^= SceneNumId.GetHashCode();
    if (SpawnerId != 0UL) hash ^= SpawnerId.GetHashCode();
    hash ^= enabledHiddenWaveKeyList_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SceneNumId != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(SceneNumId);
    }
    if (SpawnerId != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(SpawnerId);
    }
    enabledHiddenWaveKeyList_.WriteTo(output, _repeated_enabledHiddenWaveKeyList_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SceneNumId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(SceneNumId);
    }
    if (SpawnerId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(SpawnerId);
    }
    size += enabledHiddenWaveKeyList_.CalculateSize(_repeated_enabledHiddenWaveKeyList_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSceneMonsterSpawnerStart other) {
    if (other == null) {
      return;
    }
    if (other.SceneNumId != 0) {
      SceneNumId = other.SceneNumId;
    }
    if (other.SpawnerId != 0UL) {
      SpawnerId = other.SpawnerId;
    }
    enabledHiddenWaveKeyList_.Add(other.enabledHiddenWaveKeyList_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          SceneNumId = input.ReadInt32();
          break;
        }
        case 16: {
          SpawnerId = input.ReadUInt64();
          break;
        }
        case 26: {
          enabledHiddenWaveKeyList_.AddEntriesFrom(input, _repeated_enabledHiddenWaveKeyList_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScSceneMonsterSpawnerStop : pb::IMessage<ScSceneMonsterSpawnerStop> {
  private static readonly pb::MessageParser<ScSceneMonsterSpawnerStop> _parser = new pb::MessageParser<ScSceneMonsterSpawnerStop>(() => new ScSceneMonsterSpawnerStop());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSceneMonsterSpawnerStop> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[769]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneMonsterSpawnerStop() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneMonsterSpawnerStop(ScSceneMonsterSpawnerStop other) : this() {
    sceneNumId_ = other.sceneNumId_;
    spawnerId_ = other.spawnerId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneMonsterSpawnerStop Clone() {
    return new ScSceneMonsterSpawnerStop(this);
  }

  /// <summary>Field number for the "scene_num_id" field.</summary>
  public const int SceneNumIdFieldNumber = 1;
  private int sceneNumId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int SceneNumId {
    get { return sceneNumId_; }
    set {
      sceneNumId_ = value;
    }
  }

  /// <summary>Field number for the "spawner_id" field.</summary>
  public const int SpawnerIdFieldNumber = 2;
  private ulong spawnerId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong SpawnerId {
    get { return spawnerId_; }
    set {
      spawnerId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSceneMonsterSpawnerStop);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSceneMonsterSpawnerStop other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SceneNumId != other.SceneNumId) return false;
    if (SpawnerId != other.SpawnerId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SceneNumId != 0) hash ^= SceneNumId.GetHashCode();
    if (SpawnerId != 0UL) hash ^= SpawnerId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SceneNumId != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(SceneNumId);
    }
    if (SpawnerId != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(SpawnerId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SceneNumId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(SceneNumId);
    }
    if (SpawnerId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(SpawnerId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSceneMonsterSpawnerStop other) {
    if (other == null) {
      return;
    }
    if (other.SceneNumId != 0) {
      SceneNumId = other.SceneNumId;
    }
    if (other.SpawnerId != 0UL) {
      SpawnerId = other.SpawnerId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          SceneNumId = input.ReadInt32();
          break;
        }
        case 16: {
          SpawnerId = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class ScSceneMonsterSpawnerComplete : pb::IMessage<ScSceneMonsterSpawnerComplete> {
  private static readonly pb::MessageParser<ScSceneMonsterSpawnerComplete> _parser = new pb::MessageParser<ScSceneMonsterSpawnerComplete>(() => new ScSceneMonsterSpawnerComplete());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSceneMonsterSpawnerComplete> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[770]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneMonsterSpawnerComplete() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneMonsterSpawnerComplete(ScSceneMonsterSpawnerComplete other) : this() {
    sceneNumId_ = other.sceneNumId_;
    spawnerId_ = other.spawnerId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneMonsterSpawnerComplete Clone() {
    return new ScSceneMonsterSpawnerComplete(this);
  }

  /// <summary>Field number for the "scene_num_id" field.</summary>
  public const int SceneNumIdFieldNumber = 1;
  private int sceneNumId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int SceneNumId {
    get { return sceneNumId_; }
    set {
      sceneNumId_ = value;
    }
  }

  /// <summary>Field number for the "spawner_id" field.</summary>
  public const int SpawnerIdFieldNumber = 2;
  private ulong spawnerId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong SpawnerId {
    get { return spawnerId_; }
    set {
      spawnerId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSceneMonsterSpawnerComplete);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSceneMonsterSpawnerComplete other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SceneNumId != other.SceneNumId) return false;
    if (SpawnerId != other.SpawnerId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SceneNumId != 0) hash ^= SceneNumId.GetHashCode();
    if (SpawnerId != 0UL) hash ^= SpawnerId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SceneNumId != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(SceneNumId);
    }
    if (SpawnerId != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(SpawnerId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SceneNumId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(SceneNumId);
    }
    if (SpawnerId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(SpawnerId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSceneMonsterSpawnerComplete other) {
    if (other == null) {
      return;
    }
    if (other.SceneNumId != 0) {
      SceneNumId = other.SceneNumId;
    }
    if (other.SpawnerId != 0UL) {
      SpawnerId = other.SpawnerId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          SceneNumId = input.ReadInt32();
          break;
        }
        case 16: {
          SpawnerId = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class CsSceneMonsterSpawnerBeginWave : pb::IMessage<CsSceneMonsterSpawnerBeginWave> {
  private static readonly pb::MessageParser<CsSceneMonsterSpawnerBeginWave> _parser = new pb::MessageParser<CsSceneMonsterSpawnerBeginWave>(() => new CsSceneMonsterSpawnerBeginWave());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsSceneMonsterSpawnerBeginWave> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[771]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneMonsterSpawnerBeginWave() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneMonsterSpawnerBeginWave(CsSceneMonsterSpawnerBeginWave other) : this() {
    sceneNumId_ = other.sceneNumId_;
    spawnerId_ = other.spawnerId_;
    waveId_ = other.waveId_;
    clientTimestamp_ = other.clientTimestamp_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneMonsterSpawnerBeginWave Clone() {
    return new CsSceneMonsterSpawnerBeginWave(this);
  }

  /// <summary>Field number for the "scene_num_id" field.</summary>
  public const int SceneNumIdFieldNumber = 1;
  private int sceneNumId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int SceneNumId {
    get { return sceneNumId_; }
    set {
      sceneNumId_ = value;
    }
  }

  /// <summary>Field number for the "spawner_id" field.</summary>
  public const int SpawnerIdFieldNumber = 2;
  private ulong spawnerId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong SpawnerId {
    get { return spawnerId_; }
    set {
      spawnerId_ = value;
    }
  }

  /// <summary>Field number for the "wave_id" field.</summary>
  public const int WaveIdFieldNumber = 3;
  private int waveId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int WaveId {
    get { return waveId_; }
    set {
      waveId_ = value;
    }
  }

  /// <summary>Field number for the "client_timestamp" field.</summary>
  public const int ClientTimestampFieldNumber = 4;
  private double clientTimestamp_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public double ClientTimestamp {
    get { return clientTimestamp_; }
    set {
      clientTimestamp_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsSceneMonsterSpawnerBeginWave);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsSceneMonsterSpawnerBeginWave other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SceneNumId != other.SceneNumId) return false;
    if (SpawnerId != other.SpawnerId) return false;
    if (WaveId != other.WaveId) return false;
    if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(ClientTimestamp, other.ClientTimestamp)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SceneNumId != 0) hash ^= SceneNumId.GetHashCode();
    if (SpawnerId != 0UL) hash ^= SpawnerId.GetHashCode();
    if (WaveId != 0) hash ^= WaveId.GetHashCode();
    if (ClientTimestamp != 0D) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(ClientTimestamp);
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SceneNumId != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(SceneNumId);
    }
    if (SpawnerId != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(SpawnerId);
    }
    if (WaveId != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(WaveId);
    }
    if (ClientTimestamp != 0D) {
      output.WriteRawTag(33);
      output.WriteDouble(ClientTimestamp);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SceneNumId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(SceneNumId);
    }
    if (SpawnerId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(SpawnerId);
    }
    if (WaveId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(WaveId);
    }
    if (ClientTimestamp != 0D) {
      size += 1 + 8;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsSceneMonsterSpawnerBeginWave other) {
    if (other == null) {
      return;
    }
    if (other.SceneNumId != 0) {
      SceneNumId = other.SceneNumId;
    }
    if (other.SpawnerId != 0UL) {
      SpawnerId = other.SpawnerId;
    }
    if (other.WaveId != 0) {
      WaveId = other.WaveId;
    }
    if (other.ClientTimestamp != 0D) {
      ClientTimestamp = other.ClientTimestamp;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          SceneNumId = input.ReadInt32();
          break;
        }
        case 16: {
          SpawnerId = input.ReadUInt64();
          break;
        }
        case 24: {
          WaveId = input.ReadInt32();
          break;
        }
        case 33: {
          ClientTimestamp = input.ReadDouble();
          break;
        }
      }
    }
  }

}

public sealed partial class ScSceneMonsterSpawnerWaveComplete : pb::IMessage<ScSceneMonsterSpawnerWaveComplete> {
  private static readonly pb::MessageParser<ScSceneMonsterSpawnerWaveComplete> _parser = new pb::MessageParser<ScSceneMonsterSpawnerWaveComplete>(() => new ScSceneMonsterSpawnerWaveComplete());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSceneMonsterSpawnerWaveComplete> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[772]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneMonsterSpawnerWaveComplete() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneMonsterSpawnerWaveComplete(ScSceneMonsterSpawnerWaveComplete other) : this() {
    sceneNumId_ = other.sceneNumId_;
    spawnerId_ = other.spawnerId_;
    waveId_ = other.waveId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneMonsterSpawnerWaveComplete Clone() {
    return new ScSceneMonsterSpawnerWaveComplete(this);
  }

  /// <summary>Field number for the "scene_num_id" field.</summary>
  public const int SceneNumIdFieldNumber = 1;
  private int sceneNumId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int SceneNumId {
    get { return sceneNumId_; }
    set {
      sceneNumId_ = value;
    }
  }

  /// <summary>Field number for the "spawner_id" field.</summary>
  public const int SpawnerIdFieldNumber = 2;
  private ulong spawnerId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong SpawnerId {
    get { return spawnerId_; }
    set {
      spawnerId_ = value;
    }
  }

  /// <summary>Field number for the "wave_id" field.</summary>
  public const int WaveIdFieldNumber = 3;
  private int waveId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int WaveId {
    get { return waveId_; }
    set {
      waveId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSceneMonsterSpawnerWaveComplete);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSceneMonsterSpawnerWaveComplete other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SceneNumId != other.SceneNumId) return false;
    if (SpawnerId != other.SpawnerId) return false;
    if (WaveId != other.WaveId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SceneNumId != 0) hash ^= SceneNumId.GetHashCode();
    if (SpawnerId != 0UL) hash ^= SpawnerId.GetHashCode();
    if (WaveId != 0) hash ^= WaveId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SceneNumId != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(SceneNumId);
    }
    if (SpawnerId != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(SpawnerId);
    }
    if (WaveId != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(WaveId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SceneNumId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(SceneNumId);
    }
    if (SpawnerId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(SpawnerId);
    }
    if (WaveId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(WaveId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSceneMonsterSpawnerWaveComplete other) {
    if (other == null) {
      return;
    }
    if (other.SceneNumId != 0) {
      SceneNumId = other.SceneNumId;
    }
    if (other.SpawnerId != 0UL) {
      SpawnerId = other.SpawnerId;
    }
    if (other.WaveId != 0) {
      WaveId = other.WaveId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          SceneNumId = input.ReadInt32();
          break;
        }
        case 16: {
          SpawnerId = input.ReadUInt64();
          break;
        }
        case 24: {
          WaveId = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScSceneMonsterSpawnerBeginWave : pb::IMessage<ScSceneMonsterSpawnerBeginWave> {
  private static readonly pb::MessageParser<ScSceneMonsterSpawnerBeginWave> _parser = new pb::MessageParser<ScSceneMonsterSpawnerBeginWave>(() => new ScSceneMonsterSpawnerBeginWave());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSceneMonsterSpawnerBeginWave> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[773]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneMonsterSpawnerBeginWave() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneMonsterSpawnerBeginWave(ScSceneMonsterSpawnerBeginWave other) : this() {
    sceneNumId_ = other.sceneNumId_;
    spawnerId_ = other.spawnerId_;
    waveId_ = other.waveId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneMonsterSpawnerBeginWave Clone() {
    return new ScSceneMonsterSpawnerBeginWave(this);
  }

  /// <summary>Field number for the "scene_num_id" field.</summary>
  public const int SceneNumIdFieldNumber = 1;
  private int sceneNumId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int SceneNumId {
    get { return sceneNumId_; }
    set {
      sceneNumId_ = value;
    }
  }

  /// <summary>Field number for the "spawner_id" field.</summary>
  public const int SpawnerIdFieldNumber = 2;
  private ulong spawnerId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong SpawnerId {
    get { return spawnerId_; }
    set {
      spawnerId_ = value;
    }
  }

  /// <summary>Field number for the "wave_id" field.</summary>
  public const int WaveIdFieldNumber = 3;
  private int waveId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int WaveId {
    get { return waveId_; }
    set {
      waveId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSceneMonsterSpawnerBeginWave);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSceneMonsterSpawnerBeginWave other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SceneNumId != other.SceneNumId) return false;
    if (SpawnerId != other.SpawnerId) return false;
    if (WaveId != other.WaveId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SceneNumId != 0) hash ^= SceneNumId.GetHashCode();
    if (SpawnerId != 0UL) hash ^= SpawnerId.GetHashCode();
    if (WaveId != 0) hash ^= WaveId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SceneNumId != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(SceneNumId);
    }
    if (SpawnerId != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(SpawnerId);
    }
    if (WaveId != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(WaveId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SceneNumId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(SceneNumId);
    }
    if (SpawnerId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(SpawnerId);
    }
    if (WaveId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(WaveId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSceneMonsterSpawnerBeginWave other) {
    if (other == null) {
      return;
    }
    if (other.SceneNumId != 0) {
      SceneNumId = other.SceneNumId;
    }
    if (other.SpawnerId != 0UL) {
      SpawnerId = other.SpawnerId;
    }
    if (other.WaveId != 0) {
      WaveId = other.WaveId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          SceneNumId = input.ReadInt32();
          break;
        }
        case 16: {
          SpawnerId = input.ReadUInt64();
          break;
        }
        case 24: {
          WaveId = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScSceneMonsterSpawnerObjectDataBegin : pb::IMessage<ScSceneMonsterSpawnerObjectDataBegin> {
  private static readonly pb::MessageParser<ScSceneMonsterSpawnerObjectDataBegin> _parser = new pb::MessageParser<ScSceneMonsterSpawnerObjectDataBegin>(() => new ScSceneMonsterSpawnerObjectDataBegin());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSceneMonsterSpawnerObjectDataBegin> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[774]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneMonsterSpawnerObjectDataBegin() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneMonsterSpawnerObjectDataBegin(ScSceneMonsterSpawnerObjectDataBegin other) : this() {
    sceneNumId_ = other.sceneNumId_;
    spawnerId_ = other.spawnerId_;
    waveId_ = other.waveId_;
    groupId_ = other.groupId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneMonsterSpawnerObjectDataBegin Clone() {
    return new ScSceneMonsterSpawnerObjectDataBegin(this);
  }

  /// <summary>Field number for the "scene_num_id" field.</summary>
  public const int SceneNumIdFieldNumber = 1;
  private int sceneNumId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int SceneNumId {
    get { return sceneNumId_; }
    set {
      sceneNumId_ = value;
    }
  }

  /// <summary>Field number for the "spawner_id" field.</summary>
  public const int SpawnerIdFieldNumber = 2;
  private ulong spawnerId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong SpawnerId {
    get { return spawnerId_; }
    set {
      spawnerId_ = value;
    }
  }

  /// <summary>Field number for the "wave_id" field.</summary>
  public const int WaveIdFieldNumber = 3;
  private int waveId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int WaveId {
    get { return waveId_; }
    set {
      waveId_ = value;
    }
  }

  /// <summary>Field number for the "group_id" field.</summary>
  public const int GroupIdFieldNumber = 4;
  private int groupId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int GroupId {
    get { return groupId_; }
    set {
      groupId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSceneMonsterSpawnerObjectDataBegin);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSceneMonsterSpawnerObjectDataBegin other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SceneNumId != other.SceneNumId) return false;
    if (SpawnerId != other.SpawnerId) return false;
    if (WaveId != other.WaveId) return false;
    if (GroupId != other.GroupId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SceneNumId != 0) hash ^= SceneNumId.GetHashCode();
    if (SpawnerId != 0UL) hash ^= SpawnerId.GetHashCode();
    if (WaveId != 0) hash ^= WaveId.GetHashCode();
    if (GroupId != 0) hash ^= GroupId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SceneNumId != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(SceneNumId);
    }
    if (SpawnerId != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(SpawnerId);
    }
    if (WaveId != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(WaveId);
    }
    if (GroupId != 0) {
      output.WriteRawTag(32);
      output.WriteInt32(GroupId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SceneNumId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(SceneNumId);
    }
    if (SpawnerId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(SpawnerId);
    }
    if (WaveId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(WaveId);
    }
    if (GroupId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(GroupId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSceneMonsterSpawnerObjectDataBegin other) {
    if (other == null) {
      return;
    }
    if (other.SceneNumId != 0) {
      SceneNumId = other.SceneNumId;
    }
    if (other.SpawnerId != 0UL) {
      SpawnerId = other.SpawnerId;
    }
    if (other.WaveId != 0) {
      WaveId = other.WaveId;
    }
    if (other.GroupId != 0) {
      GroupId = other.GroupId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          SceneNumId = input.ReadInt32();
          break;
        }
        case 16: {
          SpawnerId = input.ReadUInt64();
          break;
        }
        case 24: {
          WaveId = input.ReadInt32();
          break;
        }
        case 32: {
          GroupId = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScSceneMonsterSpawnerObjectDataEnd : pb::IMessage<ScSceneMonsterSpawnerObjectDataEnd> {
  private static readonly pb::MessageParser<ScSceneMonsterSpawnerObjectDataEnd> _parser = new pb::MessageParser<ScSceneMonsterSpawnerObjectDataEnd>(() => new ScSceneMonsterSpawnerObjectDataEnd());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSceneMonsterSpawnerObjectDataEnd> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[775]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneMonsterSpawnerObjectDataEnd() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneMonsterSpawnerObjectDataEnd(ScSceneMonsterSpawnerObjectDataEnd other) : this() {
    sceneNumId_ = other.sceneNumId_;
    spawnerId_ = other.spawnerId_;
    waveId_ = other.waveId_;
    groupId_ = other.groupId_;
    details_ = other.details_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneMonsterSpawnerObjectDataEnd Clone() {
    return new ScSceneMonsterSpawnerObjectDataEnd(this);
  }

  /// <summary>Field number for the "scene_num_id" field.</summary>
  public const int SceneNumIdFieldNumber = 1;
  private int sceneNumId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int SceneNumId {
    get { return sceneNumId_; }
    set {
      sceneNumId_ = value;
    }
  }

  /// <summary>Field number for the "spawner_id" field.</summary>
  public const int SpawnerIdFieldNumber = 2;
  private ulong spawnerId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong SpawnerId {
    get { return spawnerId_; }
    set {
      spawnerId_ = value;
    }
  }

  /// <summary>Field number for the "wave_id" field.</summary>
  public const int WaveIdFieldNumber = 3;
  private int waveId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int WaveId {
    get { return waveId_; }
    set {
      waveId_ = value;
    }
  }

  /// <summary>Field number for the "group_id" field.</summary>
  public const int GroupIdFieldNumber = 4;
  private int groupId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int GroupId {
    get { return groupId_; }
    set {
      groupId_ = value;
    }
  }

  /// <summary>Field number for the "details" field.</summary>
  public const int DetailsFieldNumber = 5;
  private static readonly pb::FieldCodec<global::SpawnerDetail> _repeated_details_codec
      = pb::FieldCodec.ForMessage(42, global::SpawnerDetail.Parser);
  private readonly pbc::RepeatedField<global::SpawnerDetail> details_ = new pbc::RepeatedField<global::SpawnerDetail>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::SpawnerDetail> Details {
    get { return details_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSceneMonsterSpawnerObjectDataEnd);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSceneMonsterSpawnerObjectDataEnd other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SceneNumId != other.SceneNumId) return false;
    if (SpawnerId != other.SpawnerId) return false;
    if (WaveId != other.WaveId) return false;
    if (GroupId != other.GroupId) return false;
    if(!details_.Equals(other.details_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SceneNumId != 0) hash ^= SceneNumId.GetHashCode();
    if (SpawnerId != 0UL) hash ^= SpawnerId.GetHashCode();
    if (WaveId != 0) hash ^= WaveId.GetHashCode();
    if (GroupId != 0) hash ^= GroupId.GetHashCode();
    hash ^= details_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SceneNumId != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(SceneNumId);
    }
    if (SpawnerId != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(SpawnerId);
    }
    if (WaveId != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(WaveId);
    }
    if (GroupId != 0) {
      output.WriteRawTag(32);
      output.WriteInt32(GroupId);
    }
    details_.WriteTo(output, _repeated_details_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SceneNumId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(SceneNumId);
    }
    if (SpawnerId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(SpawnerId);
    }
    if (WaveId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(WaveId);
    }
    if (GroupId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(GroupId);
    }
    size += details_.CalculateSize(_repeated_details_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSceneMonsterSpawnerObjectDataEnd other) {
    if (other == null) {
      return;
    }
    if (other.SceneNumId != 0) {
      SceneNumId = other.SceneNumId;
    }
    if (other.SpawnerId != 0UL) {
      SpawnerId = other.SpawnerId;
    }
    if (other.WaveId != 0) {
      WaveId = other.WaveId;
    }
    if (other.GroupId != 0) {
      GroupId = other.GroupId;
    }
    details_.Add(other.details_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          SceneNumId = input.ReadInt32();
          break;
        }
        case 16: {
          SpawnerId = input.ReadUInt64();
          break;
        }
        case 24: {
          WaveId = input.ReadInt32();
          break;
        }
        case 32: {
          GroupId = input.ReadInt32();
          break;
        }
        case 42: {
          details_.AddEntriesFrom(input, _repeated_details_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class SpawnerDetail : pb::IMessage<SpawnerDetail> {
  private static readonly pb::MessageParser<SpawnerDetail> _parser = new pb::MessageParser<SpawnerDetail>(() => new SpawnerDetail());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<SpawnerDetail> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[776]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SpawnerDetail() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SpawnerDetail(SpawnerDetail other) : this() {
    objId_ = other.objId_;
    actionId_ = other.actionId_;
    spawnIdx_ = other.spawnIdx_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SpawnerDetail Clone() {
    return new SpawnerDetail(this);
  }

  /// <summary>Field number for the "obj_id" field.</summary>
  public const int ObjIdFieldNumber = 1;
  private ulong objId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong ObjId {
    get { return objId_; }
    set {
      objId_ = value;
    }
  }

  /// <summary>Field number for the "action_id" field.</summary>
  public const int ActionIdFieldNumber = 2;
  private int actionId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ActionId {
    get { return actionId_; }
    set {
      actionId_ = value;
    }
  }

  /// <summary>Field number for the "spawn_idx" field.</summary>
  public const int SpawnIdxFieldNumber = 3;
  private int spawnIdx_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int SpawnIdx {
    get { return spawnIdx_; }
    set {
      spawnIdx_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as SpawnerDetail);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(SpawnerDetail other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ObjId != other.ObjId) return false;
    if (ActionId != other.ActionId) return false;
    if (SpawnIdx != other.SpawnIdx) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ObjId != 0UL) hash ^= ObjId.GetHashCode();
    if (ActionId != 0) hash ^= ActionId.GetHashCode();
    if (SpawnIdx != 0) hash ^= SpawnIdx.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ObjId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(ObjId);
    }
    if (ActionId != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(ActionId);
    }
    if (SpawnIdx != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(SpawnIdx);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ObjId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(ObjId);
    }
    if (ActionId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ActionId);
    }
    if (SpawnIdx != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(SpawnIdx);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(SpawnerDetail other) {
    if (other == null) {
      return;
    }
    if (other.ObjId != 0UL) {
      ObjId = other.ObjId;
    }
    if (other.ActionId != 0) {
      ActionId = other.ActionId;
    }
    if (other.SpawnIdx != 0) {
      SpawnIdx = other.SpawnIdx;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ObjId = input.ReadUInt64();
          break;
        }
        case 16: {
          ActionId = input.ReadInt32();
          break;
        }
        case 24: {
          SpawnIdx = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class CsCreateOrder : pb::IMessage<CsCreateOrder> {
  private static readonly pb::MessageParser<CsCreateOrder> _parser = new pb::MessageParser<CsCreateOrder>(() => new CsCreateOrder());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsCreateOrder> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[777]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsCreateOrder() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsCreateOrder(CsCreateOrder other) : this() {
    productCode_ = other.productCode_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsCreateOrder Clone() {
    return new CsCreateOrder(this);
  }

  /// <summary>Field number for the "product_code" field.</summary>
  public const int ProductCodeFieldNumber = 1;
  private string productCode_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ProductCode {
    get { return productCode_; }
    set {
      productCode_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsCreateOrder);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsCreateOrder other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ProductCode != other.ProductCode) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ProductCode.Length != 0) hash ^= ProductCode.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ProductCode.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(ProductCode);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ProductCode.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ProductCode);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsCreateOrder other) {
    if (other == null) {
      return;
    }
    if (other.ProductCode.Length != 0) {
      ProductCode = other.ProductCode;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          ProductCode = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class ScCreateOrder : pb::IMessage<ScCreateOrder> {
  private static readonly pb::MessageParser<ScCreateOrder> _parser = new pb::MessageParser<ScCreateOrder>(() => new ScCreateOrder());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScCreateOrder> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[778]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScCreateOrder() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScCreateOrder(ScCreateOrder other) : this() {
    signParam_ = other.signParam_;
    productCode_ = other.productCode_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScCreateOrder Clone() {
    return new ScCreateOrder(this);
  }

  /// <summary>Field number for the "sign_param" field.</summary>
  public const int SignParamFieldNumber = 1;
  private string signParam_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string SignParam {
    get { return signParam_; }
    set {
      signParam_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "product_code" field.</summary>
  public const int ProductCodeFieldNumber = 2;
  private string productCode_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ProductCode {
    get { return productCode_; }
    set {
      productCode_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScCreateOrder);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScCreateOrder other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SignParam != other.SignParam) return false;
    if (ProductCode != other.ProductCode) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SignParam.Length != 0) hash ^= SignParam.GetHashCode();
    if (ProductCode.Length != 0) hash ^= ProductCode.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SignParam.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(SignParam);
    }
    if (ProductCode.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(ProductCode);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SignParam.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(SignParam);
    }
    if (ProductCode.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ProductCode);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScCreateOrder other) {
    if (other == null) {
      return;
    }
    if (other.SignParam.Length != 0) {
      SignParam = other.SignParam;
    }
    if (other.ProductCode.Length != 0) {
      ProductCode = other.ProductCode;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          SignParam = input.ReadString();
          break;
        }
        case 18: {
          ProductCode = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class ScOrderMsg : pb::IMessage<ScOrderMsg> {
  private static readonly pb::MessageParser<ScOrderMsg> _parser = new pb::MessageParser<ScOrderMsg>(() => new ScOrderMsg());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScOrderMsg> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[779]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScOrderMsg() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScOrderMsg(ScOrderMsg other) : this() {
    productCode_ = other.productCode_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScOrderMsg Clone() {
    return new ScOrderMsg(this);
  }

  /// <summary>Field number for the "product_code" field.</summary>
  public const int ProductCodeFieldNumber = 1;
  private string productCode_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ProductCode {
    get { return productCode_; }
    set {
      productCode_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScOrderMsg);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScOrderMsg other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ProductCode != other.ProductCode) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ProductCode.Length != 0) hash ^= ProductCode.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ProductCode.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(ProductCode);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ProductCode.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ProductCode);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScOrderMsg other) {
    if (other == null) {
      return;
    }
    if (other.ProductCode.Length != 0) {
      ProductCode = other.ProductCode;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          ProductCode = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class CSHead : pb::IMessage<CSHead> {
  private static readonly pb::MessageParser<CSHead> _parser = new pb::MessageParser<CSHead>(() => new CSHead());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CSHead> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[780]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CSHead() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CSHead(CSHead other) : this() {
    msgid_ = other.msgid_;
    upSeqid_ = other.upSeqid_;
    downSeqid_ = other.downSeqid_;
    totalPackCount_ = other.totalPackCount_;
    currentPackIndex_ = other.currentPackIndex_;
    isCompress_ = other.isCompress_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CSHead Clone() {
    return new CSHead(this);
  }

  /// <summary>Field number for the "msgid" field.</summary>
  public const int MsgidFieldNumber = 1;
  private int msgid_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Msgid {
    get { return msgid_; }
    set {
      msgid_ = value;
    }
  }

  /// <summary>Field number for the "up_seqid" field.</summary>
  public const int UpSeqidFieldNumber = 2;
  private ulong upSeqid_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong UpSeqid {
    get { return upSeqid_; }
    set {
      upSeqid_ = value;
    }
  }

  /// <summary>Field number for the "down_seqid" field.</summary>
  public const int DownSeqidFieldNumber = 3;
  private ulong downSeqid_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong DownSeqid {
    get { return downSeqid_; }
    set {
      downSeqid_ = value;
    }
  }

  /// <summary>Field number for the "total_pack_count" field.</summary>
  public const int TotalPackCountFieldNumber = 4;
  private uint totalPackCount_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint TotalPackCount {
    get { return totalPackCount_; }
    set {
      totalPackCount_ = value;
    }
  }

  /// <summary>Field number for the "current_pack_index" field.</summary>
  public const int CurrentPackIndexFieldNumber = 5;
  private uint currentPackIndex_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint CurrentPackIndex {
    get { return currentPackIndex_; }
    set {
      currentPackIndex_ = value;
    }
  }

  /// <summary>Field number for the "is_compress" field.</summary>
  public const int IsCompressFieldNumber = 6;
  private bool isCompress_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool IsCompress {
    get { return isCompress_; }
    set {
      isCompress_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CSHead);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CSHead other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Msgid != other.Msgid) return false;
    if (UpSeqid != other.UpSeqid) return false;
    if (DownSeqid != other.DownSeqid) return false;
    if (TotalPackCount != other.TotalPackCount) return false;
    if (CurrentPackIndex != other.CurrentPackIndex) return false;
    if (IsCompress != other.IsCompress) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Msgid != 0) hash ^= Msgid.GetHashCode();
    if (UpSeqid != 0UL) hash ^= UpSeqid.GetHashCode();
    if (DownSeqid != 0UL) hash ^= DownSeqid.GetHashCode();
    if (TotalPackCount != 0) hash ^= TotalPackCount.GetHashCode();
    if (CurrentPackIndex != 0) hash ^= CurrentPackIndex.GetHashCode();
    if (IsCompress != false) hash ^= IsCompress.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Msgid != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(Msgid);
    }
    if (UpSeqid != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(UpSeqid);
    }
    if (DownSeqid != 0UL) {
      output.WriteRawTag(24);
      output.WriteUInt64(DownSeqid);
    }
    if (TotalPackCount != 0) {
      output.WriteRawTag(32);
      output.WriteUInt32(TotalPackCount);
    }
    if (CurrentPackIndex != 0) {
      output.WriteRawTag(40);
      output.WriteUInt32(CurrentPackIndex);
    }
    if (IsCompress != false) {
      output.WriteRawTag(48);
      output.WriteBool(IsCompress);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Msgid != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Msgid);
    }
    if (UpSeqid != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(UpSeqid);
    }
    if (DownSeqid != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(DownSeqid);
    }
    if (TotalPackCount != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(TotalPackCount);
    }
    if (CurrentPackIndex != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(CurrentPackIndex);
    }
    if (IsCompress != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CSHead other) {
    if (other == null) {
      return;
    }
    if (other.Msgid != 0) {
      Msgid = other.Msgid;
    }
    if (other.UpSeqid != 0UL) {
      UpSeqid = other.UpSeqid;
    }
    if (other.DownSeqid != 0UL) {
      DownSeqid = other.DownSeqid;
    }
    if (other.TotalPackCount != 0) {
      TotalPackCount = other.TotalPackCount;
    }
    if (other.CurrentPackIndex != 0) {
      CurrentPackIndex = other.CurrentPackIndex;
    }
    if (other.IsCompress != false) {
      IsCompress = other.IsCompress;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Msgid = input.ReadInt32();
          break;
        }
        case 16: {
          UpSeqid = input.ReadUInt64();
          break;
        }
        case 24: {
          DownSeqid = input.ReadUInt64();
          break;
        }
        case 32: {
          TotalPackCount = input.ReadUInt32();
          break;
        }
        case 40: {
          CurrentPackIndex = input.ReadUInt32();
          break;
        }
        case 48: {
          IsCompress = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class CsMergeMsg : pb::IMessage<CsMergeMsg> {
  private static readonly pb::MessageParser<CsMergeMsg> _parser = new pb::MessageParser<CsMergeMsg>(() => new CsMergeMsg());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsMergeMsg> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[781]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsMergeMsg() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsMergeMsg(CsMergeMsg other) : this() {
    msg_ = other.msg_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsMergeMsg Clone() {
    return new CsMergeMsg(this);
  }

  /// <summary>Field number for the "msg" field.</summary>
  public const int MsgFieldNumber = 1;
  private pb::ByteString msg_ = pb::ByteString.Empty;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pb::ByteString Msg {
    get { return msg_; }
    set {
      msg_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsMergeMsg);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsMergeMsg other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Msg != other.Msg) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Msg.Length != 0) hash ^= Msg.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Msg.Length != 0) {
      output.WriteRawTag(10);
      output.WriteBytes(Msg);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Msg.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeBytesSize(Msg);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsMergeMsg other) {
    if (other == null) {
      return;
    }
    if (other.Msg.Length != 0) {
      Msg = other.Msg;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          Msg = input.ReadBytes();
          break;
        }
      }
    }
  }

}

public sealed partial class CsPrtsMarkRead : pb::IMessage<CsPrtsMarkRead> {
  private static readonly pb::MessageParser<CsPrtsMarkRead> _parser = new pb::MessageParser<CsPrtsMarkRead>(() => new CsPrtsMarkRead());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsPrtsMarkRead> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[782]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsPrtsMarkRead() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsPrtsMarkRead(CsPrtsMarkRead other) : this() {
    prtsId_ = other.prtsId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsPrtsMarkRead Clone() {
    return new CsPrtsMarkRead(this);
  }

  /// <summary>Field number for the "prts_id" field.</summary>
  public const int PrtsIdFieldNumber = 1;
  private string prtsId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string PrtsId {
    get { return prtsId_; }
    set {
      prtsId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsPrtsMarkRead);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsPrtsMarkRead other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (PrtsId != other.PrtsId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (PrtsId.Length != 0) hash ^= PrtsId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (PrtsId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(PrtsId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (PrtsId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(PrtsId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsPrtsMarkRead other) {
    if (other == null) {
      return;
    }
    if (other.PrtsId.Length != 0) {
      PrtsId = other.PrtsId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          PrtsId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class CsPrtsMarkTerminalRead : pb::IMessage<CsPrtsMarkTerminalRead> {
  private static readonly pb::MessageParser<CsPrtsMarkTerminalRead> _parser = new pb::MessageParser<CsPrtsMarkTerminalRead>(() => new CsPrtsMarkTerminalRead());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsPrtsMarkTerminalRead> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[783]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsPrtsMarkTerminalRead() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsPrtsMarkTerminalRead(CsPrtsMarkTerminalRead other) : this() {
    terminalContentId_ = other.terminalContentId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsPrtsMarkTerminalRead Clone() {
    return new CsPrtsMarkTerminalRead(this);
  }

  /// <summary>Field number for the "terminal_content_id" field.</summary>
  public const int TerminalContentIdFieldNumber = 1;
  private string terminalContentId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string TerminalContentId {
    get { return terminalContentId_; }
    set {
      terminalContentId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsPrtsMarkTerminalRead);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsPrtsMarkTerminalRead other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (TerminalContentId != other.TerminalContentId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (TerminalContentId.Length != 0) hash ^= TerminalContentId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (TerminalContentId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(TerminalContentId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (TerminalContentId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(TerminalContentId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsPrtsMarkTerminalRead other) {
    if (other == null) {
      return;
    }
    if (other.TerminalContentId.Length != 0) {
      TerminalContentId = other.TerminalContentId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          TerminalContentId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class CsPrtsRichContentRead : pb::IMessage<CsPrtsRichContentRead> {
  private static readonly pb::MessageParser<CsPrtsRichContentRead> _parser = new pb::MessageParser<CsPrtsRichContentRead>(() => new CsPrtsRichContentRead());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsPrtsRichContentRead> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[784]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsPrtsRichContentRead() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsPrtsRichContentRead(CsPrtsRichContentRead other) : this() {
    id_ = other.id_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsPrtsRichContentRead Clone() {
    return new CsPrtsRichContentRead(this);
  }

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

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsPrtsRichContentRead);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsPrtsRichContentRead other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Id != other.Id) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Id.Length != 0) hash ^= Id.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Id.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(Id);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Id.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(Id);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsPrtsRichContentRead other) {
    if (other == null) {
      return;
    }
    if (other.Id.Length != 0) {
      Id = other.Id;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          Id = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class CsPrtsFinishInvestigate : pb::IMessage<CsPrtsFinishInvestigate> {
  private static readonly pb::MessageParser<CsPrtsFinishInvestigate> _parser = new pb::MessageParser<CsPrtsFinishInvestigate>(() => new CsPrtsFinishInvestigate());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsPrtsFinishInvestigate> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[785]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsPrtsFinishInvestigate() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsPrtsFinishInvestigate(CsPrtsFinishInvestigate other) : this() {
    id_ = other.id_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsPrtsFinishInvestigate Clone() {
    return new CsPrtsFinishInvestigate(this);
  }

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

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsPrtsFinishInvestigate);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsPrtsFinishInvestigate other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Id != other.Id) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Id.Length != 0) hash ^= Id.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Id.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(Id);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Id.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(Id);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsPrtsFinishInvestigate other) {
    if (other == null) {
      return;
    }
    if (other.Id.Length != 0) {
      Id = other.Id;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          Id = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class ScSyncRacingDungeonPassedLevel : pb::IMessage<ScSyncRacingDungeonPassedLevel> {
  private static readonly pb::MessageParser<ScSyncRacingDungeonPassedLevel> _parser = new pb::MessageParser<ScSyncRacingDungeonPassedLevel>(() => new ScSyncRacingDungeonPassedLevel());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSyncRacingDungeonPassedLevel> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[786]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncRacingDungeonPassedLevel() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncRacingDungeonPassedLevel(ScSyncRacingDungeonPassedLevel other) : this() {
    maxPassedLevel_ = other.maxPassedLevel_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncRacingDungeonPassedLevel Clone() {
    return new ScSyncRacingDungeonPassedLevel(this);
  }

  /// <summary>Field number for the "max_passed_level" field.</summary>
  public const int MaxPassedLevelFieldNumber = 1;
  private static readonly pbc::MapField<string, int>.Codec _map_maxPassedLevel_codec
      = new pbc::MapField<string, int>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForInt32(16), 10);
  private readonly pbc::MapField<string, int> maxPassedLevel_ = new pbc::MapField<string, int>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<string, int> MaxPassedLevel {
    get { return maxPassedLevel_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSyncRacingDungeonPassedLevel);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSyncRacingDungeonPassedLevel other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!MaxPassedLevel.Equals(other.MaxPassedLevel)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= MaxPassedLevel.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    maxPassedLevel_.WriteTo(output, _map_maxPassedLevel_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += maxPassedLevel_.CalculateSize(_map_maxPassedLevel_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSyncRacingDungeonPassedLevel other) {
    if (other == null) {
      return;
    }
    maxPassedLevel_.Add(other.maxPassedLevel_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          maxPassedLevel_.AddEntriesFrom(input, _map_maxPassedLevel_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScRacingDungeonEnter : pb::IMessage<ScRacingDungeonEnter> {
  private static readonly pb::MessageParser<ScRacingDungeonEnter> _parser = new pb::MessageParser<ScRacingDungeonEnter>(() => new ScRacingDungeonEnter());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScRacingDungeonEnter> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[787]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScRacingDungeonEnter() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScRacingDungeonEnter(ScRacingDungeonEnter other) : this() {
    dungeonId_ = other.dungeonId_;
    level_ = other.level_;
    tacticsId_ = other.tacticsId_;
    charTeam_ = other.charTeam_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScRacingDungeonEnter Clone() {
    return new ScRacingDungeonEnter(this);
  }

  /// <summary>Field number for the "dungeon_id" field.</summary>
  public const int DungeonIdFieldNumber = 1;
  private string dungeonId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string DungeonId {
    get { return dungeonId_; }
    set {
      dungeonId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "level" field.</summary>
  public const int LevelFieldNumber = 2;
  private int level_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Level {
    get { return level_; }
    set {
      level_ = value;
    }
  }

  /// <summary>Field number for the "tactics_id" field.</summary>
  public const int TacticsIdFieldNumber = 3;
  private string tacticsId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string TacticsId {
    get { return tacticsId_; }
    set {
      tacticsId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "char_team" field.</summary>
  public const int CharTeamFieldNumber = 4;
  private static readonly pb::FieldCodec<ulong> _repeated_charTeam_codec
      = pb::FieldCodec.ForUInt64(34);
  private readonly pbc::RepeatedField<ulong> charTeam_ = new pbc::RepeatedField<ulong>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<ulong> CharTeam {
    get { return charTeam_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScRacingDungeonEnter);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScRacingDungeonEnter other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (DungeonId != other.DungeonId) return false;
    if (Level != other.Level) return false;
    if (TacticsId != other.TacticsId) return false;
    if(!charTeam_.Equals(other.charTeam_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (DungeonId.Length != 0) hash ^= DungeonId.GetHashCode();
    if (Level != 0) hash ^= Level.GetHashCode();
    if (TacticsId.Length != 0) hash ^= TacticsId.GetHashCode();
    hash ^= charTeam_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (DungeonId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(DungeonId);
    }
    if (Level != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(Level);
    }
    if (TacticsId.Length != 0) {
      output.WriteRawTag(26);
      output.WriteString(TacticsId);
    }
    charTeam_.WriteTo(output, _repeated_charTeam_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (DungeonId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(DungeonId);
    }
    if (Level != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Level);
    }
    if (TacticsId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(TacticsId);
    }
    size += charTeam_.CalculateSize(_repeated_charTeam_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScRacingDungeonEnter other) {
    if (other == null) {
      return;
    }
    if (other.DungeonId.Length != 0) {
      DungeonId = other.DungeonId;
    }
    if (other.Level != 0) {
      Level = other.Level;
    }
    if (other.TacticsId.Length != 0) {
      TacticsId = other.TacticsId;
    }
    charTeam_.Add(other.charTeam_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          DungeonId = input.ReadString();
          break;
        }
        case 16: {
          Level = input.ReadInt32();
          break;
        }
        case 26: {
          TacticsId = input.ReadString();
          break;
        }
        case 34:
        case 32: {
          charTeam_.AddEntriesFrom(input, _repeated_charTeam_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScSyncRacingDungeonSettlement : pb::IMessage<ScSyncRacingDungeonSettlement> {
  private static readonly pb::MessageParser<ScSyncRacingDungeonSettlement> _parser = new pb::MessageParser<ScSyncRacingDungeonSettlement>(() => new ScSyncRacingDungeonSettlement());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSyncRacingDungeonSettlement> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[788]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncRacingDungeonSettlement() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncRacingDungeonSettlement(ScSyncRacingDungeonSettlement other) : this() {
    dungeonId_ = other.dungeonId_;
    level_ = other.level_;
    isPassed_ = other.isPassed_;
    totalPlaytime_ = other.totalPlaytime_;
    score_ = other.score_;
    battlePassExp_ = other.battlePassExp_;
    completedRoomList_ = other.completedRoomList_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncRacingDungeonSettlement Clone() {
    return new ScSyncRacingDungeonSettlement(this);
  }

  /// <summary>Field number for the "dungeon_id" field.</summary>
  public const int DungeonIdFieldNumber = 1;
  private string dungeonId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string DungeonId {
    get { return dungeonId_; }
    set {
      dungeonId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "level" field.</summary>
  public const int LevelFieldNumber = 2;
  private int level_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Level {
    get { return level_; }
    set {
      level_ = value;
    }
  }

  /// <summary>Field number for the "is_passed" field.</summary>
  public const int IsPassedFieldNumber = 3;
  private bool isPassed_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool IsPassed {
    get { return isPassed_; }
    set {
      isPassed_ = value;
    }
  }

  /// <summary>Field number for the "total_playtime" field.</summary>
  public const int TotalPlaytimeFieldNumber = 4;
  private long totalPlaytime_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long TotalPlaytime {
    get { return totalPlaytime_; }
    set {
      totalPlaytime_ = value;
    }
  }

  /// <summary>Field number for the "score" field.</summary>
  public const int ScoreFieldNumber = 5;
  private float score_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public float Score {
    get { return score_; }
    set {
      score_ = value;
    }
  }

  /// <summary>Field number for the "battle_pass_exp" field.</summary>
  public const int BattlePassExpFieldNumber = 6;
  private int battlePassExp_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int BattlePassExp {
    get { return battlePassExp_; }
    set {
      battlePassExp_ = value;
    }
  }

  /// <summary>Field number for the "completed_room_list" field.</summary>
  public const int CompletedRoomListFieldNumber = 7;
  private static readonly pb::FieldCodec<long> _repeated_completedRoomList_codec
      = pb::FieldCodec.ForInt64(58);
  private readonly pbc::RepeatedField<long> completedRoomList_ = new pbc::RepeatedField<long>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<long> CompletedRoomList {
    get { return completedRoomList_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSyncRacingDungeonSettlement);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSyncRacingDungeonSettlement other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (DungeonId != other.DungeonId) return false;
    if (Level != other.Level) return false;
    if (IsPassed != other.IsPassed) return false;
    if (TotalPlaytime != other.TotalPlaytime) return false;
    if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(Score, other.Score)) return false;
    if (BattlePassExp != other.BattlePassExp) return false;
    if(!completedRoomList_.Equals(other.completedRoomList_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (DungeonId.Length != 0) hash ^= DungeonId.GetHashCode();
    if (Level != 0) hash ^= Level.GetHashCode();
    if (IsPassed != false) hash ^= IsPassed.GetHashCode();
    if (TotalPlaytime != 0L) hash ^= TotalPlaytime.GetHashCode();
    if (Score != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(Score);
    if (BattlePassExp != 0) hash ^= BattlePassExp.GetHashCode();
    hash ^= completedRoomList_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (DungeonId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(DungeonId);
    }
    if (Level != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(Level);
    }
    if (IsPassed != false) {
      output.WriteRawTag(24);
      output.WriteBool(IsPassed);
    }
    if (TotalPlaytime != 0L) {
      output.WriteRawTag(32);
      output.WriteInt64(TotalPlaytime);
    }
    if (Score != 0F) {
      output.WriteRawTag(45);
      output.WriteFloat(Score);
    }
    if (BattlePassExp != 0) {
      output.WriteRawTag(48);
      output.WriteInt32(BattlePassExp);
    }
    completedRoomList_.WriteTo(output, _repeated_completedRoomList_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (DungeonId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(DungeonId);
    }
    if (Level != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Level);
    }
    if (IsPassed != false) {
      size += 1 + 1;
    }
    if (TotalPlaytime != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(TotalPlaytime);
    }
    if (Score != 0F) {
      size += 1 + 4;
    }
    if (BattlePassExp != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(BattlePassExp);
    }
    size += completedRoomList_.CalculateSize(_repeated_completedRoomList_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSyncRacingDungeonSettlement other) {
    if (other == null) {
      return;
    }
    if (other.DungeonId.Length != 0) {
      DungeonId = other.DungeonId;
    }
    if (other.Level != 0) {
      Level = other.Level;
    }
    if (other.IsPassed != false) {
      IsPassed = other.IsPassed;
    }
    if (other.TotalPlaytime != 0L) {
      TotalPlaytime = other.TotalPlaytime;
    }
    if (other.Score != 0F) {
      Score = other.Score;
    }
    if (other.BattlePassExp != 0) {
      BattlePassExp = other.BattlePassExp;
    }
    completedRoomList_.Add(other.completedRoomList_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          DungeonId = input.ReadString();
          break;
        }
        case 16: {
          Level = input.ReadInt32();
          break;
        }
        case 24: {
          IsPassed = input.ReadBool();
          break;
        }
        case 32: {
          TotalPlaytime = input.ReadInt64();
          break;
        }
        case 45: {
          Score = input.ReadFloat();
          break;
        }
        case 48: {
          BattlePassExp = input.ReadInt32();
          break;
        }
        case 58:
        case 56: {
          completedRoomList_.AddEntriesFrom(input, _repeated_completedRoomList_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScSyncRacingDungeonReconnect : pb::IMessage<ScSyncRacingDungeonReconnect> {
  private static readonly pb::MessageParser<ScSyncRacingDungeonReconnect> _parser = new pb::MessageParser<ScSyncRacingDungeonReconnect>(() => new ScSyncRacingDungeonReconnect());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSyncRacingDungeonReconnect> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[789]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncRacingDungeonReconnect() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncRacingDungeonReconnect(ScSyncRacingDungeonReconnect other) : this() {
    dungeonId_ = other.dungeonId_;
    level_ = other.level_;
    totalPlaytime_ = other.totalPlaytime_;
    buffList_ = other.buffList_.Clone();
    tacticsId_ = other.tacticsId_;
    killMonsterCounter_ = other.killMonsterCounter_;
    paused_ = other.paused_;
    completedRoomList_ = other.completedRoomList_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncRacingDungeonReconnect Clone() {
    return new ScSyncRacingDungeonReconnect(this);
  }

  /// <summary>Field number for the "dungeon_id" field.</summary>
  public const int DungeonIdFieldNumber = 1;
  private string dungeonId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string DungeonId {
    get { return dungeonId_; }
    set {
      dungeonId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "level" field.</summary>
  public const int LevelFieldNumber = 2;
  private int level_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Level {
    get { return level_; }
    set {
      level_ = value;
    }
  }

  /// <summary>Field number for the "total_playtime" field.</summary>
  public const int TotalPlaytimeFieldNumber = 3;
  private long totalPlaytime_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long TotalPlaytime {
    get { return totalPlaytime_; }
    set {
      totalPlaytime_ = value;
    }
  }

  /// <summary>Field number for the "buff_list" field.</summary>
  public const int BuffListFieldNumber = 4;
  private static readonly pb::FieldCodec<string> _repeated_buffList_codec
      = pb::FieldCodec.ForString(34);
  private readonly pbc::RepeatedField<string> buffList_ = new pbc::RepeatedField<string>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<string> BuffList {
    get { return buffList_; }
  }

  /// <summary>Field number for the "tactics_id" field.</summary>
  public const int TacticsIdFieldNumber = 5;
  private string tacticsId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string TacticsId {
    get { return tacticsId_; }
    set {
      tacticsId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "kill_monster_counter" field.</summary>
  public const int KillMonsterCounterFieldNumber = 6;
  private int killMonsterCounter_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int KillMonsterCounter {
    get { return killMonsterCounter_; }
    set {
      killMonsterCounter_ = value;
    }
  }

  /// <summary>Field number for the "paused" field.</summary>
  public const int PausedFieldNumber = 7;
  private bool paused_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Paused {
    get { return paused_; }
    set {
      paused_ = value;
    }
  }

  /// <summary>Field number for the "completed_room_list" field.</summary>
  public const int CompletedRoomListFieldNumber = 8;
  private static readonly pb::FieldCodec<long> _repeated_completedRoomList_codec
      = pb::FieldCodec.ForInt64(66);
  private readonly pbc::RepeatedField<long> completedRoomList_ = new pbc::RepeatedField<long>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<long> CompletedRoomList {
    get { return completedRoomList_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSyncRacingDungeonReconnect);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSyncRacingDungeonReconnect other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (DungeonId != other.DungeonId) return false;
    if (Level != other.Level) return false;
    if (TotalPlaytime != other.TotalPlaytime) return false;
    if(!buffList_.Equals(other.buffList_)) return false;
    if (TacticsId != other.TacticsId) return false;
    if (KillMonsterCounter != other.KillMonsterCounter) return false;
    if (Paused != other.Paused) return false;
    if(!completedRoomList_.Equals(other.completedRoomList_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (DungeonId.Length != 0) hash ^= DungeonId.GetHashCode();
    if (Level != 0) hash ^= Level.GetHashCode();
    if (TotalPlaytime != 0L) hash ^= TotalPlaytime.GetHashCode();
    hash ^= buffList_.GetHashCode();
    if (TacticsId.Length != 0) hash ^= TacticsId.GetHashCode();
    if (KillMonsterCounter != 0) hash ^= KillMonsterCounter.GetHashCode();
    if (Paused != false) hash ^= Paused.GetHashCode();
    hash ^= completedRoomList_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (DungeonId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(DungeonId);
    }
    if (Level != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(Level);
    }
    if (TotalPlaytime != 0L) {
      output.WriteRawTag(24);
      output.WriteInt64(TotalPlaytime);
    }
    buffList_.WriteTo(output, _repeated_buffList_codec);
    if (TacticsId.Length != 0) {
      output.WriteRawTag(42);
      output.WriteString(TacticsId);
    }
    if (KillMonsterCounter != 0) {
      output.WriteRawTag(48);
      output.WriteInt32(KillMonsterCounter);
    }
    if (Paused != false) {
      output.WriteRawTag(56);
      output.WriteBool(Paused);
    }
    completedRoomList_.WriteTo(output, _repeated_completedRoomList_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (DungeonId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(DungeonId);
    }
    if (Level != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Level);
    }
    if (TotalPlaytime != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(TotalPlaytime);
    }
    size += buffList_.CalculateSize(_repeated_buffList_codec);
    if (TacticsId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(TacticsId);
    }
    if (KillMonsterCounter != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(KillMonsterCounter);
    }
    if (Paused != false) {
      size += 1 + 1;
    }
    size += completedRoomList_.CalculateSize(_repeated_completedRoomList_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSyncRacingDungeonReconnect other) {
    if (other == null) {
      return;
    }
    if (other.DungeonId.Length != 0) {
      DungeonId = other.DungeonId;
    }
    if (other.Level != 0) {
      Level = other.Level;
    }
    if (other.TotalPlaytime != 0L) {
      TotalPlaytime = other.TotalPlaytime;
    }
    buffList_.Add(other.buffList_);
    if (other.TacticsId.Length != 0) {
      TacticsId = other.TacticsId;
    }
    if (other.KillMonsterCounter != 0) {
      KillMonsterCounter = other.KillMonsterCounter;
    }
    if (other.Paused != false) {
      Paused = other.Paused;
    }
    completedRoomList_.Add(other.completedRoomList_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          DungeonId = input.ReadString();
          break;
        }
        case 16: {
          Level = input.ReadInt32();
          break;
        }
        case 24: {
          TotalPlaytime = input.ReadInt64();
          break;
        }
        case 34: {
          buffList_.AddEntriesFrom(input, _repeated_buffList_codec);
          break;
        }
        case 42: {
          TacticsId = input.ReadString();
          break;
        }
        case 48: {
          KillMonsterCounter = input.ReadInt32();
          break;
        }
        case 56: {
          Paused = input.ReadBool();
          break;
        }
        case 66:
        case 64: {
          completedRoomList_.AddEntriesFrom(input, _repeated_completedRoomList_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class CsRacingDungeonGetBattlePass : pb::IMessage<CsRacingDungeonGetBattlePass> {
  private static readonly pb::MessageParser<CsRacingDungeonGetBattlePass> _parser = new pb::MessageParser<CsRacingDungeonGetBattlePass>(() => new CsRacingDungeonGetBattlePass());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsRacingDungeonGetBattlePass> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[790]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsRacingDungeonGetBattlePass() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsRacingDungeonGetBattlePass(CsRacingDungeonGetBattlePass other) : this() {
    dungeonId_ = other.dungeonId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsRacingDungeonGetBattlePass Clone() {
    return new CsRacingDungeonGetBattlePass(this);
  }

  /// <summary>Field number for the "dungeon_id" field.</summary>
  public const int DungeonIdFieldNumber = 1;
  private string dungeonId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string DungeonId {
    get { return dungeonId_; }
    set {
      dungeonId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsRacingDungeonGetBattlePass);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsRacingDungeonGetBattlePass other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (DungeonId != other.DungeonId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (DungeonId.Length != 0) hash ^= DungeonId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (DungeonId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(DungeonId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (DungeonId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(DungeonId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsRacingDungeonGetBattlePass other) {
    if (other == null) {
      return;
    }
    if (other.DungeonId.Length != 0) {
      DungeonId = other.DungeonId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          DungeonId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class ScRacingDungeonGetBattlePass : pb::IMessage<ScRacingDungeonGetBattlePass> {
  private static readonly pb::MessageParser<ScRacingDungeonGetBattlePass> _parser = new pb::MessageParser<ScRacingDungeonGetBattlePass>(() => new ScRacingDungeonGetBattlePass());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScRacingDungeonGetBattlePass> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[791]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScRacingDungeonGetBattlePass() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScRacingDungeonGetBattlePass(ScRacingDungeonGetBattlePass other) : this() {
    dungeonId_ = other.dungeonId_;
    battlePassExp_ = other.battlePassExp_;
    receivedNodeId_ = other.receivedNodeId_.Clone();
    unlockNodeId_ = other.unlockNodeId_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScRacingDungeonGetBattlePass Clone() {
    return new ScRacingDungeonGetBattlePass(this);
  }

  /// <summary>Field number for the "dungeon_id" field.</summary>
  public const int DungeonIdFieldNumber = 1;
  private string dungeonId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string DungeonId {
    get { return dungeonId_; }
    set {
      dungeonId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "battle_pass_exp" field.</summary>
  public const int BattlePassExpFieldNumber = 2;
  private int battlePassExp_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int BattlePassExp {
    get { return battlePassExp_; }
    set {
      battlePassExp_ = value;
    }
  }

  /// <summary>Field number for the "received_node_id" field.</summary>
  public const int ReceivedNodeIdFieldNumber = 3;
  private static readonly pb::FieldCodec<int> _repeated_receivedNodeId_codec
      = pb::FieldCodec.ForInt32(26);
  private readonly pbc::RepeatedField<int> receivedNodeId_ = new pbc::RepeatedField<int>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<int> ReceivedNodeId {
    get { return receivedNodeId_; }
  }

  /// <summary>Field number for the "unlock_node_id" field.</summary>
  public const int UnlockNodeIdFieldNumber = 4;
  private static readonly pb::FieldCodec<int> _repeated_unlockNodeId_codec
      = pb::FieldCodec.ForInt32(34);
  private readonly pbc::RepeatedField<int> unlockNodeId_ = new pbc::RepeatedField<int>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<int> UnlockNodeId {
    get { return unlockNodeId_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScRacingDungeonGetBattlePass);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScRacingDungeonGetBattlePass other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (DungeonId != other.DungeonId) return false;
    if (BattlePassExp != other.BattlePassExp) return false;
    if(!receivedNodeId_.Equals(other.receivedNodeId_)) return false;
    if(!unlockNodeId_.Equals(other.unlockNodeId_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (DungeonId.Length != 0) hash ^= DungeonId.GetHashCode();
    if (BattlePassExp != 0) hash ^= BattlePassExp.GetHashCode();
    hash ^= receivedNodeId_.GetHashCode();
    hash ^= unlockNodeId_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (DungeonId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(DungeonId);
    }
    if (BattlePassExp != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(BattlePassExp);
    }
    receivedNodeId_.WriteTo(output, _repeated_receivedNodeId_codec);
    unlockNodeId_.WriteTo(output, _repeated_unlockNodeId_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (DungeonId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(DungeonId);
    }
    if (BattlePassExp != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(BattlePassExp);
    }
    size += receivedNodeId_.CalculateSize(_repeated_receivedNodeId_codec);
    size += unlockNodeId_.CalculateSize(_repeated_unlockNodeId_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScRacingDungeonGetBattlePass other) {
    if (other == null) {
      return;
    }
    if (other.DungeonId.Length != 0) {
      DungeonId = other.DungeonId;
    }
    if (other.BattlePassExp != 0) {
      BattlePassExp = other.BattlePassExp;
    }
    receivedNodeId_.Add(other.receivedNodeId_);
    unlockNodeId_.Add(other.unlockNodeId_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          DungeonId = input.ReadString();
          break;
        }
        case 16: {
          BattlePassExp = input.ReadInt32();
          break;
        }
        case 26:
        case 24: {
          receivedNodeId_.AddEntriesFrom(input, _repeated_receivedNodeId_codec);
          break;
        }
        case 34:
        case 32: {
          unlockNodeId_.AddEntriesFrom(input, _repeated_unlockNodeId_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class CsRacingDungeonBattlePassReceiveReward : pb::IMessage<CsRacingDungeonBattlePassReceiveReward> {
  private static readonly pb::MessageParser<CsRacingDungeonBattlePassReceiveReward> _parser = new pb::MessageParser<CsRacingDungeonBattlePassReceiveReward>(() => new CsRacingDungeonBattlePassReceiveReward());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsRacingDungeonBattlePassReceiveReward> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[792]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsRacingDungeonBattlePassReceiveReward() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsRacingDungeonBattlePassReceiveReward(CsRacingDungeonBattlePassReceiveReward other) : this() {
    dungeonId_ = other.dungeonId_;
    receiveAll_ = other.receiveAll_;
    receivedNodeId_ = other.receivedNodeId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsRacingDungeonBattlePassReceiveReward Clone() {
    return new CsRacingDungeonBattlePassReceiveReward(this);
  }

  /// <summary>Field number for the "dungeon_id" field.</summary>
  public const int DungeonIdFieldNumber = 1;
  private string dungeonId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string DungeonId {
    get { return dungeonId_; }
    set {
      dungeonId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "receive_all" field.</summary>
  public const int ReceiveAllFieldNumber = 2;
  private bool receiveAll_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool ReceiveAll {
    get { return receiveAll_; }
    set {
      receiveAll_ = value;
    }
  }

  /// <summary>Field number for the "received_node_id" field.</summary>
  public const int ReceivedNodeIdFieldNumber = 3;
  private int receivedNodeId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ReceivedNodeId {
    get { return receivedNodeId_; }
    set {
      receivedNodeId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsRacingDungeonBattlePassReceiveReward);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsRacingDungeonBattlePassReceiveReward other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (DungeonId != other.DungeonId) return false;
    if (ReceiveAll != other.ReceiveAll) return false;
    if (ReceivedNodeId != other.ReceivedNodeId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (DungeonId.Length != 0) hash ^= DungeonId.GetHashCode();
    if (ReceiveAll != false) hash ^= ReceiveAll.GetHashCode();
    if (ReceivedNodeId != 0) hash ^= ReceivedNodeId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (DungeonId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(DungeonId);
    }
    if (ReceiveAll != false) {
      output.WriteRawTag(16);
      output.WriteBool(ReceiveAll);
    }
    if (ReceivedNodeId != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(ReceivedNodeId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (DungeonId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(DungeonId);
    }
    if (ReceiveAll != false) {
      size += 1 + 1;
    }
    if (ReceivedNodeId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ReceivedNodeId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsRacingDungeonBattlePassReceiveReward other) {
    if (other == null) {
      return;
    }
    if (other.DungeonId.Length != 0) {
      DungeonId = other.DungeonId;
    }
    if (other.ReceiveAll != false) {
      ReceiveAll = other.ReceiveAll;
    }
    if (other.ReceivedNodeId != 0) {
      ReceivedNodeId = other.ReceivedNodeId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          DungeonId = input.ReadString();
          break;
        }
        case 16: {
          ReceiveAll = input.ReadBool();
          break;
        }
        case 24: {
          ReceivedNodeId = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScRacingDungeonBattlePassReceiveReward : pb::IMessage<ScRacingDungeonBattlePassReceiveReward> {
  private static readonly pb::MessageParser<ScRacingDungeonBattlePassReceiveReward> _parser = new pb::MessageParser<ScRacingDungeonBattlePassReceiveReward>(() => new ScRacingDungeonBattlePassReceiveReward());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScRacingDungeonBattlePassReceiveReward> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[793]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScRacingDungeonBattlePassReceiveReward() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScRacingDungeonBattlePassReceiveReward(ScRacingDungeonBattlePassReceiveReward other) : this() {
    dungeonId_ = other.dungeonId_;
    battlePassExp_ = other.battlePassExp_;
    receiveRewards_ = other.receiveRewards_.Clone();
    receivedNodeId_ = other.receivedNodeId_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScRacingDungeonBattlePassReceiveReward Clone() {
    return new ScRacingDungeonBattlePassReceiveReward(this);
  }

  /// <summary>Field number for the "dungeon_id" field.</summary>
  public const int DungeonIdFieldNumber = 1;
  private string dungeonId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string DungeonId {
    get { return dungeonId_; }
    set {
      dungeonId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "battle_pass_exp" field.</summary>
  public const int BattlePassExpFieldNumber = 2;
  private int battlePassExp_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int BattlePassExp {
    get { return battlePassExp_; }
    set {
      battlePassExp_ = value;
    }
  }

  /// <summary>Field number for the "receive_rewards" field.</summary>
  public const int ReceiveRewardsFieldNumber = 3;
  private static readonly pb::FieldCodec<string> _repeated_receiveRewards_codec
      = pb::FieldCodec.ForString(26);
  private readonly pbc::RepeatedField<string> receiveRewards_ = new pbc::RepeatedField<string>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<string> ReceiveRewards {
    get { return receiveRewards_; }
  }

  /// <summary>Field number for the "received_node_id" field.</summary>
  public const int ReceivedNodeIdFieldNumber = 4;
  private static readonly pb::FieldCodec<int> _repeated_receivedNodeId_codec
      = pb::FieldCodec.ForInt32(34);
  private readonly pbc::RepeatedField<int> receivedNodeId_ = new pbc::RepeatedField<int>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<int> ReceivedNodeId {
    get { return receivedNodeId_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScRacingDungeonBattlePassReceiveReward);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScRacingDungeonBattlePassReceiveReward other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (DungeonId != other.DungeonId) return false;
    if (BattlePassExp != other.BattlePassExp) return false;
    if(!receiveRewards_.Equals(other.receiveRewards_)) return false;
    if(!receivedNodeId_.Equals(other.receivedNodeId_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (DungeonId.Length != 0) hash ^= DungeonId.GetHashCode();
    if (BattlePassExp != 0) hash ^= BattlePassExp.GetHashCode();
    hash ^= receiveRewards_.GetHashCode();
    hash ^= receivedNodeId_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (DungeonId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(DungeonId);
    }
    if (BattlePassExp != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(BattlePassExp);
    }
    receiveRewards_.WriteTo(output, _repeated_receiveRewards_codec);
    receivedNodeId_.WriteTo(output, _repeated_receivedNodeId_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (DungeonId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(DungeonId);
    }
    if (BattlePassExp != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(BattlePassExp);
    }
    size += receiveRewards_.CalculateSize(_repeated_receiveRewards_codec);
    size += receivedNodeId_.CalculateSize(_repeated_receivedNodeId_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScRacingDungeonBattlePassReceiveReward other) {
    if (other == null) {
      return;
    }
    if (other.DungeonId.Length != 0) {
      DungeonId = other.DungeonId;
    }
    if (other.BattlePassExp != 0) {
      BattlePassExp = other.BattlePassExp;
    }
    receiveRewards_.Add(other.receiveRewards_);
    receivedNodeId_.Add(other.receivedNodeId_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          DungeonId = input.ReadString();
          break;
        }
        case 16: {
          BattlePassExp = input.ReadInt32();
          break;
        }
        case 26: {
          receiveRewards_.AddEntriesFrom(input, _repeated_receiveRewards_codec);
          break;
        }
        case 34:
        case 32: {
          receivedNodeId_.AddEntriesFrom(input, _repeated_receivedNodeId_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class CsRacingDungeonGetAchievement : pb::IMessage<CsRacingDungeonGetAchievement> {
  private static readonly pb::MessageParser<CsRacingDungeonGetAchievement> _parser = new pb::MessageParser<CsRacingDungeonGetAchievement>(() => new CsRacingDungeonGetAchievement());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsRacingDungeonGetAchievement> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[794]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsRacingDungeonGetAchievement() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsRacingDungeonGetAchievement(CsRacingDungeonGetAchievement other) : this() {
    dungeonId_ = other.dungeonId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsRacingDungeonGetAchievement Clone() {
    return new CsRacingDungeonGetAchievement(this);
  }

  /// <summary>Field number for the "dungeon_id" field.</summary>
  public const int DungeonIdFieldNumber = 1;
  private string dungeonId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string DungeonId {
    get { return dungeonId_; }
    set {
      dungeonId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsRacingDungeonGetAchievement);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsRacingDungeonGetAchievement other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (DungeonId != other.DungeonId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (DungeonId.Length != 0) hash ^= DungeonId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (DungeonId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(DungeonId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (DungeonId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(DungeonId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsRacingDungeonGetAchievement other) {
    if (other == null) {
      return;
    }
    if (other.DungeonId.Length != 0) {
      DungeonId = other.DungeonId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          DungeonId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class ScRacingDungeonGetAchievement : pb::IMessage<ScRacingDungeonGetAchievement> {
  private static readonly pb::MessageParser<ScRacingDungeonGetAchievement> _parser = new pb::MessageParser<ScRacingDungeonGetAchievement>(() => new ScRacingDungeonGetAchievement());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScRacingDungeonGetAchievement> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[795]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScRacingDungeonGetAchievement() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScRacingDungeonGetAchievement(ScRacingDungeonGetAchievement other) : this() {
    dungeonId_ = other.dungeonId_;
    achievements_ = other.achievements_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScRacingDungeonGetAchievement Clone() {
    return new ScRacingDungeonGetAchievement(this);
  }

  /// <summary>Field number for the "dungeon_id" field.</summary>
  public const int DungeonIdFieldNumber = 1;
  private string dungeonId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string DungeonId {
    get { return dungeonId_; }
    set {
      dungeonId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "achievements" field.</summary>
  public const int AchievementsFieldNumber = 2;
  private static readonly pb::FieldCodec<global::RacingDungeonAchievement> _repeated_achievements_codec
      = pb::FieldCodec.ForMessage(18, global::RacingDungeonAchievement.Parser);
  private readonly pbc::RepeatedField<global::RacingDungeonAchievement> achievements_ = new pbc::RepeatedField<global::RacingDungeonAchievement>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::RacingDungeonAchievement> Achievements {
    get { return achievements_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScRacingDungeonGetAchievement);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScRacingDungeonGetAchievement other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (DungeonId != other.DungeonId) return false;
    if(!achievements_.Equals(other.achievements_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (DungeonId.Length != 0) hash ^= DungeonId.GetHashCode();
    hash ^= achievements_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (DungeonId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(DungeonId);
    }
    achievements_.WriteTo(output, _repeated_achievements_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (DungeonId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(DungeonId);
    }
    size += achievements_.CalculateSize(_repeated_achievements_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScRacingDungeonGetAchievement other) {
    if (other == null) {
      return;
    }
    if (other.DungeonId.Length != 0) {
      DungeonId = other.DungeonId;
    }
    achievements_.Add(other.achievements_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          DungeonId = input.ReadString();
          break;
        }
        case 18: {
          achievements_.AddEntriesFrom(input, _repeated_achievements_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class RacingDungeonAchievement : pb::IMessage<RacingDungeonAchievement> {
  private static readonly pb::MessageParser<RacingDungeonAchievement> _parser = new pb::MessageParser<RacingDungeonAchievement>(() => new RacingDungeonAchievement());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<RacingDungeonAchievement> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[796]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public RacingDungeonAchievement() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public RacingDungeonAchievement(RacingDungeonAchievement other) : this() {
    nodeId_ = other.nodeId_;
    status_ = other.status_;
    conditionCounter_ = other.conditionCounter_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public RacingDungeonAchievement Clone() {
    return new RacingDungeonAchievement(this);
  }

  /// <summary>Field number for the "node_id" field.</summary>
  public const int NodeIdFieldNumber = 1;
  private int nodeId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int NodeId {
    get { return nodeId_; }
    set {
      nodeId_ = value;
    }
  }

  /// <summary>Field number for the "status" field.</summary>
  public const int StatusFieldNumber = 2;
  private global::RacingAchievementStatus status_ = 0;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::RacingAchievementStatus Status {
    get { return status_; }
    set {
      status_ = value;
    }
  }

  /// <summary>Field number for the "condition_counter" field.</summary>
  public const int ConditionCounterFieldNumber = 3;
  private int conditionCounter_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ConditionCounter {
    get { return conditionCounter_; }
    set {
      conditionCounter_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as RacingDungeonAchievement);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(RacingDungeonAchievement other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (NodeId != other.NodeId) return false;
    if (Status != other.Status) return false;
    if (ConditionCounter != other.ConditionCounter) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (NodeId != 0) hash ^= NodeId.GetHashCode();
    if (Status != 0) hash ^= Status.GetHashCode();
    if (ConditionCounter != 0) hash ^= ConditionCounter.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (NodeId != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(NodeId);
    }
    if (Status != 0) {
      output.WriteRawTag(16);
      output.WriteEnum((int) Status);
    }
    if (ConditionCounter != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(ConditionCounter);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (NodeId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(NodeId);
    }
    if (Status != 0) {
      size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Status);
    }
    if (ConditionCounter != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ConditionCounter);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(RacingDungeonAchievement other) {
    if (other == null) {
      return;
    }
    if (other.NodeId != 0) {
      NodeId = other.NodeId;
    }
    if (other.Status != 0) {
      Status = other.Status;
    }
    if (other.ConditionCounter != 0) {
      ConditionCounter = other.ConditionCounter;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          NodeId = input.ReadInt32();
          break;
        }
        case 16: {
          status_ = (global::RacingAchievementStatus) input.ReadEnum();
          break;
        }
        case 24: {
          ConditionCounter = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class CsRacingDungeonAchievementReceiveReward : pb::IMessage<CsRacingDungeonAchievementReceiveReward> {
  private static readonly pb::MessageParser<CsRacingDungeonAchievementReceiveReward> _parser = new pb::MessageParser<CsRacingDungeonAchievementReceiveReward>(() => new CsRacingDungeonAchievementReceiveReward());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsRacingDungeonAchievementReceiveReward> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[797]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsRacingDungeonAchievementReceiveReward() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsRacingDungeonAchievementReceiveReward(CsRacingDungeonAchievementReceiveReward other) : this() {
    dungeonId_ = other.dungeonId_;
    receiveAll_ = other.receiveAll_;
    receivedAchievement_ = other.receivedAchievement_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsRacingDungeonAchievementReceiveReward Clone() {
    return new CsRacingDungeonAchievementReceiveReward(this);
  }

  /// <summary>Field number for the "dungeon_id" field.</summary>
  public const int DungeonIdFieldNumber = 1;
  private string dungeonId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string DungeonId {
    get { return dungeonId_; }
    set {
      dungeonId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "receive_all" field.</summary>
  public const int ReceiveAllFieldNumber = 2;
  private bool receiveAll_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool ReceiveAll {
    get { return receiveAll_; }
    set {
      receiveAll_ = value;
    }
  }

  /// <summary>Field number for the "received_achievement" field.</summary>
  public const int ReceivedAchievementFieldNumber = 3;
  private int receivedAchievement_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ReceivedAchievement {
    get { return receivedAchievement_; }
    set {
      receivedAchievement_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsRacingDungeonAchievementReceiveReward);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsRacingDungeonAchievementReceiveReward other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (DungeonId != other.DungeonId) return false;
    if (ReceiveAll != other.ReceiveAll) return false;
    if (ReceivedAchievement != other.ReceivedAchievement) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (DungeonId.Length != 0) hash ^= DungeonId.GetHashCode();
    if (ReceiveAll != false) hash ^= ReceiveAll.GetHashCode();
    if (ReceivedAchievement != 0) hash ^= ReceivedAchievement.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (DungeonId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(DungeonId);
    }
    if (ReceiveAll != false) {
      output.WriteRawTag(16);
      output.WriteBool(ReceiveAll);
    }
    if (ReceivedAchievement != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(ReceivedAchievement);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (DungeonId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(DungeonId);
    }
    if (ReceiveAll != false) {
      size += 1 + 1;
    }
    if (ReceivedAchievement != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ReceivedAchievement);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsRacingDungeonAchievementReceiveReward other) {
    if (other == null) {
      return;
    }
    if (other.DungeonId.Length != 0) {
      DungeonId = other.DungeonId;
    }
    if (other.ReceiveAll != false) {
      ReceiveAll = other.ReceiveAll;
    }
    if (other.ReceivedAchievement != 0) {
      ReceivedAchievement = other.ReceivedAchievement;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          DungeonId = input.ReadString();
          break;
        }
        case 16: {
          ReceiveAll = input.ReadBool();
          break;
        }
        case 24: {
          ReceivedAchievement = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScRacingDungeonAchievementReceiveReward : pb::IMessage<ScRacingDungeonAchievementReceiveReward> {
  private static readonly pb::MessageParser<ScRacingDungeonAchievementReceiveReward> _parser = new pb::MessageParser<ScRacingDungeonAchievementReceiveReward>(() => new ScRacingDungeonAchievementReceiveReward());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScRacingDungeonAchievementReceiveReward> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[798]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScRacingDungeonAchievementReceiveReward() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScRacingDungeonAchievementReceiveReward(ScRacingDungeonAchievementReceiveReward other) : this() {
    dungeonId_ = other.dungeonId_;
    receiveRewards_ = other.receiveRewards_.Clone();
    achievements_ = other.achievements_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScRacingDungeonAchievementReceiveReward Clone() {
    return new ScRacingDungeonAchievementReceiveReward(this);
  }

  /// <summary>Field number for the "dungeon_id" field.</summary>
  public const int DungeonIdFieldNumber = 1;
  private string dungeonId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string DungeonId {
    get { return dungeonId_; }
    set {
      dungeonId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "receive_rewards" field.</summary>
  public const int ReceiveRewardsFieldNumber = 2;
  private static readonly pb::FieldCodec<string> _repeated_receiveRewards_codec
      = pb::FieldCodec.ForString(18);
  private readonly pbc::RepeatedField<string> receiveRewards_ = new pbc::RepeatedField<string>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<string> ReceiveRewards {
    get { return receiveRewards_; }
  }

  /// <summary>Field number for the "achievements" field.</summary>
  public const int AchievementsFieldNumber = 3;
  private static readonly pb::FieldCodec<global::RacingDungeonAchievement> _repeated_achievements_codec
      = pb::FieldCodec.ForMessage(26, global::RacingDungeonAchievement.Parser);
  private readonly pbc::RepeatedField<global::RacingDungeonAchievement> achievements_ = new pbc::RepeatedField<global::RacingDungeonAchievement>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::RacingDungeonAchievement> Achievements {
    get { return achievements_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScRacingDungeonAchievementReceiveReward);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScRacingDungeonAchievementReceiveReward other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (DungeonId != other.DungeonId) return false;
    if(!receiveRewards_.Equals(other.receiveRewards_)) return false;
    if(!achievements_.Equals(other.achievements_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (DungeonId.Length != 0) hash ^= DungeonId.GetHashCode();
    hash ^= receiveRewards_.GetHashCode();
    hash ^= achievements_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (DungeonId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(DungeonId);
    }
    receiveRewards_.WriteTo(output, _repeated_receiveRewards_codec);
    achievements_.WriteTo(output, _repeated_achievements_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (DungeonId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(DungeonId);
    }
    size += receiveRewards_.CalculateSize(_repeated_receiveRewards_codec);
    size += achievements_.CalculateSize(_repeated_achievements_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScRacingDungeonAchievementReceiveReward other) {
    if (other == null) {
      return;
    }
    if (other.DungeonId.Length != 0) {
      DungeonId = other.DungeonId;
    }
    receiveRewards_.Add(other.receiveRewards_);
    achievements_.Add(other.achievements_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          DungeonId = input.ReadString();
          break;
        }
        case 18: {
          receiveRewards_.AddEntriesFrom(input, _repeated_receiveRewards_codec);
          break;
        }
        case 26: {
          achievements_.AddEntriesFrom(input, _repeated_achievements_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class CsRacingDungeonLeave : pb::IMessage<CsRacingDungeonLeave> {
  private static readonly pb::MessageParser<CsRacingDungeonLeave> _parser = new pb::MessageParser<CsRacingDungeonLeave>(() => new CsRacingDungeonLeave());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsRacingDungeonLeave> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[799]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsRacingDungeonLeave() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsRacingDungeonLeave(CsRacingDungeonLeave other) : this() {
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsRacingDungeonLeave Clone() {
    return new CsRacingDungeonLeave(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsRacingDungeonLeave);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsRacingDungeonLeave other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsRacingDungeonLeave other) {
    if (other == null) {
      return;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
      }
    }
  }

}

public sealed partial class ScSyncRacingDungeonBuffModify : pb::IMessage<ScSyncRacingDungeonBuffModify> {
  private static readonly pb::MessageParser<ScSyncRacingDungeonBuffModify> _parser = new pb::MessageParser<ScSyncRacingDungeonBuffModify>(() => new ScSyncRacingDungeonBuffModify());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSyncRacingDungeonBuffModify> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[800]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncRacingDungeonBuffModify() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncRacingDungeonBuffModify(ScSyncRacingDungeonBuffModify other) : this() {
    buffList_ = other.buffList_.Clone();
    addBuffId_ = other.addBuffId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncRacingDungeonBuffModify Clone() {
    return new ScSyncRacingDungeonBuffModify(this);
  }

  /// <summary>Field number for the "buff_list" field.</summary>
  public const int BuffListFieldNumber = 1;
  private static readonly pb::FieldCodec<string> _repeated_buffList_codec
      = pb::FieldCodec.ForString(10);
  private readonly pbc::RepeatedField<string> buffList_ = new pbc::RepeatedField<string>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<string> BuffList {
    get { return buffList_; }
  }

  /// <summary>Field number for the "add_buff_id" field.</summary>
  public const int AddBuffIdFieldNumber = 2;
  private string addBuffId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string AddBuffId {
    get { return addBuffId_; }
    set {
      addBuffId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSyncRacingDungeonBuffModify);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSyncRacingDungeonBuffModify other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!buffList_.Equals(other.buffList_)) return false;
    if (AddBuffId != other.AddBuffId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= buffList_.GetHashCode();
    if (AddBuffId.Length != 0) hash ^= AddBuffId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    buffList_.WriteTo(output, _repeated_buffList_codec);
    if (AddBuffId.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(AddBuffId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += buffList_.CalculateSize(_repeated_buffList_codec);
    if (AddBuffId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(AddBuffId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSyncRacingDungeonBuffModify other) {
    if (other == null) {
      return;
    }
    buffList_.Add(other.buffList_);
    if (other.AddBuffId.Length != 0) {
      AddBuffId = other.AddBuffId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          buffList_.AddEntriesFrom(input, _repeated_buffList_codec);
          break;
        }
        case 18: {
          AddBuffId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class CsRacingDungeonUpdateBattleInfo : pb::IMessage<CsRacingDungeonUpdateBattleInfo> {
  private static readonly pb::MessageParser<CsRacingDungeonUpdateBattleInfo> _parser = new pb::MessageParser<CsRacingDungeonUpdateBattleInfo>(() => new CsRacingDungeonUpdateBattleInfo());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsRacingDungeonUpdateBattleInfo> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[801]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsRacingDungeonUpdateBattleInfo() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsRacingDungeonUpdateBattleInfo(CsRacingDungeonUpdateBattleInfo other) : this() {
    killMonsterCounter_ = other.killMonsterCounter_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsRacingDungeonUpdateBattleInfo Clone() {
    return new CsRacingDungeonUpdateBattleInfo(this);
  }

  /// <summary>Field number for the "kill_monster_counter" field.</summary>
  public const int KillMonsterCounterFieldNumber = 1;
  private int killMonsterCounter_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int KillMonsterCounter {
    get { return killMonsterCounter_; }
    set {
      killMonsterCounter_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsRacingDungeonUpdateBattleInfo);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsRacingDungeonUpdateBattleInfo other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (KillMonsterCounter != other.KillMonsterCounter) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (KillMonsterCounter != 0) hash ^= KillMonsterCounter.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (KillMonsterCounter != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(KillMonsterCounter);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (KillMonsterCounter != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(KillMonsterCounter);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsRacingDungeonUpdateBattleInfo other) {
    if (other == null) {
      return;
    }
    if (other.KillMonsterCounter != 0) {
      KillMonsterCounter = other.KillMonsterCounter;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          KillMonsterCounter = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScSyncRacingDungeonAchievementModify : pb::IMessage<ScSyncRacingDungeonAchievementModify> {
  private static readonly pb::MessageParser<ScSyncRacingDungeonAchievementModify> _parser = new pb::MessageParser<ScSyncRacingDungeonAchievementModify>(() => new ScSyncRacingDungeonAchievementModify());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSyncRacingDungeonAchievementModify> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[802]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncRacingDungeonAchievementModify() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncRacingDungeonAchievementModify(ScSyncRacingDungeonAchievementModify other) : this() {
    achievementId_ = other.achievementId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncRacingDungeonAchievementModify Clone() {
    return new ScSyncRacingDungeonAchievementModify(this);
  }

  /// <summary>Field number for the "achievement_id" field.</summary>
  public const int AchievementIdFieldNumber = 1;
  private int achievementId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int AchievementId {
    get { return achievementId_; }
    set {
      achievementId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSyncRacingDungeonAchievementModify);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSyncRacingDungeonAchievementModify other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (AchievementId != other.AchievementId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (AchievementId != 0) hash ^= AchievementId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (AchievementId != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(AchievementId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (AchievementId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(AchievementId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSyncRacingDungeonAchievementModify other) {
    if (other == null) {
      return;
    }
    if (other.AchievementId != 0) {
      AchievementId = other.AchievementId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          AchievementId = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScSyncRacingTimerPause : pb::IMessage<ScSyncRacingTimerPause> {
  private static readonly pb::MessageParser<ScSyncRacingTimerPause> _parser = new pb::MessageParser<ScSyncRacingTimerPause>(() => new ScSyncRacingTimerPause());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSyncRacingTimerPause> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[803]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncRacingTimerPause() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncRacingTimerPause(ScSyncRacingTimerPause other) : this() {
    paused_ = other.paused_;
    serverTimestamp_ = other.serverTimestamp_;
    totalPlaytime_ = other.totalPlaytime_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncRacingTimerPause Clone() {
    return new ScSyncRacingTimerPause(this);
  }

  /// <summary>Field number for the "paused" field.</summary>
  public const int PausedFieldNumber = 1;
  private bool paused_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Paused {
    get { return paused_; }
    set {
      paused_ = value;
    }
  }

  /// <summary>Field number for the "server_timestamp" field.</summary>
  public const int ServerTimestampFieldNumber = 2;
  private long serverTimestamp_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long ServerTimestamp {
    get { return serverTimestamp_; }
    set {
      serverTimestamp_ = value;
    }
  }

  /// <summary>Field number for the "total_playtime" field.</summary>
  public const int TotalPlaytimeFieldNumber = 3;
  private long totalPlaytime_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long TotalPlaytime {
    get { return totalPlaytime_; }
    set {
      totalPlaytime_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSyncRacingTimerPause);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSyncRacingTimerPause other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Paused != other.Paused) return false;
    if (ServerTimestamp != other.ServerTimestamp) return false;
    if (TotalPlaytime != other.TotalPlaytime) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Paused != false) hash ^= Paused.GetHashCode();
    if (ServerTimestamp != 0L) hash ^= ServerTimestamp.GetHashCode();
    if (TotalPlaytime != 0L) hash ^= TotalPlaytime.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Paused != false) {
      output.WriteRawTag(8);
      output.WriteBool(Paused);
    }
    if (ServerTimestamp != 0L) {
      output.WriteRawTag(16);
      output.WriteInt64(ServerTimestamp);
    }
    if (TotalPlaytime != 0L) {
      output.WriteRawTag(24);
      output.WriteInt64(TotalPlaytime);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Paused != false) {
      size += 1 + 1;
    }
    if (ServerTimestamp != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(ServerTimestamp);
    }
    if (TotalPlaytime != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(TotalPlaytime);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSyncRacingTimerPause other) {
    if (other == null) {
      return;
    }
    if (other.Paused != false) {
      Paused = other.Paused;
    }
    if (other.ServerTimestamp != 0L) {
      ServerTimestamp = other.ServerTimestamp;
    }
    if (other.TotalPlaytime != 0L) {
      TotalPlaytime = other.TotalPlaytime;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Paused = input.ReadBool();
          break;
        }
        case 16: {
          ServerTimestamp = input.ReadInt64();
          break;
        }
        case 24: {
          TotalPlaytime = input.ReadInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class ScSyncRacingDungeonCompleteRoom : pb::IMessage<ScSyncRacingDungeonCompleteRoom> {
  private static readonly pb::MessageParser<ScSyncRacingDungeonCompleteRoom> _parser = new pb::MessageParser<ScSyncRacingDungeonCompleteRoom>(() => new ScSyncRacingDungeonCompleteRoom());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSyncRacingDungeonCompleteRoom> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[804]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncRacingDungeonCompleteRoom() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncRacingDungeonCompleteRoom(ScSyncRacingDungeonCompleteRoom other) : this() {
    roomId_ = other.roomId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncRacingDungeonCompleteRoom Clone() {
    return new ScSyncRacingDungeonCompleteRoom(this);
  }

  /// <summary>Field number for the "room_id" field.</summary>
  public const int RoomIdFieldNumber = 1;
  private long roomId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long RoomId {
    get { return roomId_; }
    set {
      roomId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSyncRacingDungeonCompleteRoom);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSyncRacingDungeonCompleteRoom other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (RoomId != other.RoomId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (RoomId != 0L) hash ^= RoomId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (RoomId != 0L) {
      output.WriteRawTag(8);
      output.WriteInt64(RoomId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (RoomId != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(RoomId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSyncRacingDungeonCompleteRoom other) {
    if (other == null) {
      return;
    }
    if (other.RoomId != 0L) {
      RoomId = other.RoomId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          RoomId = input.ReadInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class ScSyncRacingDungeonCountdownEvent : pb::IMessage<ScSyncRacingDungeonCountdownEvent> {
  private static readonly pb::MessageParser<ScSyncRacingDungeonCountdownEvent> _parser = new pb::MessageParser<ScSyncRacingDungeonCountdownEvent>(() => new ScSyncRacingDungeonCountdownEvent());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSyncRacingDungeonCountdownEvent> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[805]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncRacingDungeonCountdownEvent() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncRacingDungeonCountdownEvent(ScSyncRacingDungeonCountdownEvent other) : this() {
    debuffId_ = other.debuffId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncRacingDungeonCountdownEvent Clone() {
    return new ScSyncRacingDungeonCountdownEvent(this);
  }

  /// <summary>Field number for the "debuff_id" field.</summary>
  public const int DebuffIdFieldNumber = 1;
  private string debuffId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string DebuffId {
    get { return debuffId_; }
    set {
      debuffId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSyncRacingDungeonCountdownEvent);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSyncRacingDungeonCountdownEvent other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (DebuffId != other.DebuffId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (DebuffId.Length != 0) hash ^= DebuffId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (DebuffId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(DebuffId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (DebuffId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(DebuffId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSyncRacingDungeonCountdownEvent other) {
    if (other == null) {
      return;
    }
    if (other.DebuffId.Length != 0) {
      DebuffId = other.DebuffId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          DebuffId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class RemoveItemNewData : pb::IMessage<RemoveItemNewData> {
  private static readonly pb::MessageParser<RemoveItemNewData> _parser = new pb::MessageParser<RemoveItemNewData>(() => new RemoveItemNewData());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<RemoveItemNewData> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[806]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public RemoveItemNewData() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public RemoveItemNewData(RemoveItemNewData other) : this() {
    depotType_ = other.depotType_;
    instIds_ = other.instIds_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public RemoveItemNewData Clone() {
    return new RemoveItemNewData(this);
  }

  /// <summary>Field number for the "depot_type" field.</summary>
  public const int DepotTypeFieldNumber = 1;
  private int depotType_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int DepotType {
    get { return depotType_; }
    set {
      depotType_ = value;
    }
  }

  /// <summary>Field number for the "inst_ids" field.</summary>
  public const int InstIdsFieldNumber = 2;
  private static readonly pb::FieldCodec<ulong> _repeated_instIds_codec
      = pb::FieldCodec.ForUInt64(18);
  private readonly pbc::RepeatedField<ulong> instIds_ = new pbc::RepeatedField<ulong>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<ulong> InstIds {
    get { return instIds_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as RemoveItemNewData);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(RemoveItemNewData other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (DepotType != other.DepotType) return false;
    if(!instIds_.Equals(other.instIds_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (DepotType != 0) hash ^= DepotType.GetHashCode();
    hash ^= instIds_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (DepotType != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(DepotType);
    }
    instIds_.WriteTo(output, _repeated_instIds_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (DepotType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(DepotType);
    }
    size += instIds_.CalculateSize(_repeated_instIds_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(RemoveItemNewData other) {
    if (other == null) {
      return;
    }
    if (other.DepotType != 0) {
      DepotType = other.DepotType;
    }
    instIds_.Add(other.instIds_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          DepotType = input.ReadInt32();
          break;
        }
        case 18:
        case 16: {
          instIds_.AddEntriesFrom(input, _repeated_instIds_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class CsRemoveItemNewTags : pb::IMessage<CsRemoveItemNewTags> {
  private static readonly pb::MessageParser<CsRemoveItemNewTags> _parser = new pb::MessageParser<CsRemoveItemNewTags>(() => new CsRemoveItemNewTags());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsRemoveItemNewTags> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[807]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsRemoveItemNewTags() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsRemoveItemNewTags(CsRemoveItemNewTags other) : this() {
    itemIds_ = other.itemIds_.Clone();
    instData_ = other.instData_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsRemoveItemNewTags Clone() {
    return new CsRemoveItemNewTags(this);
  }

  /// <summary>Field number for the "item_ids" field.</summary>
  public const int ItemIdsFieldNumber = 1;
  private static readonly pb::FieldCodec<uint> _repeated_itemIds_codec
      = pb::FieldCodec.ForUInt32(10);
  private readonly pbc::RepeatedField<uint> itemIds_ = new pbc::RepeatedField<uint>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<uint> ItemIds {
    get { return itemIds_; }
  }

  /// <summary>Field number for the "inst_data" field.</summary>
  public const int InstDataFieldNumber = 2;
  private static readonly pb::FieldCodec<global::RemoveItemNewData> _repeated_instData_codec
      = pb::FieldCodec.ForMessage(18, global::RemoveItemNewData.Parser);
  private readonly pbc::RepeatedField<global::RemoveItemNewData> instData_ = new pbc::RepeatedField<global::RemoveItemNewData>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::RemoveItemNewData> InstData {
    get { return instData_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsRemoveItemNewTags);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsRemoveItemNewTags other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!itemIds_.Equals(other.itemIds_)) return false;
    if(!instData_.Equals(other.instData_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= itemIds_.GetHashCode();
    hash ^= instData_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    itemIds_.WriteTo(output, _repeated_itemIds_codec);
    instData_.WriteTo(output, _repeated_instData_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += itemIds_.CalculateSize(_repeated_itemIds_codec);
    size += instData_.CalculateSize(_repeated_instData_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsRemoveItemNewTags other) {
    if (other == null) {
      return;
    }
    itemIds_.Add(other.itemIds_);
    instData_.Add(other.instData_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10:
        case 8: {
          itemIds_.AddEntriesFrom(input, _repeated_itemIds_codec);
          break;
        }
        case 18: {
          instData_.AddEntriesFrom(input, _repeated_instData_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScRemoveItemNewTags : pb::IMessage<ScRemoveItemNewTags> {
  private static readonly pb::MessageParser<ScRemoveItemNewTags> _parser = new pb::MessageParser<ScRemoveItemNewTags>(() => new ScRemoveItemNewTags());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScRemoveItemNewTags> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[808]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScRemoveItemNewTags() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScRemoveItemNewTags(ScRemoveItemNewTags other) : this() {
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScRemoveItemNewTags Clone() {
    return new ScRemoveItemNewTags(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScRemoveItemNewTags);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScRemoveItemNewTags other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScRemoveItemNewTags other) {
    if (other == null) {
      return;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
      }
    }
  }

}

public sealed partial class CsRedDotReadFormula : pb::IMessage<CsRedDotReadFormula> {
  private static readonly pb::MessageParser<CsRedDotReadFormula> _parser = new pb::MessageParser<CsRedDotReadFormula>(() => new CsRedDotReadFormula());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsRedDotReadFormula> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[809]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsRedDotReadFormula() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsRedDotReadFormula(CsRedDotReadFormula other) : this() {
    formulaIds_ = other.formulaIds_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsRedDotReadFormula Clone() {
    return new CsRedDotReadFormula(this);
  }

  /// <summary>Field number for the "formula_ids" field.</summary>
  public const int FormulaIdsFieldNumber = 1;
  private static readonly pb::FieldCodec<uint> _repeated_formulaIds_codec
      = pb::FieldCodec.ForUInt32(10);
  private readonly pbc::RepeatedField<uint> formulaIds_ = new pbc::RepeatedField<uint>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<uint> FormulaIds {
    get { return formulaIds_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsRedDotReadFormula);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsRedDotReadFormula other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!formulaIds_.Equals(other.formulaIds_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= formulaIds_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    formulaIds_.WriteTo(output, _repeated_formulaIds_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += formulaIds_.CalculateSize(_repeated_formulaIds_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsRedDotReadFormula other) {
    if (other == null) {
      return;
    }
    formulaIds_.Add(other.formulaIds_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10:
        case 8: {
          formulaIds_.AddEntriesFrom(input, _repeated_formulaIds_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class CsRedDotReadCharDoc : pb::IMessage<CsRedDotReadCharDoc> {
  private static readonly pb::MessageParser<CsRedDotReadCharDoc> _parser = new pb::MessageParser<CsRedDotReadCharDoc>(() => new CsRedDotReadCharDoc());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsRedDotReadCharDoc> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[810]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsRedDotReadCharDoc() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsRedDotReadCharDoc(CsRedDotReadCharDoc other) : this() {
    id_ = other.id_;
    ids_ = other.ids_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsRedDotReadCharDoc Clone() {
    return new CsRedDotReadCharDoc(this);
  }

  /// <summary>Field number for the "id" field.</summary>
  public const int IdFieldNumber = 1;
  private uint id_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint Id {
    get { return id_; }
    set {
      id_ = value;
    }
  }

  /// <summary>Field number for the "ids" field.</summary>
  public const int IdsFieldNumber = 2;
  private static readonly pb::FieldCodec<uint> _repeated_ids_codec
      = pb::FieldCodec.ForUInt32(18);
  private readonly pbc::RepeatedField<uint> ids_ = new pbc::RepeatedField<uint>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<uint> Ids {
    get { return ids_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsRedDotReadCharDoc);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsRedDotReadCharDoc other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Id != other.Id) return false;
    if(!ids_.Equals(other.ids_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Id != 0) hash ^= Id.GetHashCode();
    hash ^= ids_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Id != 0) {
      output.WriteRawTag(8);
      output.WriteUInt32(Id);
    }
    ids_.WriteTo(output, _repeated_ids_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Id != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Id);
    }
    size += ids_.CalculateSize(_repeated_ids_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsRedDotReadCharDoc other) {
    if (other == null) {
      return;
    }
    if (other.Id != 0) {
      Id = other.Id;
    }
    ids_.Add(other.ids_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Id = input.ReadUInt32();
          break;
        }
        case 18:
        case 16: {
          ids_.AddEntriesFrom(input, _repeated_ids_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class CsRedDotReadCharVoice : pb::IMessage<CsRedDotReadCharVoice> {
  private static readonly pb::MessageParser<CsRedDotReadCharVoice> _parser = new pb::MessageParser<CsRedDotReadCharVoice>(() => new CsRedDotReadCharVoice());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsRedDotReadCharVoice> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[811]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsRedDotReadCharVoice() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsRedDotReadCharVoice(CsRedDotReadCharVoice other) : this() {
    id_ = other.id_;
    ids_ = other.ids_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsRedDotReadCharVoice Clone() {
    return new CsRedDotReadCharVoice(this);
  }

  /// <summary>Field number for the "id" field.</summary>
  public const int IdFieldNumber = 1;
  private uint id_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint Id {
    get { return id_; }
    set {
      id_ = value;
    }
  }

  /// <summary>Field number for the "ids" field.</summary>
  public const int IdsFieldNumber = 2;
  private static readonly pb::FieldCodec<uint> _repeated_ids_codec
      = pb::FieldCodec.ForUInt32(18);
  private readonly pbc::RepeatedField<uint> ids_ = new pbc::RepeatedField<uint>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<uint> Ids {
    get { return ids_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsRedDotReadCharVoice);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsRedDotReadCharVoice other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Id != other.Id) return false;
    if(!ids_.Equals(other.ids_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Id != 0) hash ^= Id.GetHashCode();
    hash ^= ids_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Id != 0) {
      output.WriteRawTag(8);
      output.WriteUInt32(Id);
    }
    ids_.WriteTo(output, _repeated_ids_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Id != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Id);
    }
    size += ids_.CalculateSize(_repeated_ids_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsRedDotReadCharVoice other) {
    if (other == null) {
      return;
    }
    if (other.Id != 0) {
      Id = other.Id;
    }
    ids_.Add(other.ids_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Id = input.ReadUInt32();
          break;
        }
        case 18:
        case 16: {
          ids_.AddEntriesFrom(input, _repeated_ids_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class CsRedDotReadEquipFormula : pb::IMessage<CsRedDotReadEquipFormula> {
  private static readonly pb::MessageParser<CsRedDotReadEquipFormula> _parser = new pb::MessageParser<CsRedDotReadEquipFormula>(() => new CsRedDotReadEquipFormula());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsRedDotReadEquipFormula> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[812]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsRedDotReadEquipFormula() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsRedDotReadEquipFormula(CsRedDotReadEquipFormula other) : this() {
    id_ = other.id_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsRedDotReadEquipFormula Clone() {
    return new CsRedDotReadEquipFormula(this);
  }

  /// <summary>Field number for the "id" field.</summary>
  public const int IdFieldNumber = 1;
  private uint id_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint Id {
    get { return id_; }
    set {
      id_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsRedDotReadEquipFormula);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsRedDotReadEquipFormula other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Id != other.Id) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Id != 0) hash ^= Id.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Id != 0) {
      output.WriteRawTag(8);
      output.WriteUInt32(Id);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Id != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Id);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsRedDotReadEquipFormula other) {
    if (other == null) {
      return;
    }
    if (other.Id != 0) {
      Id = other.Id;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Id = input.ReadUInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class CsRpgDungeonBuy : pb::IMessage<CsRpgDungeonBuy> {
  private static readonly pb::MessageParser<CsRpgDungeonBuy> _parser = new pb::MessageParser<CsRpgDungeonBuy>(() => new CsRpgDungeonBuy());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsRpgDungeonBuy> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[813]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsRpgDungeonBuy() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsRpgDungeonBuy(CsRpgDungeonBuy other) : this() {
    dungeonId_ = other.dungeonId_;
    equipItemId_ = other.equipItemId_;
    costEquipInstIds_ = other.costEquipInstIds_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsRpgDungeonBuy Clone() {
    return new CsRpgDungeonBuy(this);
  }

  /// <summary>Field number for the "dungeon_id" field.</summary>
  public const int DungeonIdFieldNumber = 1;
  private string dungeonId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string DungeonId {
    get { return dungeonId_; }
    set {
      dungeonId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "equip_item_id" field.</summary>
  public const int EquipItemIdFieldNumber = 2;
  private string equipItemId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string EquipItemId {
    get { return equipItemId_; }
    set {
      equipItemId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "cost_equip_inst_ids" field.</summary>
  public const int CostEquipInstIdsFieldNumber = 3;
  private static readonly pb::FieldCodec<ulong> _repeated_costEquipInstIds_codec
      = pb::FieldCodec.ForUInt64(26);
  private readonly pbc::RepeatedField<ulong> costEquipInstIds_ = new pbc::RepeatedField<ulong>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<ulong> CostEquipInstIds {
    get { return costEquipInstIds_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsRpgDungeonBuy);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsRpgDungeonBuy other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (DungeonId != other.DungeonId) return false;
    if (EquipItemId != other.EquipItemId) return false;
    if(!costEquipInstIds_.Equals(other.costEquipInstIds_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (DungeonId.Length != 0) hash ^= DungeonId.GetHashCode();
    if (EquipItemId.Length != 0) hash ^= EquipItemId.GetHashCode();
    hash ^= costEquipInstIds_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (DungeonId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(DungeonId);
    }
    if (EquipItemId.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(EquipItemId);
    }
    costEquipInstIds_.WriteTo(output, _repeated_costEquipInstIds_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (DungeonId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(DungeonId);
    }
    if (EquipItemId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(EquipItemId);
    }
    size += costEquipInstIds_.CalculateSize(_repeated_costEquipInstIds_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsRpgDungeonBuy other) {
    if (other == null) {
      return;
    }
    if (other.DungeonId.Length != 0) {
      DungeonId = other.DungeonId;
    }
    if (other.EquipItemId.Length != 0) {
      EquipItemId = other.EquipItemId;
    }
    costEquipInstIds_.Add(other.costEquipInstIds_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          DungeonId = input.ReadString();
          break;
        }
        case 18: {
          EquipItemId = input.ReadString();
          break;
        }
        case 26:
        case 24: {
          costEquipInstIds_.AddEntriesFrom(input, _repeated_costEquipInstIds_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScRpgDungeonBuy : pb::IMessage<ScRpgDungeonBuy> {
  private static readonly pb::MessageParser<ScRpgDungeonBuy> _parser = new pb::MessageParser<ScRpgDungeonBuy>(() => new ScRpgDungeonBuy());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScRpgDungeonBuy> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[814]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScRpgDungeonBuy() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScRpgDungeonBuy(ScRpgDungeonBuy other) : this() {
    equipItemId_ = other.equipItemId_;
    equipInstId_ = other.equipInstId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScRpgDungeonBuy Clone() {
    return new ScRpgDungeonBuy(this);
  }

  /// <summary>Field number for the "equip_item_id" field.</summary>
  public const int EquipItemIdFieldNumber = 1;
  private string equipItemId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string EquipItemId {
    get { return equipItemId_; }
    set {
      equipItemId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "equip_inst_id" field.</summary>
  public const int EquipInstIdFieldNumber = 2;
  private ulong equipInstId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong EquipInstId {
    get { return equipInstId_; }
    set {
      equipInstId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScRpgDungeonBuy);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScRpgDungeonBuy other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (EquipItemId != other.EquipItemId) return false;
    if (EquipInstId != other.EquipInstId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (EquipItemId.Length != 0) hash ^= EquipItemId.GetHashCode();
    if (EquipInstId != 0UL) hash ^= EquipInstId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (EquipItemId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(EquipItemId);
    }
    if (EquipInstId != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(EquipInstId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (EquipItemId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(EquipItemId);
    }
    if (EquipInstId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(EquipInstId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScRpgDungeonBuy other) {
    if (other == null) {
      return;
    }
    if (other.EquipItemId.Length != 0) {
      EquipItemId = other.EquipItemId;
    }
    if (other.EquipInstId != 0UL) {
      EquipInstId = other.EquipInstId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          EquipItemId = input.ReadString();
          break;
        }
        case 16: {
          EquipInstId = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class CsRpgDungeonSell : pb::IMessage<CsRpgDungeonSell> {
  private static readonly pb::MessageParser<CsRpgDungeonSell> _parser = new pb::MessageParser<CsRpgDungeonSell>(() => new CsRpgDungeonSell());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsRpgDungeonSell> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[815]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsRpgDungeonSell() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsRpgDungeonSell(CsRpgDungeonSell other) : this() {
    equipInstId_ = other.equipInstId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsRpgDungeonSell Clone() {
    return new CsRpgDungeonSell(this);
  }

  /// <summary>Field number for the "equip_inst_id" field.</summary>
  public const int EquipInstIdFieldNumber = 1;
  private ulong equipInstId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong EquipInstId {
    get { return equipInstId_; }
    set {
      equipInstId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsRpgDungeonSell);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsRpgDungeonSell other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (EquipInstId != other.EquipInstId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (EquipInstId != 0UL) hash ^= EquipInstId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (EquipInstId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(EquipInstId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (EquipInstId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(EquipInstId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsRpgDungeonSell other) {
    if (other == null) {
      return;
    }
    if (other.EquipInstId != 0UL) {
      EquipInstId = other.EquipInstId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          EquipInstId = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class ScRpgDungeonSell : pb::IMessage<ScRpgDungeonSell> {
  private static readonly pb::MessageParser<ScRpgDungeonSell> _parser = new pb::MessageParser<ScRpgDungeonSell>(() => new ScRpgDungeonSell());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScRpgDungeonSell> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[816]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScRpgDungeonSell() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScRpgDungeonSell(ScRpgDungeonSell other) : this() {
    equipInstId_ = other.equipInstId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScRpgDungeonSell Clone() {
    return new ScRpgDungeonSell(this);
  }

  /// <summary>Field number for the "equip_inst_id" field.</summary>
  public const int EquipInstIdFieldNumber = 1;
  private ulong equipInstId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong EquipInstId {
    get { return equipInstId_; }
    set {
      equipInstId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScRpgDungeonSell);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScRpgDungeonSell other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (EquipInstId != other.EquipInstId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (EquipInstId != 0UL) hash ^= EquipInstId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (EquipInstId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(EquipInstId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (EquipInstId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(EquipInstId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScRpgDungeonSell other) {
    if (other == null) {
      return;
    }
    if (other.EquipInstId != 0UL) {
      EquipInstId = other.EquipInstId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          EquipInstId = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class CsRpgDungeonEquipPuton : pb::IMessage<CsRpgDungeonEquipPuton> {
  private static readonly pb::MessageParser<CsRpgDungeonEquipPuton> _parser = new pb::MessageParser<CsRpgDungeonEquipPuton>(() => new CsRpgDungeonEquipPuton());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsRpgDungeonEquipPuton> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[817]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsRpgDungeonEquipPuton() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsRpgDungeonEquipPuton(CsRpgDungeonEquipPuton other) : this() {
    slotid_ = other.slotid_;
    equipInstId_ = other.equipInstId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsRpgDungeonEquipPuton Clone() {
    return new CsRpgDungeonEquipPuton(this);
  }

  /// <summary>Field number for the "slotid" field.</summary>
  public const int SlotidFieldNumber = 1;
  private int slotid_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Slotid {
    get { return slotid_; }
    set {
      slotid_ = value;
    }
  }

  /// <summary>Field number for the "equip_inst_id" field.</summary>
  public const int EquipInstIdFieldNumber = 2;
  private ulong equipInstId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong EquipInstId {
    get { return equipInstId_; }
    set {
      equipInstId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsRpgDungeonEquipPuton);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsRpgDungeonEquipPuton other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Slotid != other.Slotid) return false;
    if (EquipInstId != other.EquipInstId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Slotid != 0) hash ^= Slotid.GetHashCode();
    if (EquipInstId != 0UL) hash ^= EquipInstId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Slotid != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(Slotid);
    }
    if (EquipInstId != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(EquipInstId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Slotid != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Slotid);
    }
    if (EquipInstId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(EquipInstId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsRpgDungeonEquipPuton other) {
    if (other == null) {
      return;
    }
    if (other.Slotid != 0) {
      Slotid = other.Slotid;
    }
    if (other.EquipInstId != 0UL) {
      EquipInstId = other.EquipInstId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Slotid = input.ReadInt32();
          break;
        }
        case 16: {
          EquipInstId = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class ScRpgDungeonEquipPuton : pb::IMessage<ScRpgDungeonEquipPuton> {
  private static readonly pb::MessageParser<ScRpgDungeonEquipPuton> _parser = new pb::MessageParser<ScRpgDungeonEquipPuton>(() => new ScRpgDungeonEquipPuton());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScRpgDungeonEquipPuton> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[818]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScRpgDungeonEquipPuton() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScRpgDungeonEquipPuton(ScRpgDungeonEquipPuton other) : this() {
    slotid_ = other.slotid_;
    equipInstId_ = other.equipInstId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScRpgDungeonEquipPuton Clone() {
    return new ScRpgDungeonEquipPuton(this);
  }

  /// <summary>Field number for the "slotid" field.</summary>
  public const int SlotidFieldNumber = 1;
  private int slotid_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Slotid {
    get { return slotid_; }
    set {
      slotid_ = value;
    }
  }

  /// <summary>Field number for the "equip_inst_id" field.</summary>
  public const int EquipInstIdFieldNumber = 2;
  private ulong equipInstId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong EquipInstId {
    get { return equipInstId_; }
    set {
      equipInstId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScRpgDungeonEquipPuton);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScRpgDungeonEquipPuton other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Slotid != other.Slotid) return false;
    if (EquipInstId != other.EquipInstId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Slotid != 0) hash ^= Slotid.GetHashCode();
    if (EquipInstId != 0UL) hash ^= EquipInstId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Slotid != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(Slotid);
    }
    if (EquipInstId != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(EquipInstId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Slotid != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Slotid);
    }
    if (EquipInstId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(EquipInstId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScRpgDungeonEquipPuton other) {
    if (other == null) {
      return;
    }
    if (other.Slotid != 0) {
      Slotid = other.Slotid;
    }
    if (other.EquipInstId != 0UL) {
      EquipInstId = other.EquipInstId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Slotid = input.ReadInt32();
          break;
        }
        case 16: {
          EquipInstId = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class CsRpgDungeonEquipPutoff : pb::IMessage<CsRpgDungeonEquipPutoff> {
  private static readonly pb::MessageParser<CsRpgDungeonEquipPutoff> _parser = new pb::MessageParser<CsRpgDungeonEquipPutoff>(() => new CsRpgDungeonEquipPutoff());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsRpgDungeonEquipPutoff> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[819]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsRpgDungeonEquipPutoff() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsRpgDungeonEquipPutoff(CsRpgDungeonEquipPutoff other) : this() {
    slotid_ = other.slotid_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsRpgDungeonEquipPutoff Clone() {
    return new CsRpgDungeonEquipPutoff(this);
  }

  /// <summary>Field number for the "slotid" field.</summary>
  public const int SlotidFieldNumber = 1;
  private int slotid_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Slotid {
    get { return slotid_; }
    set {
      slotid_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsRpgDungeonEquipPutoff);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsRpgDungeonEquipPutoff other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Slotid != other.Slotid) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Slotid != 0) hash ^= Slotid.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Slotid != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(Slotid);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Slotid != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Slotid);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsRpgDungeonEquipPutoff other) {
    if (other == null) {
      return;
    }
    if (other.Slotid != 0) {
      Slotid = other.Slotid;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Slotid = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScRpgDungeonEquipPutoff : pb::IMessage<ScRpgDungeonEquipPutoff> {
  private static readonly pb::MessageParser<ScRpgDungeonEquipPutoff> _parser = new pb::MessageParser<ScRpgDungeonEquipPutoff>(() => new ScRpgDungeonEquipPutoff());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScRpgDungeonEquipPutoff> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[820]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScRpgDungeonEquipPutoff() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScRpgDungeonEquipPutoff(ScRpgDungeonEquipPutoff other) : this() {
    slotid_ = other.slotid_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScRpgDungeonEquipPutoff Clone() {
    return new ScRpgDungeonEquipPutoff(this);
  }

  /// <summary>Field number for the "slotid" field.</summary>
  public const int SlotidFieldNumber = 1;
  private int slotid_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Slotid {
    get { return slotid_; }
    set {
      slotid_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScRpgDungeonEquipPutoff);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScRpgDungeonEquipPutoff other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Slotid != other.Slotid) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Slotid != 0) hash ^= Slotid.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Slotid != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(Slotid);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Slotid != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Slotid);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScRpgDungeonEquipPutoff other) {
    if (other == null) {
      return;
    }
    if (other.Slotid != 0) {
      Slotid = other.Slotid;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Slotid = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScSyncRpgDungeonBuffList : pb::IMessage<ScSyncRpgDungeonBuffList> {
  private static readonly pb::MessageParser<ScSyncRpgDungeonBuffList> _parser = new pb::MessageParser<ScSyncRpgDungeonBuffList>(() => new ScSyncRpgDungeonBuffList());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSyncRpgDungeonBuffList> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[821]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncRpgDungeonBuffList() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncRpgDungeonBuffList(ScSyncRpgDungeonBuffList other) : this() {
    buffList_ = other.buffList_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncRpgDungeonBuffList Clone() {
    return new ScSyncRpgDungeonBuffList(this);
  }

  /// <summary>Field number for the "buff_list" field.</summary>
  public const int BuffListFieldNumber = 1;
  private static readonly pb::FieldCodec<string> _repeated_buffList_codec
      = pb::FieldCodec.ForString(10);
  private readonly pbc::RepeatedField<string> buffList_ = new pbc::RepeatedField<string>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<string> BuffList {
    get { return buffList_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSyncRpgDungeonBuffList);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSyncRpgDungeonBuffList other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!buffList_.Equals(other.buffList_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= buffList_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    buffList_.WriteTo(output, _repeated_buffList_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += buffList_.CalculateSize(_repeated_buffList_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSyncRpgDungeonBuffList other) {
    if (other == null) {
      return;
    }
    buffList_.Add(other.buffList_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          buffList_.AddEntriesFrom(input, _repeated_buffList_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScSyncRpgEquipColumn : pb::IMessage<ScSyncRpgEquipColumn> {
  private static readonly pb::MessageParser<ScSyncRpgEquipColumn> _parser = new pb::MessageParser<ScSyncRpgEquipColumn>(() => new ScSyncRpgEquipColumn());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSyncRpgEquipColumn> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[822]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncRpgEquipColumn() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncRpgEquipColumn(ScSyncRpgEquipColumn other) : this() {
    equipColumn_ = other.equipColumn_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncRpgEquipColumn Clone() {
    return new ScSyncRpgEquipColumn(this);
  }

  /// <summary>Field number for the "equip_column" field.</summary>
  public const int EquipColumnFieldNumber = 1;
  private static readonly pbc::MapField<int, ulong>.Codec _map_equipColumn_codec
      = new pbc::MapField<int, ulong>.Codec(pb::FieldCodec.ForInt32(8), pb::FieldCodec.ForUInt64(16), 10);
  private readonly pbc::MapField<int, ulong> equipColumn_ = new pbc::MapField<int, ulong>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<int, ulong> EquipColumn {
    get { return equipColumn_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSyncRpgEquipColumn);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSyncRpgEquipColumn other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!EquipColumn.Equals(other.EquipColumn)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= EquipColumn.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    equipColumn_.WriteTo(output, _map_equipColumn_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += equipColumn_.CalculateSize(_map_equipColumn_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSyncRpgEquipColumn other) {
    if (other == null) {
      return;
    }
    equipColumn_.Add(other.equipColumn_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          equipColumn_.AddEntriesFrom(input, _map_equipColumn_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScSyncRpgTeamLevel : pb::IMessage<ScSyncRpgTeamLevel> {
  private static readonly pb::MessageParser<ScSyncRpgTeamLevel> _parser = new pb::MessageParser<ScSyncRpgTeamLevel>(() => new ScSyncRpgTeamLevel());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSyncRpgTeamLevel> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[823]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncRpgTeamLevel() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncRpgTeamLevel(ScSyncRpgTeamLevel other) : this() {
    teamLevel_ = other.teamLevel_;
    teamExp_ = other.teamExp_;
    nextLevelExp_ = other.nextLevelExp_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncRpgTeamLevel Clone() {
    return new ScSyncRpgTeamLevel(this);
  }

  /// <summary>Field number for the "team_level" field.</summary>
  public const int TeamLevelFieldNumber = 1;
  private int teamLevel_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int TeamLevel {
    get { return teamLevel_; }
    set {
      teamLevel_ = value;
    }
  }

  /// <summary>Field number for the "team_exp" field.</summary>
  public const int TeamExpFieldNumber = 2;
  private int teamExp_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int TeamExp {
    get { return teamExp_; }
    set {
      teamExp_ = value;
    }
  }

  /// <summary>Field number for the "next_level_exp" field.</summary>
  public const int NextLevelExpFieldNumber = 3;
  private int nextLevelExp_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int NextLevelExp {
    get { return nextLevelExp_; }
    set {
      nextLevelExp_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSyncRpgTeamLevel);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSyncRpgTeamLevel other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (TeamLevel != other.TeamLevel) return false;
    if (TeamExp != other.TeamExp) return false;
    if (NextLevelExp != other.NextLevelExp) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (TeamLevel != 0) hash ^= TeamLevel.GetHashCode();
    if (TeamExp != 0) hash ^= TeamExp.GetHashCode();
    if (NextLevelExp != 0) hash ^= NextLevelExp.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (TeamLevel != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(TeamLevel);
    }
    if (TeamExp != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(TeamExp);
    }
    if (NextLevelExp != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(NextLevelExp);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (TeamLevel != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(TeamLevel);
    }
    if (TeamExp != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(TeamExp);
    }
    if (NextLevelExp != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(NextLevelExp);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSyncRpgTeamLevel other) {
    if (other == null) {
      return;
    }
    if (other.TeamLevel != 0) {
      TeamLevel = other.TeamLevel;
    }
    if (other.TeamExp != 0) {
      TeamExp = other.TeamExp;
    }
    if (other.NextLevelExp != 0) {
      NextLevelExp = other.NextLevelExp;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          TeamLevel = input.ReadInt32();
          break;
        }
        case 16: {
          TeamExp = input.ReadInt32();
          break;
        }
        case 24: {
          NextLevelExp = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScSyncRpgDungeonAbility : pb::IMessage<ScSyncRpgDungeonAbility> {
  private static readonly pb::MessageParser<ScSyncRpgDungeonAbility> _parser = new pb::MessageParser<ScSyncRpgDungeonAbility>(() => new ScSyncRpgDungeonAbility());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSyncRpgDungeonAbility> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[824]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncRpgDungeonAbility() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncRpgDungeonAbility(ScSyncRpgDungeonAbility other) : this() {
    fixedAbilitys_ = other.fixedAbilitys_.Clone();
    randomAbilitys_ = other.randomAbilitys_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncRpgDungeonAbility Clone() {
    return new ScSyncRpgDungeonAbility(this);
  }

  /// <summary>Field number for the "fixed_abilitys" field.</summary>
  public const int FixedAbilitysFieldNumber = 1;
  private static readonly pb::FieldCodec<global::RpgDungeonAbilityInfo> _repeated_fixedAbilitys_codec
      = pb::FieldCodec.ForMessage(10, global::RpgDungeonAbilityInfo.Parser);
  private readonly pbc::RepeatedField<global::RpgDungeonAbilityInfo> fixedAbilitys_ = new pbc::RepeatedField<global::RpgDungeonAbilityInfo>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::RpgDungeonAbilityInfo> FixedAbilitys {
    get { return fixedAbilitys_; }
  }

  /// <summary>Field number for the "random_abilitys" field.</summary>
  public const int RandomAbilitysFieldNumber = 2;
  private static readonly pb::FieldCodec<global::RpgDungeonAbilityInfo> _repeated_randomAbilitys_codec
      = pb::FieldCodec.ForMessage(18, global::RpgDungeonAbilityInfo.Parser);
  private readonly pbc::RepeatedField<global::RpgDungeonAbilityInfo> randomAbilitys_ = new pbc::RepeatedField<global::RpgDungeonAbilityInfo>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::RpgDungeonAbilityInfo> RandomAbilitys {
    get { return randomAbilitys_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSyncRpgDungeonAbility);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSyncRpgDungeonAbility other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!fixedAbilitys_.Equals(other.fixedAbilitys_)) return false;
    if(!randomAbilitys_.Equals(other.randomAbilitys_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= fixedAbilitys_.GetHashCode();
    hash ^= randomAbilitys_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    fixedAbilitys_.WriteTo(output, _repeated_fixedAbilitys_codec);
    randomAbilitys_.WriteTo(output, _repeated_randomAbilitys_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += fixedAbilitys_.CalculateSize(_repeated_fixedAbilitys_codec);
    size += randomAbilitys_.CalculateSize(_repeated_randomAbilitys_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSyncRpgDungeonAbility other) {
    if (other == null) {
      return;
    }
    fixedAbilitys_.Add(other.fixedAbilitys_);
    randomAbilitys_.Add(other.randomAbilitys_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          fixedAbilitys_.AddEntriesFrom(input, _repeated_fixedAbilitys_codec);
          break;
        }
        case 18: {
          randomAbilitys_.AddEntriesFrom(input, _repeated_randomAbilitys_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class RpgDungeonAbilityInfo : pb::IMessage<RpgDungeonAbilityInfo> {
  private static readonly pb::MessageParser<RpgDungeonAbilityInfo> _parser = new pb::MessageParser<RpgDungeonAbilityInfo>(() => new RpgDungeonAbilityInfo());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<RpgDungeonAbilityInfo> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[825]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public RpgDungeonAbilityInfo() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public RpgDungeonAbilityInfo(RpgDungeonAbilityInfo other) : this() {
    abilityId_ = other.abilityId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public RpgDungeonAbilityInfo Clone() {
    return new RpgDungeonAbilityInfo(this);
  }

  /// <summary>Field number for the "ability_id" field.</summary>
  public const int AbilityIdFieldNumber = 1;
  private string abilityId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string AbilityId {
    get { return abilityId_; }
    set {
      abilityId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as RpgDungeonAbilityInfo);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(RpgDungeonAbilityInfo other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (AbilityId != other.AbilityId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (AbilityId.Length != 0) hash ^= AbilityId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (AbilityId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(AbilityId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (AbilityId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(AbilityId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(RpgDungeonAbilityInfo other) {
    if (other == null) {
      return;
    }
    if (other.AbilityId.Length != 0) {
      AbilityId = other.AbilityId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          AbilityId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class ScSyncRpgLevelUp : pb::IMessage<ScSyncRpgLevelUp> {
  private static readonly pb::MessageParser<ScSyncRpgLevelUp> _parser = new pb::MessageParser<ScSyncRpgLevelUp>(() => new ScSyncRpgLevelUp());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSyncRpgLevelUp> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[826]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncRpgLevelUp() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncRpgLevelUp(ScSyncRpgLevelUp other) : this() {
    lvUpLevel_ = other.lvUpLevel_;
    fixedAbility_ = other.fixedAbility_.Clone();
    randomAbility_ = other.randomAbility_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncRpgLevelUp Clone() {
    return new ScSyncRpgLevelUp(this);
  }

  /// <summary>Field number for the "lv_up_level" field.</summary>
  public const int LvUpLevelFieldNumber = 1;
  private int lvUpLevel_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int LvUpLevel {
    get { return lvUpLevel_; }
    set {
      lvUpLevel_ = value;
    }
  }

  /// <summary>Field number for the "fixed_ability" field.</summary>
  public const int FixedAbilityFieldNumber = 2;
  private static readonly pb::FieldCodec<string> _repeated_fixedAbility_codec
      = pb::FieldCodec.ForString(18);
  private readonly pbc::RepeatedField<string> fixedAbility_ = new pbc::RepeatedField<string>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<string> FixedAbility {
    get { return fixedAbility_; }
  }

  /// <summary>Field number for the "random_ability" field.</summary>
  public const int RandomAbilityFieldNumber = 3;
  private static readonly pb::FieldCodec<string> _repeated_randomAbility_codec
      = pb::FieldCodec.ForString(26);
  private readonly pbc::RepeatedField<string> randomAbility_ = new pbc::RepeatedField<string>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<string> RandomAbility {
    get { return randomAbility_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSyncRpgLevelUp);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSyncRpgLevelUp other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (LvUpLevel != other.LvUpLevel) return false;
    if(!fixedAbility_.Equals(other.fixedAbility_)) return false;
    if(!randomAbility_.Equals(other.randomAbility_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (LvUpLevel != 0) hash ^= LvUpLevel.GetHashCode();
    hash ^= fixedAbility_.GetHashCode();
    hash ^= randomAbility_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (LvUpLevel != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(LvUpLevel);
    }
    fixedAbility_.WriteTo(output, _repeated_fixedAbility_codec);
    randomAbility_.WriteTo(output, _repeated_randomAbility_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (LvUpLevel != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(LvUpLevel);
    }
    size += fixedAbility_.CalculateSize(_repeated_fixedAbility_codec);
    size += randomAbility_.CalculateSize(_repeated_randomAbility_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSyncRpgLevelUp other) {
    if (other == null) {
      return;
    }
    if (other.LvUpLevel != 0) {
      LvUpLevel = other.LvUpLevel;
    }
    fixedAbility_.Add(other.fixedAbility_);
    randomAbility_.Add(other.randomAbility_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          LvUpLevel = input.ReadInt32();
          break;
        }
        case 18: {
          fixedAbility_.AddEntriesFrom(input, _repeated_fixedAbility_codec);
          break;
        }
        case 26: {
          randomAbility_.AddEntriesFrom(input, _repeated_randomAbility_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class CsRpgDungeonPickLvAbility : pb::IMessage<CsRpgDungeonPickLvAbility> {
  private static readonly pb::MessageParser<CsRpgDungeonPickLvAbility> _parser = new pb::MessageParser<CsRpgDungeonPickLvAbility>(() => new CsRpgDungeonPickLvAbility());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsRpgDungeonPickLvAbility> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[827]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsRpgDungeonPickLvAbility() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsRpgDungeonPickLvAbility(CsRpgDungeonPickLvAbility other) : this() {
    level_ = other.level_;
    randomAbility_ = other.randomAbility_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsRpgDungeonPickLvAbility Clone() {
    return new CsRpgDungeonPickLvAbility(this);
  }

  /// <summary>Field number for the "level" field.</summary>
  public const int LevelFieldNumber = 1;
  private int level_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Level {
    get { return level_; }
    set {
      level_ = value;
    }
  }

  /// <summary>Field number for the "random_ability" field.</summary>
  public const int RandomAbilityFieldNumber = 2;
  private string randomAbility_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string RandomAbility {
    get { return randomAbility_; }
    set {
      randomAbility_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsRpgDungeonPickLvAbility);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsRpgDungeonPickLvAbility other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Level != other.Level) return false;
    if (RandomAbility != other.RandomAbility) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Level != 0) hash ^= Level.GetHashCode();
    if (RandomAbility.Length != 0) hash ^= RandomAbility.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Level != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(Level);
    }
    if (RandomAbility.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(RandomAbility);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Level != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Level);
    }
    if (RandomAbility.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(RandomAbility);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsRpgDungeonPickLvAbility other) {
    if (other == null) {
      return;
    }
    if (other.Level != 0) {
      Level = other.Level;
    }
    if (other.RandomAbility.Length != 0) {
      RandomAbility = other.RandomAbility;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Level = input.ReadInt32();
          break;
        }
        case 18: {
          RandomAbility = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class ScRpgDungeonPickLvAbility : pb::IMessage<ScRpgDungeonPickLvAbility> {
  private static readonly pb::MessageParser<ScRpgDungeonPickLvAbility> _parser = new pb::MessageParser<ScRpgDungeonPickLvAbility>(() => new ScRpgDungeonPickLvAbility());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScRpgDungeonPickLvAbility> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[828]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScRpgDungeonPickLvAbility() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScRpgDungeonPickLvAbility(ScRpgDungeonPickLvAbility other) : this() {
    curTeamLevel_ = other.curTeamLevel_;
    totalFixedAbility_ = other.totalFixedAbility_.Clone();
    totalRandomAbility_ = other.totalRandomAbility_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScRpgDungeonPickLvAbility Clone() {
    return new ScRpgDungeonPickLvAbility(this);
  }

  /// <summary>Field number for the "cur_team_level" field.</summary>
  public const int CurTeamLevelFieldNumber = 1;
  private int curTeamLevel_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CurTeamLevel {
    get { return curTeamLevel_; }
    set {
      curTeamLevel_ = value;
    }
  }

  /// <summary>Field number for the "total_fixed_ability" field.</summary>
  public const int TotalFixedAbilityFieldNumber = 2;
  private static readonly pb::FieldCodec<string> _repeated_totalFixedAbility_codec
      = pb::FieldCodec.ForString(18);
  private readonly pbc::RepeatedField<string> totalFixedAbility_ = new pbc::RepeatedField<string>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<string> TotalFixedAbility {
    get { return totalFixedAbility_; }
  }

  /// <summary>Field number for the "total_random_ability" field.</summary>
  public const int TotalRandomAbilityFieldNumber = 3;
  private static readonly pbc::MapField<int, string>.Codec _map_totalRandomAbility_codec
      = new pbc::MapField<int, string>.Codec(pb::FieldCodec.ForInt32(8), pb::FieldCodec.ForString(18), 26);
  private readonly pbc::MapField<int, string> totalRandomAbility_ = new pbc::MapField<int, string>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<int, string> TotalRandomAbility {
    get { return totalRandomAbility_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScRpgDungeonPickLvAbility);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScRpgDungeonPickLvAbility other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (CurTeamLevel != other.CurTeamLevel) return false;
    if(!totalFixedAbility_.Equals(other.totalFixedAbility_)) return false;
    if (!TotalRandomAbility.Equals(other.TotalRandomAbility)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (CurTeamLevel != 0) hash ^= CurTeamLevel.GetHashCode();
    hash ^= totalFixedAbility_.GetHashCode();
    hash ^= TotalRandomAbility.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (CurTeamLevel != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(CurTeamLevel);
    }
    totalFixedAbility_.WriteTo(output, _repeated_totalFixedAbility_codec);
    totalRandomAbility_.WriteTo(output, _map_totalRandomAbility_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (CurTeamLevel != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(CurTeamLevel);
    }
    size += totalFixedAbility_.CalculateSize(_repeated_totalFixedAbility_codec);
    size += totalRandomAbility_.CalculateSize(_map_totalRandomAbility_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScRpgDungeonPickLvAbility other) {
    if (other == null) {
      return;
    }
    if (other.CurTeamLevel != 0) {
      CurTeamLevel = other.CurTeamLevel;
    }
    totalFixedAbility_.Add(other.totalFixedAbility_);
    totalRandomAbility_.Add(other.totalRandomAbility_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          CurTeamLevel = input.ReadInt32();
          break;
        }
        case 18: {
          totalFixedAbility_.AddEntriesFrom(input, _repeated_totalFixedAbility_codec);
          break;
        }
        case 26: {
          totalRandomAbility_.AddEntriesFrom(input, _map_totalRandomAbility_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class CsRpgDungeonTimeStop : pb::IMessage<CsRpgDungeonTimeStop> {
  private static readonly pb::MessageParser<CsRpgDungeonTimeStop> _parser = new pb::MessageParser<CsRpgDungeonTimeStop>(() => new CsRpgDungeonTimeStop());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsRpgDungeonTimeStop> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[829]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsRpgDungeonTimeStop() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsRpgDungeonTimeStop(CsRpgDungeonTimeStop other) : this() {
    onTimeResume_ = other.onTimeResume_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsRpgDungeonTimeStop Clone() {
    return new CsRpgDungeonTimeStop(this);
  }

  /// <summary>Field number for the "on_time_resume" field.</summary>
  public const int OnTimeResumeFieldNumber = 1;
  private bool onTimeResume_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool OnTimeResume {
    get { return onTimeResume_; }
    set {
      onTimeResume_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsRpgDungeonTimeStop);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsRpgDungeonTimeStop other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (OnTimeResume != other.OnTimeResume) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (OnTimeResume != false) hash ^= OnTimeResume.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (OnTimeResume != false) {
      output.WriteRawTag(8);
      output.WriteBool(OnTimeResume);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (OnTimeResume != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsRpgDungeonTimeStop other) {
    if (other == null) {
      return;
    }
    if (other.OnTimeResume != false) {
      OnTimeResume = other.OnTimeResume;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          OnTimeResume = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class ScSyncRpgDungeonTimeInfo : pb::IMessage<ScSyncRpgDungeonTimeInfo> {
  private static readonly pb::MessageParser<ScSyncRpgDungeonTimeInfo> _parser = new pb::MessageParser<ScSyncRpgDungeonTimeInfo>(() => new ScSyncRpgDungeonTimeInfo());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSyncRpgDungeonTimeInfo> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[830]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncRpgDungeonTimeInfo() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncRpgDungeonTimeInfo(ScSyncRpgDungeonTimeInfo other) : this() {
    onTimeStop_ = other.onTimeStop_;
    waveEndTime_ = other.waveEndTime_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncRpgDungeonTimeInfo Clone() {
    return new ScSyncRpgDungeonTimeInfo(this);
  }

  /// <summary>Field number for the "on_time_stop" field.</summary>
  public const int OnTimeStopFieldNumber = 1;
  private bool onTimeStop_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool OnTimeStop {
    get { return onTimeStop_; }
    set {
      onTimeStop_ = value;
    }
  }

  /// <summary>Field number for the "wave_end_time" field.</summary>
  public const int WaveEndTimeFieldNumber = 2;
  private long waveEndTime_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long WaveEndTime {
    get { return waveEndTime_; }
    set {
      waveEndTime_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSyncRpgDungeonTimeInfo);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSyncRpgDungeonTimeInfo other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (OnTimeStop != other.OnTimeStop) return false;
    if (WaveEndTime != other.WaveEndTime) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (OnTimeStop != false) hash ^= OnTimeStop.GetHashCode();
    if (WaveEndTime != 0L) hash ^= WaveEndTime.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (OnTimeStop != false) {
      output.WriteRawTag(8);
      output.WriteBool(OnTimeStop);
    }
    if (WaveEndTime != 0L) {
      output.WriteRawTag(16);
      output.WriteInt64(WaveEndTime);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (OnTimeStop != false) {
      size += 1 + 1;
    }
    if (WaveEndTime != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(WaveEndTime);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSyncRpgDungeonTimeInfo other) {
    if (other == null) {
      return;
    }
    if (other.OnTimeStop != false) {
      OnTimeStop = other.OnTimeStop;
    }
    if (other.WaveEndTime != 0L) {
      WaveEndTime = other.WaveEndTime;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          OnTimeStop = input.ReadBool();
          break;
        }
        case 16: {
          WaveEndTime = input.ReadInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class CsRpgDungeonAbilityChange : pb::IMessage<CsRpgDungeonAbilityChange> {
  private static readonly pb::MessageParser<CsRpgDungeonAbilityChange> _parser = new pb::MessageParser<CsRpgDungeonAbilityChange>(() => new CsRpgDungeonAbilityChange());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsRpgDungeonAbilityChange> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[831]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsRpgDungeonAbilityChange() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsRpgDungeonAbilityChange(CsRpgDungeonAbilityChange other) : this() {
    abilityId_ = other.abilityId_;
    duration_ = other.duration_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsRpgDungeonAbilityChange Clone() {
    return new CsRpgDungeonAbilityChange(this);
  }

  /// <summary>Field number for the "ability_id" field.</summary>
  public const int AbilityIdFieldNumber = 1;
  private string abilityId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string AbilityId {
    get { return abilityId_; }
    set {
      abilityId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "duration" field.</summary>
  public const int DurationFieldNumber = 2;
  private long duration_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long Duration {
    get { return duration_; }
    set {
      duration_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsRpgDungeonAbilityChange);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsRpgDungeonAbilityChange other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (AbilityId != other.AbilityId) return false;
    if (Duration != other.Duration) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (AbilityId.Length != 0) hash ^= AbilityId.GetHashCode();
    if (Duration != 0L) hash ^= Duration.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (AbilityId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(AbilityId);
    }
    if (Duration != 0L) {
      output.WriteRawTag(16);
      output.WriteInt64(Duration);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (AbilityId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(AbilityId);
    }
    if (Duration != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(Duration);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsRpgDungeonAbilityChange other) {
    if (other == null) {
      return;
    }
    if (other.AbilityId.Length != 0) {
      AbilityId = other.AbilityId;
    }
    if (other.Duration != 0L) {
      Duration = other.Duration;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          AbilityId = input.ReadString();
          break;
        }
        case 16: {
          Duration = input.ReadInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class CsEnterScene : pb::IMessage<CsEnterScene> {
  private static readonly pb::MessageParser<CsEnterScene> _parser = new pb::MessageParser<CsEnterScene>(() => new CsEnterScene());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsEnterScene> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[832]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsEnterScene() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsEnterScene(CsEnterScene other) : this() {
    sceneNumId_ = other.sceneNumId_;
    position_ = other.position_ != null ? other.position_.Clone() : null;
    rotation_ = other.rotation_ != null ? other.rotation_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsEnterScene Clone() {
    return new CsEnterScene(this);
  }

  /// <summary>Field number for the "scene_num_id" field.</summary>
  public const int SceneNumIdFieldNumber = 1;
  private int sceneNumId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int SceneNumId {
    get { return sceneNumId_; }
    set {
      sceneNumId_ = value;
    }
  }

  /// <summary>Field number for the "position" field.</summary>
  public const int PositionFieldNumber = 2;
  private global::Vector position_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::Vector Position {
    get { return position_; }
    set {
      position_ = value;
    }
  }

  /// <summary>Field number for the "rotation" field.</summary>
  public const int RotationFieldNumber = 3;
  private global::Vector rotation_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::Vector Rotation {
    get { return rotation_; }
    set {
      rotation_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsEnterScene);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsEnterScene other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SceneNumId != other.SceneNumId) return false;
    if (!object.Equals(Position, other.Position)) return false;
    if (!object.Equals(Rotation, other.Rotation)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SceneNumId != 0) hash ^= SceneNumId.GetHashCode();
    if (position_ != null) hash ^= Position.GetHashCode();
    if (rotation_ != null) hash ^= Rotation.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SceneNumId != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(SceneNumId);
    }
    if (position_ != null) {
      output.WriteRawTag(18);
      output.WriteMessage(Position);
    }
    if (rotation_ != null) {
      output.WriteRawTag(26);
      output.WriteMessage(Rotation);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SceneNumId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(SceneNumId);
    }
    if (position_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Position);
    }
    if (rotation_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Rotation);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsEnterScene other) {
    if (other == null) {
      return;
    }
    if (other.SceneNumId != 0) {
      SceneNumId = other.SceneNumId;
    }
    if (other.position_ != null) {
      if (position_ == null) {
        position_ = new global::Vector();
      }
      Position.MergeFrom(other.Position);
    }
    if (other.rotation_ != null) {
      if (rotation_ == null) {
        rotation_ = new global::Vector();
      }
      Rotation.MergeFrom(other.Rotation);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          SceneNumId = input.ReadInt32();
          break;
        }
        case 18: {
          if (position_ == null) {
            position_ = new global::Vector();
          }
          input.ReadMessage(position_);
          break;
        }
        case 26: {
          if (rotation_ == null) {
            rotation_ = new global::Vector();
          }
          input.ReadMessage(rotation_);
          break;
        }
      }
    }
  }

}

public sealed partial class CsSceneLeavePlane : pb::IMessage<CsSceneLeavePlane> {
  private static readonly pb::MessageParser<CsSceneLeavePlane> _parser = new pb::MessageParser<CsSceneLeavePlane>(() => new CsSceneLeavePlane());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsSceneLeavePlane> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[833]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneLeavePlane() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneLeavePlane(CsSceneLeavePlane other) : this() {
    position_ = other.position_ != null ? other.position_.Clone() : null;
    rotation_ = other.rotation_ != null ? other.rotation_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneLeavePlane Clone() {
    return new CsSceneLeavePlane(this);
  }

  /// <summary>Field number for the "position" field.</summary>
  public const int PositionFieldNumber = 1;
  private global::Vector position_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::Vector Position {
    get { return position_; }
    set {
      position_ = value;
    }
  }

  /// <summary>Field number for the "rotation" field.</summary>
  public const int RotationFieldNumber = 2;
  private global::Vector rotation_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::Vector Rotation {
    get { return rotation_; }
    set {
      rotation_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsSceneLeavePlane);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsSceneLeavePlane other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!object.Equals(Position, other.Position)) return false;
    if (!object.Equals(Rotation, other.Rotation)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (position_ != null) hash ^= Position.GetHashCode();
    if (rotation_ != null) hash ^= Rotation.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (position_ != null) {
      output.WriteRawTag(10);
      output.WriteMessage(Position);
    }
    if (rotation_ != null) {
      output.WriteRawTag(18);
      output.WriteMessage(Rotation);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (position_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Position);
    }
    if (rotation_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Rotation);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsSceneLeavePlane other) {
    if (other == null) {
      return;
    }
    if (other.position_ != null) {
      if (position_ == null) {
        position_ = new global::Vector();
      }
      Position.MergeFrom(other.Position);
    }
    if (other.rotation_ != null) {
      if (rotation_ == null) {
        rotation_ = new global::Vector();
      }
      Rotation.MergeFrom(other.Rotation);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          if (position_ == null) {
            position_ = new global::Vector();
          }
          input.ReadMessage(position_);
          break;
        }
        case 18: {
          if (rotation_ == null) {
            rotation_ = new global::Vector();
          }
          input.ReadMessage(rotation_);
          break;
        }
      }
    }
  }

}

public sealed partial class SceneObjectCommonInfo : pb::IMessage<SceneObjectCommonInfo> {
  private static readonly pb::MessageParser<SceneObjectCommonInfo> _parser = new pb::MessageParser<SceneObjectCommonInfo>(() => new SceneObjectCommonInfo());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<SceneObjectCommonInfo> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[834]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SceneObjectCommonInfo() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SceneObjectCommonInfo(SceneObjectCommonInfo other) : this() {
    id_ = other.id_;
    type_ = other.type_;
    templateid_ = other.templateid_;
    position_ = other.position_ != null ? other.position_.Clone() : null;
    rotation_ = other.rotation_ != null ? other.rotation_.Clone() : null;
    belongLevelScriptId_ = other.belongLevelScriptId_;
    sceneNumId_ = other.sceneNumId_;
    hp_ = other.hp_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SceneObjectCommonInfo Clone() {
    return new SceneObjectCommonInfo(this);
  }

  /// <summary>Field number for the "id" field.</summary>
  public const int IdFieldNumber = 1;
  private ulong id_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong 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]
  public int Type {
    get { return type_; }
    set {
      type_ = value;
    }
  }

  /// <summary>Field number for the "templateid" field.</summary>
  public const int TemplateidFieldNumber = 3;
  private string templateid_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string Templateid {
    get { return templateid_; }
    set {
      templateid_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "position" field.</summary>
  public const int PositionFieldNumber = 4;
  private global::Vector position_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::Vector Position {
    get { return position_; }
    set {
      position_ = value;
    }
  }

  /// <summary>Field number for the "rotation" field.</summary>
  public const int RotationFieldNumber = 5;
  private global::Vector rotation_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::Vector Rotation {
    get { return rotation_; }
    set {
      rotation_ = value;
    }
  }

  /// <summary>Field number for the "belong_level_script_id" field.</summary>
  public const int BelongLevelScriptIdFieldNumber = 6;
  private ulong belongLevelScriptId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong BelongLevelScriptId {
    get { return belongLevelScriptId_; }
    set {
      belongLevelScriptId_ = value;
    }
  }

  /// <summary>Field number for the "scene_num_id" field.</summary>
  public const int SceneNumIdFieldNumber = 7;
  private int sceneNumId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int SceneNumId {
    get { return sceneNumId_; }
    set {
      sceneNumId_ = value;
    }
  }

  /// <summary>Field number for the "hp" field.</summary>
  public const int HpFieldNumber = 8;
  private double hp_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public double Hp {
    get { return hp_; }
    set {
      hp_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as SceneObjectCommonInfo);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(SceneObjectCommonInfo 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 (Templateid != other.Templateid) return false;
    if (!object.Equals(Position, other.Position)) return false;
    if (!object.Equals(Rotation, other.Rotation)) return false;
    if (BelongLevelScriptId != other.BelongLevelScriptId) return false;
    if (SceneNumId != other.SceneNumId) return false;
    if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(Hp, other.Hp)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Id != 0UL) hash ^= Id.GetHashCode();
    if (Type != 0) hash ^= Type.GetHashCode();
    if (Templateid.Length != 0) hash ^= Templateid.GetHashCode();
    if (position_ != null) hash ^= Position.GetHashCode();
    if (rotation_ != null) hash ^= Rotation.GetHashCode();
    if (BelongLevelScriptId != 0UL) hash ^= BelongLevelScriptId.GetHashCode();
    if (SceneNumId != 0) hash ^= SceneNumId.GetHashCode();
    if (Hp != 0D) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(Hp);
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Id != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(Id);
    }
    if (Type != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(Type);
    }
    if (Templateid.Length != 0) {
      output.WriteRawTag(26);
      output.WriteString(Templateid);
    }
    if (position_ != null) {
      output.WriteRawTag(34);
      output.WriteMessage(Position);
    }
    if (rotation_ != null) {
      output.WriteRawTag(42);
      output.WriteMessage(Rotation);
    }
    if (BelongLevelScriptId != 0UL) {
      output.WriteRawTag(48);
      output.WriteUInt64(BelongLevelScriptId);
    }
    if (SceneNumId != 0) {
      output.WriteRawTag(56);
      output.WriteInt32(SceneNumId);
    }
    if (Hp != 0D) {
      output.WriteRawTag(65);
      output.WriteDouble(Hp);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Id != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(Id);
    }
    if (Type != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Type);
    }
    if (Templateid.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(Templateid);
    }
    if (position_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Position);
    }
    if (rotation_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Rotation);
    }
    if (BelongLevelScriptId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(BelongLevelScriptId);
    }
    if (SceneNumId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(SceneNumId);
    }
    if (Hp != 0D) {
      size += 1 + 8;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(SceneObjectCommonInfo other) {
    if (other == null) {
      return;
    }
    if (other.Id != 0UL) {
      Id = other.Id;
    }
    if (other.Type != 0) {
      Type = other.Type;
    }
    if (other.Templateid.Length != 0) {
      Templateid = other.Templateid;
    }
    if (other.position_ != null) {
      if (position_ == null) {
        position_ = new global::Vector();
      }
      Position.MergeFrom(other.Position);
    }
    if (other.rotation_ != null) {
      if (rotation_ == null) {
        rotation_ = new global::Vector();
      }
      Rotation.MergeFrom(other.Rotation);
    }
    if (other.BelongLevelScriptId != 0UL) {
      BelongLevelScriptId = other.BelongLevelScriptId;
    }
    if (other.SceneNumId != 0) {
      SceneNumId = other.SceneNumId;
    }
    if (other.Hp != 0D) {
      Hp = other.Hp;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Id = input.ReadUInt64();
          break;
        }
        case 16: {
          Type = input.ReadInt32();
          break;
        }
        case 26: {
          Templateid = input.ReadString();
          break;
        }
        case 34: {
          if (position_ == null) {
            position_ = new global::Vector();
          }
          input.ReadMessage(position_);
          break;
        }
        case 42: {
          if (rotation_ == null) {
            rotation_ = new global::Vector();
          }
          input.ReadMessage(rotation_);
          break;
        }
        case 48: {
          BelongLevelScriptId = input.ReadUInt64();
          break;
        }
        case 56: {
          SceneNumId = input.ReadInt32();
          break;
        }
        case 65: {
          Hp = input.ReadDouble();
          break;
        }
      }
    }
  }

}

public sealed partial class SceneCharacter : pb::IMessage<SceneCharacter> {
  private static readonly pb::MessageParser<SceneCharacter> _parser = new pb::MessageParser<SceneCharacter>(() => new SceneCharacter());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<SceneCharacter> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[835]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SceneCharacter() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SceneCharacter(SceneCharacter other) : this() {
    commonInfo_ = other.commonInfo_ != null ? other.commonInfo_.Clone() : null;
    level_ = other.level_;
    name_ = other.name_;
    attrs_ = other.attrs_.Clone();
    battleInfo_ = other.battleInfo_ != null ? other.battleInfo_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SceneCharacter Clone() {
    return new SceneCharacter(this);
  }

  /// <summary>Field number for the "common_info" field.</summary>
  public const int CommonInfoFieldNumber = 1;
  private global::SceneObjectCommonInfo commonInfo_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::SceneObjectCommonInfo CommonInfo {
    get { return commonInfo_; }
    set {
      commonInfo_ = value;
    }
  }

  /// <summary>Field number for the "level" field.</summary>
  public const int LevelFieldNumber = 2;
  private int level_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  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]
  public string Name {
    get { return name_; }
    set {
      name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "attrs" field.</summary>
  public const int AttrsFieldNumber = 4;
  private static readonly pb::FieldCodec<global::AttrInfo> _repeated_attrs_codec
      = pb::FieldCodec.ForMessage(34, global::AttrInfo.Parser);
  private readonly pbc::RepeatedField<global::AttrInfo> attrs_ = new pbc::RepeatedField<global::AttrInfo>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::AttrInfo> Attrs {
    get { return attrs_; }
  }

  /// <summary>Field number for the "battle_info" field.</summary>
  public const int BattleInfoFieldNumber = 5;
  private global::BattleMgrInfo battleInfo_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleMgrInfo BattleInfo {
    get { return battleInfo_; }
    set {
      battleInfo_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as SceneCharacter);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(SceneCharacter other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!object.Equals(CommonInfo, other.CommonInfo)) return false;
    if (Level != other.Level) return false;
    if (Name != other.Name) return false;
    if(!attrs_.Equals(other.attrs_)) return false;
    if (!object.Equals(BattleInfo, other.BattleInfo)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (commonInfo_ != null) hash ^= CommonInfo.GetHashCode();
    if (Level != 0) hash ^= Level.GetHashCode();
    if (Name.Length != 0) hash ^= Name.GetHashCode();
    hash ^= attrs_.GetHashCode();
    if (battleInfo_ != null) hash ^= BattleInfo.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (commonInfo_ != null) {
      output.WriteRawTag(10);
      output.WriteMessage(CommonInfo);
    }
    if (Level != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(Level);
    }
    if (Name.Length != 0) {
      output.WriteRawTag(26);
      output.WriteString(Name);
    }
    attrs_.WriteTo(output, _repeated_attrs_codec);
    if (battleInfo_ != null) {
      output.WriteRawTag(42);
      output.WriteMessage(BattleInfo);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (commonInfo_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(CommonInfo);
    }
    if (Level != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Level);
    }
    if (Name.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
    }
    size += attrs_.CalculateSize(_repeated_attrs_codec);
    if (battleInfo_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(BattleInfo);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(SceneCharacter other) {
    if (other == null) {
      return;
    }
    if (other.commonInfo_ != null) {
      if (commonInfo_ == null) {
        commonInfo_ = new global::SceneObjectCommonInfo();
      }
      CommonInfo.MergeFrom(other.CommonInfo);
    }
    if (other.Level != 0) {
      Level = other.Level;
    }
    if (other.Name.Length != 0) {
      Name = other.Name;
    }
    attrs_.Add(other.attrs_);
    if (other.battleInfo_ != null) {
      if (battleInfo_ == null) {
        battleInfo_ = new global::BattleMgrInfo();
      }
      BattleInfo.MergeFrom(other.BattleInfo);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          if (commonInfo_ == null) {
            commonInfo_ = new global::SceneObjectCommonInfo();
          }
          input.ReadMessage(commonInfo_);
          break;
        }
        case 16: {
          Level = input.ReadInt32();
          break;
        }
        case 26: {
          Name = input.ReadString();
          break;
        }
        case 34: {
          attrs_.AddEntriesFrom(input, _repeated_attrs_codec);
          break;
        }
        case 42: {
          if (battleInfo_ == null) {
            battleInfo_ = new global::BattleMgrInfo();
          }
          input.ReadMessage(battleInfo_);
          break;
        }
      }
    }
  }

}

public sealed partial class SceneMonster : pb::IMessage<SceneMonster> {
  private static readonly pb::MessageParser<SceneMonster> _parser = new pb::MessageParser<SceneMonster>(() => new SceneMonster());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<SceneMonster> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[836]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SceneMonster() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SceneMonster(SceneMonster other) : this() {
    commonInfo_ = other.commonInfo_ != null ? other.commonInfo_.Clone() : null;
    originId_ = other.originId_;
    level_ = other.level_;
    attrs_ = other.attrs_.Clone();
    battleInfo_ = other.battleInfo_ != null ? other.battleInfo_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SceneMonster Clone() {
    return new SceneMonster(this);
  }

  /// <summary>Field number for the "common_info" field.</summary>
  public const int CommonInfoFieldNumber = 1;
  private global::SceneObjectCommonInfo commonInfo_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::SceneObjectCommonInfo CommonInfo {
    get { return commonInfo_; }
    set {
      commonInfo_ = value;
    }
  }

  /// <summary>Field number for the "origin_id" field.</summary>
  public const int OriginIdFieldNumber = 2;
  private ulong originId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong OriginId {
    get { return originId_; }
    set {
      originId_ = value;
    }
  }

  /// <summary>Field number for the "level" field.</summary>
  public const int LevelFieldNumber = 3;
  private int level_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Level {
    get { return level_; }
    set {
      level_ = value;
    }
  }

  /// <summary>Field number for the "attrs" field.</summary>
  public const int AttrsFieldNumber = 4;
  private static readonly pb::FieldCodec<global::AttrInfo> _repeated_attrs_codec
      = pb::FieldCodec.ForMessage(34, global::AttrInfo.Parser);
  private readonly pbc::RepeatedField<global::AttrInfo> attrs_ = new pbc::RepeatedField<global::AttrInfo>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::AttrInfo> Attrs {
    get { return attrs_; }
  }

  /// <summary>Field number for the "battle_info" field.</summary>
  public const int BattleInfoFieldNumber = 5;
  private global::BattleMgrInfo battleInfo_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleMgrInfo BattleInfo {
    get { return battleInfo_; }
    set {
      battleInfo_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as SceneMonster);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(SceneMonster other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!object.Equals(CommonInfo, other.CommonInfo)) return false;
    if (OriginId != other.OriginId) return false;
    if (Level != other.Level) return false;
    if(!attrs_.Equals(other.attrs_)) return false;
    if (!object.Equals(BattleInfo, other.BattleInfo)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (commonInfo_ != null) hash ^= CommonInfo.GetHashCode();
    if (OriginId != 0UL) hash ^= OriginId.GetHashCode();
    if (Level != 0) hash ^= Level.GetHashCode();
    hash ^= attrs_.GetHashCode();
    if (battleInfo_ != null) hash ^= BattleInfo.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (commonInfo_ != null) {
      output.WriteRawTag(10);
      output.WriteMessage(CommonInfo);
    }
    if (OriginId != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(OriginId);
    }
    if (Level != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(Level);
    }
    attrs_.WriteTo(output, _repeated_attrs_codec);
    if (battleInfo_ != null) {
      output.WriteRawTag(42);
      output.WriteMessage(BattleInfo);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (commonInfo_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(CommonInfo);
    }
    if (OriginId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(OriginId);
    }
    if (Level != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Level);
    }
    size += attrs_.CalculateSize(_repeated_attrs_codec);
    if (battleInfo_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(BattleInfo);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(SceneMonster other) {
    if (other == null) {
      return;
    }
    if (other.commonInfo_ != null) {
      if (commonInfo_ == null) {
        commonInfo_ = new global::SceneObjectCommonInfo();
      }
      CommonInfo.MergeFrom(other.CommonInfo);
    }
    if (other.OriginId != 0UL) {
      OriginId = other.OriginId;
    }
    if (other.Level != 0) {
      Level = other.Level;
    }
    attrs_.Add(other.attrs_);
    if (other.battleInfo_ != null) {
      if (battleInfo_ == null) {
        battleInfo_ = new global::BattleMgrInfo();
      }
      BattleInfo.MergeFrom(other.BattleInfo);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          if (commonInfo_ == null) {
            commonInfo_ = new global::SceneObjectCommonInfo();
          }
          input.ReadMessage(commonInfo_);
          break;
        }
        case 16: {
          OriginId = input.ReadUInt64();
          break;
        }
        case 24: {
          Level = input.ReadInt32();
          break;
        }
        case 34: {
          attrs_.AddEntriesFrom(input, _repeated_attrs_codec);
          break;
        }
        case 42: {
          if (battleInfo_ == null) {
            battleInfo_ = new global::BattleMgrInfo();
          }
          input.ReadMessage(battleInfo_);
          break;
        }
      }
    }
  }

}

public sealed partial class SceneInteractive : pb::IMessage<SceneInteractive> {
  private static readonly pb::MessageParser<SceneInteractive> _parser = new pb::MessageParser<SceneInteractive>(() => new SceneInteractive());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<SceneInteractive> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[837]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SceneInteractive() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SceneInteractive(SceneInteractive other) : this() {
    commonInfo_ = other.commonInfo_ != null ? other.commonInfo_.Clone() : null;
    originId_ = other.originId_;
    properties_ = other.properties_.Clone();
    meta_ = other.meta_;
    battleInfo_ = other.battleInfo_ != null ? other.battleInfo_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SceneInteractive Clone() {
    return new SceneInteractive(this);
  }

  /// <summary>Field number for the "common_info" field.</summary>
  public const int CommonInfoFieldNumber = 1;
  private global::SceneObjectCommonInfo commonInfo_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::SceneObjectCommonInfo CommonInfo {
    get { return commonInfo_; }
    set {
      commonInfo_ = value;
    }
  }

  /// <summary>Field number for the "origin_id" field.</summary>
  public const int OriginIdFieldNumber = 2;
  private ulong originId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong OriginId {
    get { return originId_; }
    set {
      originId_ = value;
    }
  }

  /// <summary>Field number for the "properties" field.</summary>
  public const int PropertiesFieldNumber = 4;
  private static readonly pbc::MapField<int, global::DynamicParameter>.Codec _map_properties_codec
      = new pbc::MapField<int, global::DynamicParameter>.Codec(pb::FieldCodec.ForInt32(8), pb::FieldCodec.ForMessage(18, global::DynamicParameter.Parser), 34);
  private readonly pbc::MapField<int, global::DynamicParameter> properties_ = new pbc::MapField<int, global::DynamicParameter>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<int, global::DynamicParameter> Properties {
    get { return properties_; }
  }

  /// <summary>Field number for the "meta" field.</summary>
  public const int MetaFieldNumber = 5;
  private int meta_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Meta {
    get { return meta_; }
    set {
      meta_ = value;
    }
  }

  /// <summary>Field number for the "battle_info" field.</summary>
  public const int BattleInfoFieldNumber = 6;
  private global::BattleMgrInfo battleInfo_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleMgrInfo BattleInfo {
    get { return battleInfo_; }
    set {
      battleInfo_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as SceneInteractive);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(SceneInteractive other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!object.Equals(CommonInfo, other.CommonInfo)) return false;
    if (OriginId != other.OriginId) return false;
    if (!Properties.Equals(other.Properties)) return false;
    if (Meta != other.Meta) return false;
    if (!object.Equals(BattleInfo, other.BattleInfo)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (commonInfo_ != null) hash ^= CommonInfo.GetHashCode();
    if (OriginId != 0UL) hash ^= OriginId.GetHashCode();
    hash ^= Properties.GetHashCode();
    if (Meta != 0) hash ^= Meta.GetHashCode();
    if (battleInfo_ != null) hash ^= BattleInfo.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (commonInfo_ != null) {
      output.WriteRawTag(10);
      output.WriteMessage(CommonInfo);
    }
    if (OriginId != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(OriginId);
    }
    properties_.WriteTo(output, _map_properties_codec);
    if (Meta != 0) {
      output.WriteRawTag(40);
      output.WriteInt32(Meta);
    }
    if (battleInfo_ != null) {
      output.WriteRawTag(50);
      output.WriteMessage(BattleInfo);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (commonInfo_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(CommonInfo);
    }
    if (OriginId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(OriginId);
    }
    size += properties_.CalculateSize(_map_properties_codec);
    if (Meta != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Meta);
    }
    if (battleInfo_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(BattleInfo);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(SceneInteractive other) {
    if (other == null) {
      return;
    }
    if (other.commonInfo_ != null) {
      if (commonInfo_ == null) {
        commonInfo_ = new global::SceneObjectCommonInfo();
      }
      CommonInfo.MergeFrom(other.CommonInfo);
    }
    if (other.OriginId != 0UL) {
      OriginId = other.OriginId;
    }
    properties_.Add(other.properties_);
    if (other.Meta != 0) {
      Meta = other.Meta;
    }
    if (other.battleInfo_ != null) {
      if (battleInfo_ == null) {
        battleInfo_ = new global::BattleMgrInfo();
      }
      BattleInfo.MergeFrom(other.BattleInfo);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          if (commonInfo_ == null) {
            commonInfo_ = new global::SceneObjectCommonInfo();
          }
          input.ReadMessage(commonInfo_);
          break;
        }
        case 16: {
          OriginId = input.ReadUInt64();
          break;
        }
        case 34: {
          properties_.AddEntriesFrom(input, _map_properties_codec);
          break;
        }
        case 40: {
          Meta = input.ReadInt32();
          break;
        }
        case 50: {
          if (battleInfo_ == null) {
            battleInfo_ = new global::BattleMgrInfo();
          }
          input.ReadMessage(battleInfo_);
          break;
        }
      }
    }
  }

}

public sealed partial class SceneSummonSkill : pb::IMessage<SceneSummonSkill> {
  private static readonly pb::MessageParser<SceneSummonSkill> _parser = new pb::MessageParser<SceneSummonSkill>(() => new SceneSummonSkill());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<SceneSummonSkill> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[838]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SceneSummonSkill() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SceneSummonSkill(SceneSummonSkill other) : this() {
    skillId_ = other.skillId_;
    assignedItems_ = other.assignedItems_ != null ? other.assignedItems_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SceneSummonSkill Clone() {
    return new SceneSummonSkill(this);
  }

  /// <summary>Field number for the "skill_id" field.</summary>
  public const int SkillIdFieldNumber = 1;
  private string skillId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string SkillId {
    get { return skillId_; }
    set {
      skillId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "assigned_items" field.</summary>
  public const int AssignedItemsFieldNumber = 2;
  private global::BattleBlackboard assignedItems_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleBlackboard AssignedItems {
    get { return assignedItems_; }
    set {
      assignedItems_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as SceneSummonSkill);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(SceneSummonSkill other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SkillId != other.SkillId) return false;
    if (!object.Equals(AssignedItems, other.AssignedItems)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SkillId.Length != 0) hash ^= SkillId.GetHashCode();
    if (assignedItems_ != null) hash ^= AssignedItems.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SkillId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(SkillId);
    }
    if (assignedItems_ != null) {
      output.WriteRawTag(18);
      output.WriteMessage(AssignedItems);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SkillId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(SkillId);
    }
    if (assignedItems_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(AssignedItems);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(SceneSummonSkill other) {
    if (other == null) {
      return;
    }
    if (other.SkillId.Length != 0) {
      SkillId = other.SkillId;
    }
    if (other.assignedItems_ != null) {
      if (assignedItems_ == null) {
        assignedItems_ = new global::BattleBlackboard();
      }
      AssignedItems.MergeFrom(other.AssignedItems);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          SkillId = input.ReadString();
          break;
        }
        case 18: {
          if (assignedItems_ == null) {
            assignedItems_ = new global::BattleBlackboard();
          }
          input.ReadMessage(assignedItems_);
          break;
        }
      }
    }
  }

}

public sealed partial class SceneSummon : pb::IMessage<SceneSummon> {
  private static readonly pb::MessageParser<SceneSummon> _parser = new pb::MessageParser<SceneSummon>(() => new SceneSummon());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<SceneSummon> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[839]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SceneSummon() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SceneSummon(SceneSummon other) : this() {
    commonInfo_ = other.commonInfo_ != null ? other.commonInfo_.Clone() : null;
    skills_ = other.skills_.Clone();
    attrs_ = other.attrs_.Clone();
    battleInfo_ = other.battleInfo_ != null ? other.battleInfo_.Clone() : null;
    castSkillId_ = other.castSkillId_;
    blackboard_ = other.blackboard_ != null ? other.blackboard_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SceneSummon Clone() {
    return new SceneSummon(this);
  }

  /// <summary>Field number for the "common_info" field.</summary>
  public const int CommonInfoFieldNumber = 1;
  private global::SceneObjectCommonInfo commonInfo_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::SceneObjectCommonInfo CommonInfo {
    get { return commonInfo_; }
    set {
      commonInfo_ = value;
    }
  }

  /// <summary>Field number for the "skills" field.</summary>
  public const int SkillsFieldNumber = 2;
  private static readonly pbc::MapField<ulong, global::SceneSummonSkill>.Codec _map_skills_codec
      = new pbc::MapField<ulong, global::SceneSummonSkill>.Codec(pb::FieldCodec.ForUInt64(8), pb::FieldCodec.ForMessage(18, global::SceneSummonSkill.Parser), 18);
  private readonly pbc::MapField<ulong, global::SceneSummonSkill> skills_ = new pbc::MapField<ulong, global::SceneSummonSkill>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<ulong, global::SceneSummonSkill> Skills {
    get { return skills_; }
  }

  /// <summary>Field number for the "attrs" field.</summary>
  public const int AttrsFieldNumber = 3;
  private static readonly pb::FieldCodec<global::AttrInfo> _repeated_attrs_codec
      = pb::FieldCodec.ForMessage(26, global::AttrInfo.Parser);
  private readonly pbc::RepeatedField<global::AttrInfo> attrs_ = new pbc::RepeatedField<global::AttrInfo>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::AttrInfo> Attrs {
    get { return attrs_; }
  }

  /// <summary>Field number for the "battle_info" field.</summary>
  public const int BattleInfoFieldNumber = 4;
  private global::BattleMgrInfo battleInfo_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleMgrInfo BattleInfo {
    get { return battleInfo_; }
    set {
      battleInfo_ = value;
    }
  }

  /// <summary>Field number for the "cast_skill_id" field.</summary>
  public const int CastSkillIdFieldNumber = 5;
  private string castSkillId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string CastSkillId {
    get { return castSkillId_; }
    set {
      castSkillId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "blackboard" field.</summary>
  public const int BlackboardFieldNumber = 6;
  private global::BattleBlackboard blackboard_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleBlackboard Blackboard {
    get { return blackboard_; }
    set {
      blackboard_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as SceneSummon);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(SceneSummon other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!object.Equals(CommonInfo, other.CommonInfo)) return false;
    if (!Skills.Equals(other.Skills)) return false;
    if(!attrs_.Equals(other.attrs_)) return false;
    if (!object.Equals(BattleInfo, other.BattleInfo)) return false;
    if (CastSkillId != other.CastSkillId) return false;
    if (!object.Equals(Blackboard, other.Blackboard)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (commonInfo_ != null) hash ^= CommonInfo.GetHashCode();
    hash ^= Skills.GetHashCode();
    hash ^= attrs_.GetHashCode();
    if (battleInfo_ != null) hash ^= BattleInfo.GetHashCode();
    if (CastSkillId.Length != 0) hash ^= CastSkillId.GetHashCode();
    if (blackboard_ != null) hash ^= Blackboard.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (commonInfo_ != null) {
      output.WriteRawTag(10);
      output.WriteMessage(CommonInfo);
    }
    skills_.WriteTo(output, _map_skills_codec);
    attrs_.WriteTo(output, _repeated_attrs_codec);
    if (battleInfo_ != null) {
      output.WriteRawTag(34);
      output.WriteMessage(BattleInfo);
    }
    if (CastSkillId.Length != 0) {
      output.WriteRawTag(42);
      output.WriteString(CastSkillId);
    }
    if (blackboard_ != null) {
      output.WriteRawTag(50);
      output.WriteMessage(Blackboard);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (commonInfo_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(CommonInfo);
    }
    size += skills_.CalculateSize(_map_skills_codec);
    size += attrs_.CalculateSize(_repeated_attrs_codec);
    if (battleInfo_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(BattleInfo);
    }
    if (CastSkillId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(CastSkillId);
    }
    if (blackboard_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Blackboard);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(SceneSummon other) {
    if (other == null) {
      return;
    }
    if (other.commonInfo_ != null) {
      if (commonInfo_ == null) {
        commonInfo_ = new global::SceneObjectCommonInfo();
      }
      CommonInfo.MergeFrom(other.CommonInfo);
    }
    skills_.Add(other.skills_);
    attrs_.Add(other.attrs_);
    if (other.battleInfo_ != null) {
      if (battleInfo_ == null) {
        battleInfo_ = new global::BattleMgrInfo();
      }
      BattleInfo.MergeFrom(other.BattleInfo);
    }
    if (other.CastSkillId.Length != 0) {
      CastSkillId = other.CastSkillId;
    }
    if (other.blackboard_ != null) {
      if (blackboard_ == null) {
        blackboard_ = new global::BattleBlackboard();
      }
      Blackboard.MergeFrom(other.Blackboard);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          if (commonInfo_ == null) {
            commonInfo_ = new global::SceneObjectCommonInfo();
          }
          input.ReadMessage(commonInfo_);
          break;
        }
        case 18: {
          skills_.AddEntriesFrom(input, _map_skills_codec);
          break;
        }
        case 26: {
          attrs_.AddEntriesFrom(input, _repeated_attrs_codec);
          break;
        }
        case 34: {
          if (battleInfo_ == null) {
            battleInfo_ = new global::BattleMgrInfo();
          }
          input.ReadMessage(battleInfo_);
          break;
        }
        case 42: {
          CastSkillId = input.ReadString();
          break;
        }
        case 50: {
          if (blackboard_ == null) {
            blackboard_ = new global::BattleBlackboard();
          }
          input.ReadMessage(blackboard_);
          break;
        }
      }
    }
  }

}

public sealed partial class SceneNpc : pb::IMessage<SceneNpc> {
  private static readonly pb::MessageParser<SceneNpc> _parser = new pb::MessageParser<SceneNpc>(() => new SceneNpc());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<SceneNpc> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[840]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SceneNpc() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SceneNpc(SceneNpc other) : this() {
    commonInfo_ = other.commonInfo_ != null ? other.commonInfo_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SceneNpc Clone() {
    return new SceneNpc(this);
  }

  /// <summary>Field number for the "common_info" field.</summary>
  public const int CommonInfoFieldNumber = 1;
  private global::SceneObjectCommonInfo commonInfo_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::SceneObjectCommonInfo CommonInfo {
    get { return commonInfo_; }
    set {
      commonInfo_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as SceneNpc);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(SceneNpc other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!object.Equals(CommonInfo, other.CommonInfo)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (commonInfo_ != null) hash ^= CommonInfo.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (commonInfo_ != null) {
      output.WriteRawTag(10);
      output.WriteMessage(CommonInfo);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (commonInfo_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(CommonInfo);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(SceneNpc other) {
    if (other == null) {
      return;
    }
    if (other.commonInfo_ != null) {
      if (commonInfo_ == null) {
        commonInfo_ = new global::SceneObjectCommonInfo();
      }
      CommonInfo.MergeFrom(other.CommonInfo);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          if (commonInfo_ == null) {
            commonInfo_ = new global::SceneObjectCommonInfo();
          }
          input.ReadMessage(commonInfo_);
          break;
        }
      }
    }
  }

}

public sealed partial class SceneObjectDetailContainer : pb::IMessage<SceneObjectDetailContainer> {
  private static readonly pb::MessageParser<SceneObjectDetailContainer> _parser = new pb::MessageParser<SceneObjectDetailContainer>(() => new SceneObjectDetailContainer());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<SceneObjectDetailContainer> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[841]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SceneObjectDetailContainer() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SceneObjectDetailContainer(SceneObjectDetailContainer other) : this() {
    teamType_ = other.teamType_;
    teamIndex_ = other.teamIndex_;
    teamChangeToken_ = other.teamChangeToken_;
    charList_ = other.charList_.Clone();
    monsterList_ = other.monsterList_.Clone();
    interactiveList_ = other.interactiveList_.Clone();
    npcList_ = other.npcList_.Clone();
    summonList_ = other.summonList_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SceneObjectDetailContainer Clone() {
    return new SceneObjectDetailContainer(this);
  }

  /// <summary>Field number for the "team_type" field.</summary>
  public const int TeamTypeFieldNumber = 11;
  private global::CharBagTeamType teamType_ = 0;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::CharBagTeamType TeamType {
    get { return teamType_; }
    set {
      teamType_ = value;
    }
  }

  /// <summary>Field number for the "team_index" field.</summary>
  public const int TeamIndexFieldNumber = 6;
  private int teamIndex_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int TeamIndex {
    get { return teamIndex_; }
    set {
      teamIndex_ = value;
    }
  }

  /// <summary>Field number for the "team_change_token" field.</summary>
  public const int TeamChangeTokenFieldNumber = 7;
  private ulong teamChangeToken_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong TeamChangeToken {
    get { return teamChangeToken_; }
    set {
      teamChangeToken_ = value;
    }
  }

  /// <summary>Field number for the "char_list" field.</summary>
  public const int CharListFieldNumber = 1;
  private static readonly pb::FieldCodec<global::SceneCharacter> _repeated_charList_codec
      = pb::FieldCodec.ForMessage(10, global::SceneCharacter.Parser);
  private readonly pbc::RepeatedField<global::SceneCharacter> charList_ = new pbc::RepeatedField<global::SceneCharacter>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::SceneCharacter> CharList {
    get { return charList_; }
  }

  /// <summary>Field number for the "monster_list" field.</summary>
  public const int MonsterListFieldNumber = 2;
  private static readonly pb::FieldCodec<global::SceneMonster> _repeated_monsterList_codec
      = pb::FieldCodec.ForMessage(18, global::SceneMonster.Parser);
  private readonly pbc::RepeatedField<global::SceneMonster> monsterList_ = new pbc::RepeatedField<global::SceneMonster>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::SceneMonster> MonsterList {
    get { return monsterList_; }
  }

  /// <summary>Field number for the "interactive_list" field.</summary>
  public const int InteractiveListFieldNumber = 3;
  private static readonly pb::FieldCodec<global::SceneInteractive> _repeated_interactiveList_codec
      = pb::FieldCodec.ForMessage(26, global::SceneInteractive.Parser);
  private readonly pbc::RepeatedField<global::SceneInteractive> interactiveList_ = new pbc::RepeatedField<global::SceneInteractive>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::SceneInteractive> InteractiveList {
    get { return interactiveList_; }
  }

  /// <summary>Field number for the "npc_list" field.</summary>
  public const int NpcListFieldNumber = 4;
  private static readonly pb::FieldCodec<global::SceneNpc> _repeated_npcList_codec
      = pb::FieldCodec.ForMessage(34, global::SceneNpc.Parser);
  private readonly pbc::RepeatedField<global::SceneNpc> npcList_ = new pbc::RepeatedField<global::SceneNpc>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::SceneNpc> NpcList {
    get { return npcList_; }
  }

  /// <summary>Field number for the "summon_list" field.</summary>
  public const int SummonListFieldNumber = 5;
  private static readonly pb::FieldCodec<global::SceneSummon> _repeated_summonList_codec
      = pb::FieldCodec.ForMessage(42, global::SceneSummon.Parser);
  private readonly pbc::RepeatedField<global::SceneSummon> summonList_ = new pbc::RepeatedField<global::SceneSummon>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::SceneSummon> SummonList {
    get { return summonList_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as SceneObjectDetailContainer);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(SceneObjectDetailContainer other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (TeamType != other.TeamType) return false;
    if (TeamIndex != other.TeamIndex) return false;
    if (TeamChangeToken != other.TeamChangeToken) return false;
    if(!charList_.Equals(other.charList_)) return false;
    if(!monsterList_.Equals(other.monsterList_)) return false;
    if(!interactiveList_.Equals(other.interactiveList_)) return false;
    if(!npcList_.Equals(other.npcList_)) return false;
    if(!summonList_.Equals(other.summonList_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (TeamType != 0) hash ^= TeamType.GetHashCode();
    if (TeamIndex != 0) hash ^= TeamIndex.GetHashCode();
    if (TeamChangeToken != 0UL) hash ^= TeamChangeToken.GetHashCode();
    hash ^= charList_.GetHashCode();
    hash ^= monsterList_.GetHashCode();
    hash ^= interactiveList_.GetHashCode();
    hash ^= npcList_.GetHashCode();
    hash ^= summonList_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    charList_.WriteTo(output, _repeated_charList_codec);
    monsterList_.WriteTo(output, _repeated_monsterList_codec);
    interactiveList_.WriteTo(output, _repeated_interactiveList_codec);
    npcList_.WriteTo(output, _repeated_npcList_codec);
    summonList_.WriteTo(output, _repeated_summonList_codec);
    if (TeamIndex != 0) {
      output.WriteRawTag(48);
      output.WriteInt32(TeamIndex);
    }
    if (TeamChangeToken != 0UL) {
      output.WriteRawTag(56);
      output.WriteUInt64(TeamChangeToken);
    }
    if (TeamType != 0) {
      output.WriteRawTag(88);
      output.WriteEnum((int) TeamType);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (TeamType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) TeamType);
    }
    if (TeamIndex != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(TeamIndex);
    }
    if (TeamChangeToken != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(TeamChangeToken);
    }
    size += charList_.CalculateSize(_repeated_charList_codec);
    size += monsterList_.CalculateSize(_repeated_monsterList_codec);
    size += interactiveList_.CalculateSize(_repeated_interactiveList_codec);
    size += npcList_.CalculateSize(_repeated_npcList_codec);
    size += summonList_.CalculateSize(_repeated_summonList_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(SceneObjectDetailContainer other) {
    if (other == null) {
      return;
    }
    if (other.TeamType != 0) {
      TeamType = other.TeamType;
    }
    if (other.TeamIndex != 0) {
      TeamIndex = other.TeamIndex;
    }
    if (other.TeamChangeToken != 0UL) {
      TeamChangeToken = other.TeamChangeToken;
    }
    charList_.Add(other.charList_);
    monsterList_.Add(other.monsterList_);
    interactiveList_.Add(other.interactiveList_);
    npcList_.Add(other.npcList_);
    summonList_.Add(other.summonList_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          charList_.AddEntriesFrom(input, _repeated_charList_codec);
          break;
        }
        case 18: {
          monsterList_.AddEntriesFrom(input, _repeated_monsterList_codec);
          break;
        }
        case 26: {
          interactiveList_.AddEntriesFrom(input, _repeated_interactiveList_codec);
          break;
        }
        case 34: {
          npcList_.AddEntriesFrom(input, _repeated_npcList_codec);
          break;
        }
        case 42: {
          summonList_.AddEntriesFrom(input, _repeated_summonList_codec);
          break;
        }
        case 48: {
          TeamIndex = input.ReadInt32();
          break;
        }
        case 56: {
          TeamChangeToken = input.ReadUInt64();
          break;
        }
        case 88: {
          teamType_ = (global::CharBagTeamType) input.ReadEnum();
          break;
        }
      }
    }
  }

}

public sealed partial class CsSceneSetLevelScriptActive : pb::IMessage<CsSceneSetLevelScriptActive> {
  private static readonly pb::MessageParser<CsSceneSetLevelScriptActive> _parser = new pb::MessageParser<CsSceneSetLevelScriptActive>(() => new CsSceneSetLevelScriptActive());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsSceneSetLevelScriptActive> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[842]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneSetLevelScriptActive() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneSetLevelScriptActive(CsSceneSetLevelScriptActive other) : this() {
    sceneNumId_ = other.sceneNumId_;
    scriptId_ = other.scriptId_;
    isActive_ = other.isActive_;
    leaderPos_ = other.leaderPos_ != null ? other.leaderPos_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneSetLevelScriptActive Clone() {
    return new CsSceneSetLevelScriptActive(this);
  }

  /// <summary>Field number for the "scene_num_id" field.</summary>
  public const int SceneNumIdFieldNumber = 1;
  private int sceneNumId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int SceneNumId {
    get { return sceneNumId_; }
    set {
      sceneNumId_ = value;
    }
  }

  /// <summary>Field number for the "script_id" field.</summary>
  public const int ScriptIdFieldNumber = 2;
  private ulong scriptId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong ScriptId {
    get { return scriptId_; }
    set {
      scriptId_ = value;
    }
  }

  /// <summary>Field number for the "is_active" field.</summary>
  public const int IsActiveFieldNumber = 3;
  private bool isActive_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool IsActive {
    get { return isActive_; }
    set {
      isActive_ = value;
    }
  }

  /// <summary>Field number for the "leader_pos" field.</summary>
  public const int LeaderPosFieldNumber = 4;
  private global::Vector leaderPos_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::Vector LeaderPos {
    get { return leaderPos_; }
    set {
      leaderPos_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsSceneSetLevelScriptActive);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsSceneSetLevelScriptActive other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SceneNumId != other.SceneNumId) return false;
    if (ScriptId != other.ScriptId) return false;
    if (IsActive != other.IsActive) return false;
    if (!object.Equals(LeaderPos, other.LeaderPos)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SceneNumId != 0) hash ^= SceneNumId.GetHashCode();
    if (ScriptId != 0UL) hash ^= ScriptId.GetHashCode();
    if (IsActive != false) hash ^= IsActive.GetHashCode();
    if (leaderPos_ != null) hash ^= LeaderPos.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SceneNumId != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(SceneNumId);
    }
    if (ScriptId != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(ScriptId);
    }
    if (IsActive != false) {
      output.WriteRawTag(24);
      output.WriteBool(IsActive);
    }
    if (leaderPos_ != null) {
      output.WriteRawTag(34);
      output.WriteMessage(LeaderPos);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SceneNumId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(SceneNumId);
    }
    if (ScriptId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(ScriptId);
    }
    if (IsActive != false) {
      size += 1 + 1;
    }
    if (leaderPos_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(LeaderPos);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsSceneSetLevelScriptActive other) {
    if (other == null) {
      return;
    }
    if (other.SceneNumId != 0) {
      SceneNumId = other.SceneNumId;
    }
    if (other.ScriptId != 0UL) {
      ScriptId = other.ScriptId;
    }
    if (other.IsActive != false) {
      IsActive = other.IsActive;
    }
    if (other.leaderPos_ != null) {
      if (leaderPos_ == null) {
        leaderPos_ = new global::Vector();
      }
      LeaderPos.MergeFrom(other.LeaderPos);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          SceneNumId = input.ReadInt32();
          break;
        }
        case 16: {
          ScriptId = input.ReadUInt64();
          break;
        }
        case 24: {
          IsActive = input.ReadBool();
          break;
        }
        case 34: {
          if (leaderPos_ == null) {
            leaderPos_ = new global::Vector();
          }
          input.ReadMessage(leaderPos_);
          break;
        }
      }
    }
  }

}

public sealed partial class CsSceneSetLevelScriptStart : pb::IMessage<CsSceneSetLevelScriptStart> {
  private static readonly pb::MessageParser<CsSceneSetLevelScriptStart> _parser = new pb::MessageParser<CsSceneSetLevelScriptStart>(() => new CsSceneSetLevelScriptStart());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsSceneSetLevelScriptStart> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[843]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneSetLevelScriptStart() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneSetLevelScriptStart(CsSceneSetLevelScriptStart other) : this() {
    sceneNumId_ = other.sceneNumId_;
    scriptId_ = other.scriptId_;
    isStart_ = other.isStart_;
    leaderPos_ = other.leaderPos_ != null ? other.leaderPos_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneSetLevelScriptStart Clone() {
    return new CsSceneSetLevelScriptStart(this);
  }

  /// <summary>Field number for the "scene_num_id" field.</summary>
  public const int SceneNumIdFieldNumber = 1;
  private int sceneNumId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int SceneNumId {
    get { return sceneNumId_; }
    set {
      sceneNumId_ = value;
    }
  }

  /// <summary>Field number for the "script_id" field.</summary>
  public const int ScriptIdFieldNumber = 2;
  private ulong scriptId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong ScriptId {
    get { return scriptId_; }
    set {
      scriptId_ = value;
    }
  }

  /// <summary>Field number for the "is_start" field.</summary>
  public const int IsStartFieldNumber = 3;
  private bool isStart_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool IsStart {
    get { return isStart_; }
    set {
      isStart_ = value;
    }
  }

  /// <summary>Field number for the "leader_pos" field.</summary>
  public const int LeaderPosFieldNumber = 4;
  private global::Vector leaderPos_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::Vector LeaderPos {
    get { return leaderPos_; }
    set {
      leaderPos_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsSceneSetLevelScriptStart);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsSceneSetLevelScriptStart other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SceneNumId != other.SceneNumId) return false;
    if (ScriptId != other.ScriptId) return false;
    if (IsStart != other.IsStart) return false;
    if (!object.Equals(LeaderPos, other.LeaderPos)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SceneNumId != 0) hash ^= SceneNumId.GetHashCode();
    if (ScriptId != 0UL) hash ^= ScriptId.GetHashCode();
    if (IsStart != false) hash ^= IsStart.GetHashCode();
    if (leaderPos_ != null) hash ^= LeaderPos.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SceneNumId != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(SceneNumId);
    }
    if (ScriptId != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(ScriptId);
    }
    if (IsStart != false) {
      output.WriteRawTag(24);
      output.WriteBool(IsStart);
    }
    if (leaderPos_ != null) {
      output.WriteRawTag(34);
      output.WriteMessage(LeaderPos);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SceneNumId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(SceneNumId);
    }
    if (ScriptId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(ScriptId);
    }
    if (IsStart != false) {
      size += 1 + 1;
    }
    if (leaderPos_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(LeaderPos);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsSceneSetLevelScriptStart other) {
    if (other == null) {
      return;
    }
    if (other.SceneNumId != 0) {
      SceneNumId = other.SceneNumId;
    }
    if (other.ScriptId != 0UL) {
      ScriptId = other.ScriptId;
    }
    if (other.IsStart != false) {
      IsStart = other.IsStart;
    }
    if (other.leaderPos_ != null) {
      if (leaderPos_ == null) {
        leaderPos_ = new global::Vector();
      }
      LeaderPos.MergeFrom(other.LeaderPos);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          SceneNumId = input.ReadInt32();
          break;
        }
        case 16: {
          ScriptId = input.ReadUInt64();
          break;
        }
        case 24: {
          IsStart = input.ReadBool();
          break;
        }
        case 34: {
          if (leaderPos_ == null) {
            leaderPos_ = new global::Vector();
          }
          input.ReadMessage(leaderPos_);
          break;
        }
      }
    }
  }

}

public sealed partial class CsSceneLevelScriptEventTrigger : pb::IMessage<CsSceneLevelScriptEventTrigger> {
  private static readonly pb::MessageParser<CsSceneLevelScriptEventTrigger> _parser = new pb::MessageParser<CsSceneLevelScriptEventTrigger>(() => new CsSceneLevelScriptEventTrigger());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsSceneLevelScriptEventTrigger> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[844]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneLevelScriptEventTrigger() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneLevelScriptEventTrigger(CsSceneLevelScriptEventTrigger other) : this() {
    sceneNumId_ = other.sceneNumId_;
    scriptId_ = other.scriptId_;
    eventName_ = other.eventName_;
    properties_ = other.properties_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneLevelScriptEventTrigger Clone() {
    return new CsSceneLevelScriptEventTrigger(this);
  }

  /// <summary>Field number for the "scene_num_id" field.</summary>
  public const int SceneNumIdFieldNumber = 1;
  private int sceneNumId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int SceneNumId {
    get { return sceneNumId_; }
    set {
      sceneNumId_ = value;
    }
  }

  /// <summary>Field number for the "script_id" field.</summary>
  public const int ScriptIdFieldNumber = 2;
  private ulong scriptId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong ScriptId {
    get { return scriptId_; }
    set {
      scriptId_ = value;
    }
  }

  /// <summary>Field number for the "event_name" field.</summary>
  public const int EventNameFieldNumber = 3;
  private string eventName_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string EventName {
    get { return eventName_; }
    set {
      eventName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "properties" field.</summary>
  public const int PropertiesFieldNumber = 4;
  private static readonly pbc::MapField<string, global::DynamicParameter>.Codec _map_properties_codec
      = new pbc::MapField<string, global::DynamicParameter>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForMessage(18, global::DynamicParameter.Parser), 34);
  private readonly pbc::MapField<string, global::DynamicParameter> properties_ = new pbc::MapField<string, global::DynamicParameter>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<string, global::DynamicParameter> Properties {
    get { return properties_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsSceneLevelScriptEventTrigger);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsSceneLevelScriptEventTrigger other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SceneNumId != other.SceneNumId) return false;
    if (ScriptId != other.ScriptId) return false;
    if (EventName != other.EventName) return false;
    if (!Properties.Equals(other.Properties)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SceneNumId != 0) hash ^= SceneNumId.GetHashCode();
    if (ScriptId != 0UL) hash ^= ScriptId.GetHashCode();
    if (EventName.Length != 0) hash ^= EventName.GetHashCode();
    hash ^= Properties.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SceneNumId != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(SceneNumId);
    }
    if (ScriptId != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(ScriptId);
    }
    if (EventName.Length != 0) {
      output.WriteRawTag(26);
      output.WriteString(EventName);
    }
    properties_.WriteTo(output, _map_properties_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SceneNumId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(SceneNumId);
    }
    if (ScriptId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(ScriptId);
    }
    if (EventName.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(EventName);
    }
    size += properties_.CalculateSize(_map_properties_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsSceneLevelScriptEventTrigger other) {
    if (other == null) {
      return;
    }
    if (other.SceneNumId != 0) {
      SceneNumId = other.SceneNumId;
    }
    if (other.ScriptId != 0UL) {
      ScriptId = other.ScriptId;
    }
    if (other.EventName.Length != 0) {
      EventName = other.EventName;
    }
    properties_.Add(other.properties_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          SceneNumId = input.ReadInt32();
          break;
        }
        case 16: {
          ScriptId = input.ReadUInt64();
          break;
        }
        case 26: {
          EventName = input.ReadString();
          break;
        }
        case 34: {
          properties_.AddEntriesFrom(input, _map_properties_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class CsSceneCommitLevelScriptCacheStep : pb::IMessage<CsSceneCommitLevelScriptCacheStep> {
  private static readonly pb::MessageParser<CsSceneCommitLevelScriptCacheStep> _parser = new pb::MessageParser<CsSceneCommitLevelScriptCacheStep>(() => new CsSceneCommitLevelScriptCacheStep());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsSceneCommitLevelScriptCacheStep> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[845]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneCommitLevelScriptCacheStep() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneCommitLevelScriptCacheStep(CsSceneCommitLevelScriptCacheStep other) : this() {
    sceneNumId_ = other.sceneNumId_;
    scriptId_ = other.scriptId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneCommitLevelScriptCacheStep Clone() {
    return new CsSceneCommitLevelScriptCacheStep(this);
  }

  /// <summary>Field number for the "scene_num_id" field.</summary>
  public const int SceneNumIdFieldNumber = 1;
  private int sceneNumId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int SceneNumId {
    get { return sceneNumId_; }
    set {
      sceneNumId_ = value;
    }
  }

  /// <summary>Field number for the "script_id" field.</summary>
  public const int ScriptIdFieldNumber = 2;
  private ulong scriptId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong ScriptId {
    get { return scriptId_; }
    set {
      scriptId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsSceneCommitLevelScriptCacheStep);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsSceneCommitLevelScriptCacheStep other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SceneNumId != other.SceneNumId) return false;
    if (ScriptId != other.ScriptId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SceneNumId != 0) hash ^= SceneNumId.GetHashCode();
    if (ScriptId != 0UL) hash ^= ScriptId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SceneNumId != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(SceneNumId);
    }
    if (ScriptId != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(ScriptId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SceneNumId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(SceneNumId);
    }
    if (ScriptId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(ScriptId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsSceneCommitLevelScriptCacheStep other) {
    if (other == null) {
      return;
    }
    if (other.SceneNumId != 0) {
      SceneNumId = other.SceneNumId;
    }
    if (other.ScriptId != 0UL) {
      ScriptId = other.ScriptId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          SceneNumId = input.ReadInt32();
          break;
        }
        case 16: {
          ScriptId = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class LevelScriptInfo : pb::IMessage<LevelScriptInfo> {
  private static readonly pb::MessageParser<LevelScriptInfo> _parser = new pb::MessageParser<LevelScriptInfo>(() => new LevelScriptInfo());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<LevelScriptInfo> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[846]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public LevelScriptInfo() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public LevelScriptInfo(LevelScriptInfo other) : this() {
    scriptId_ = other.scriptId_;
    state_ = other.state_;
    properties_ = other.properties_.Clone();
    isDone_ = other.isDone_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public LevelScriptInfo Clone() {
    return new LevelScriptInfo(this);
  }

  /// <summary>Field number for the "script_id" field.</summary>
  public const int ScriptIdFieldNumber = 1;
  private ulong scriptId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong ScriptId {
    get { return scriptId_; }
    set {
      scriptId_ = value;
    }
  }

  /// <summary>Field number for the "state" field.</summary>
  public const int StateFieldNumber = 2;
  private int state_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int State {
    get { return state_; }
    set {
      state_ = value;
    }
  }

  /// <summary>Field number for the "properties" field.</summary>
  public const int PropertiesFieldNumber = 3;
  private static readonly pbc::MapField<int, global::DynamicParameter>.Codec _map_properties_codec
      = new pbc::MapField<int, global::DynamicParameter>.Codec(pb::FieldCodec.ForInt32(8), pb::FieldCodec.ForMessage(18, global::DynamicParameter.Parser), 26);
  private readonly pbc::MapField<int, global::DynamicParameter> properties_ = new pbc::MapField<int, global::DynamicParameter>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<int, global::DynamicParameter> Properties {
    get { return properties_; }
  }

  /// <summary>Field number for the "is_done" field.</summary>
  public const int IsDoneFieldNumber = 4;
  private bool isDone_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool IsDone {
    get { return isDone_; }
    set {
      isDone_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as LevelScriptInfo);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(LevelScriptInfo other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ScriptId != other.ScriptId) return false;
    if (State != other.State) return false;
    if (!Properties.Equals(other.Properties)) return false;
    if (IsDone != other.IsDone) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ScriptId != 0UL) hash ^= ScriptId.GetHashCode();
    if (State != 0) hash ^= State.GetHashCode();
    hash ^= Properties.GetHashCode();
    if (IsDone != false) hash ^= IsDone.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ScriptId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(ScriptId);
    }
    if (State != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(State);
    }
    properties_.WriteTo(output, _map_properties_codec);
    if (IsDone != false) {
      output.WriteRawTag(32);
      output.WriteBool(IsDone);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ScriptId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(ScriptId);
    }
    if (State != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(State);
    }
    size += properties_.CalculateSize(_map_properties_codec);
    if (IsDone != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(LevelScriptInfo other) {
    if (other == null) {
      return;
    }
    if (other.ScriptId != 0UL) {
      ScriptId = other.ScriptId;
    }
    if (other.State != 0) {
      State = other.State;
    }
    properties_.Add(other.properties_);
    if (other.IsDone != false) {
      IsDone = other.IsDone;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ScriptId = input.ReadUInt64();
          break;
        }
        case 16: {
          State = input.ReadInt32();
          break;
        }
        case 26: {
          properties_.AddEntriesFrom(input, _map_properties_codec);
          break;
        }
        case 32: {
          IsDone = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class ScSceneUpdateLevelScriptProperty : pb::IMessage<ScSceneUpdateLevelScriptProperty> {
  private static readonly pb::MessageParser<ScSceneUpdateLevelScriptProperty> _parser = new pb::MessageParser<ScSceneUpdateLevelScriptProperty>(() => new ScSceneUpdateLevelScriptProperty());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSceneUpdateLevelScriptProperty> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[847]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneUpdateLevelScriptProperty() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneUpdateLevelScriptProperty(ScSceneUpdateLevelScriptProperty other) : this() {
    sceneNumId_ = other.sceneNumId_;
    scriptId_ = other.scriptId_;
    properties_ = other.properties_.Clone();
    clientOperate_ = other.clientOperate_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneUpdateLevelScriptProperty Clone() {
    return new ScSceneUpdateLevelScriptProperty(this);
  }

  /// <summary>Field number for the "scene_num_id" field.</summary>
  public const int SceneNumIdFieldNumber = 1;
  private int sceneNumId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int SceneNumId {
    get { return sceneNumId_; }
    set {
      sceneNumId_ = value;
    }
  }

  /// <summary>Field number for the "script_id" field.</summary>
  public const int ScriptIdFieldNumber = 2;
  private ulong scriptId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong ScriptId {
    get { return scriptId_; }
    set {
      scriptId_ = value;
    }
  }

  /// <summary>Field number for the "properties" field.</summary>
  public const int PropertiesFieldNumber = 3;
  private static readonly pbc::MapField<int, global::DynamicParameter>.Codec _map_properties_codec
      = new pbc::MapField<int, global::DynamicParameter>.Codec(pb::FieldCodec.ForInt32(8), pb::FieldCodec.ForMessage(18, global::DynamicParameter.Parser), 26);
  private readonly pbc::MapField<int, global::DynamicParameter> properties_ = new pbc::MapField<int, global::DynamicParameter>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<int, global::DynamicParameter> Properties {
    get { return properties_; }
  }

  /// <summary>Field number for the "client_operate" field.</summary>
  public const int ClientOperateFieldNumber = 4;
  private bool clientOperate_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool ClientOperate {
    get { return clientOperate_; }
    set {
      clientOperate_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSceneUpdateLevelScriptProperty);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSceneUpdateLevelScriptProperty other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SceneNumId != other.SceneNumId) return false;
    if (ScriptId != other.ScriptId) return false;
    if (!Properties.Equals(other.Properties)) return false;
    if (ClientOperate != other.ClientOperate) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SceneNumId != 0) hash ^= SceneNumId.GetHashCode();
    if (ScriptId != 0UL) hash ^= ScriptId.GetHashCode();
    hash ^= Properties.GetHashCode();
    if (ClientOperate != false) hash ^= ClientOperate.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SceneNumId != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(SceneNumId);
    }
    if (ScriptId != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(ScriptId);
    }
    properties_.WriteTo(output, _map_properties_codec);
    if (ClientOperate != false) {
      output.WriteRawTag(32);
      output.WriteBool(ClientOperate);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SceneNumId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(SceneNumId);
    }
    if (ScriptId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(ScriptId);
    }
    size += properties_.CalculateSize(_map_properties_codec);
    if (ClientOperate != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSceneUpdateLevelScriptProperty other) {
    if (other == null) {
      return;
    }
    if (other.SceneNumId != 0) {
      SceneNumId = other.SceneNumId;
    }
    if (other.ScriptId != 0UL) {
      ScriptId = other.ScriptId;
    }
    properties_.Add(other.properties_);
    if (other.ClientOperate != false) {
      ClientOperate = other.ClientOperate;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          SceneNumId = input.ReadInt32();
          break;
        }
        case 16: {
          ScriptId = input.ReadUInt64();
          break;
        }
        case 26: {
          properties_.AddEntriesFrom(input, _map_properties_codec);
          break;
        }
        case 32: {
          ClientOperate = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class ScSceneLevelScriptStateNotify : pb::IMessage<ScSceneLevelScriptStateNotify> {
  private static readonly pb::MessageParser<ScSceneLevelScriptStateNotify> _parser = new pb::MessageParser<ScSceneLevelScriptStateNotify>(() => new ScSceneLevelScriptStateNotify());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSceneLevelScriptStateNotify> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[848]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneLevelScriptStateNotify() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneLevelScriptStateNotify(ScSceneLevelScriptStateNotify other) : this() {
    sceneNumId_ = other.sceneNumId_;
    scriptId_ = other.scriptId_;
    state_ = other.state_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneLevelScriptStateNotify Clone() {
    return new ScSceneLevelScriptStateNotify(this);
  }

  /// <summary>Field number for the "scene_num_id" field.</summary>
  public const int SceneNumIdFieldNumber = 1;
  private int sceneNumId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int SceneNumId {
    get { return sceneNumId_; }
    set {
      sceneNumId_ = value;
    }
  }

  /// <summary>Field number for the "script_id" field.</summary>
  public const int ScriptIdFieldNumber = 2;
  private ulong scriptId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong ScriptId {
    get { return scriptId_; }
    set {
      scriptId_ = value;
    }
  }

  /// <summary>Field number for the "state" field.</summary>
  public const int StateFieldNumber = 3;
  private int state_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int State {
    get { return state_; }
    set {
      state_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSceneLevelScriptStateNotify);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSceneLevelScriptStateNotify other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SceneNumId != other.SceneNumId) return false;
    if (ScriptId != other.ScriptId) return false;
    if (State != other.State) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SceneNumId != 0) hash ^= SceneNumId.GetHashCode();
    if (ScriptId != 0UL) hash ^= ScriptId.GetHashCode();
    if (State != 0) hash ^= State.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SceneNumId != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(SceneNumId);
    }
    if (ScriptId != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(ScriptId);
    }
    if (State != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(State);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SceneNumId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(SceneNumId);
    }
    if (ScriptId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(ScriptId);
    }
    if (State != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(State);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSceneLevelScriptStateNotify other) {
    if (other == null) {
      return;
    }
    if (other.SceneNumId != 0) {
      SceneNumId = other.SceneNumId;
    }
    if (other.ScriptId != 0UL) {
      ScriptId = other.ScriptId;
    }
    if (other.State != 0) {
      State = other.State;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          SceneNumId = input.ReadInt32();
          break;
        }
        case 16: {
          ScriptId = input.ReadUInt64();
          break;
        }
        case 24: {
          State = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScSceneLevelScriptResetBegin : pb::IMessage<ScSceneLevelScriptResetBegin> {
  private static readonly pb::MessageParser<ScSceneLevelScriptResetBegin> _parser = new pb::MessageParser<ScSceneLevelScriptResetBegin>(() => new ScSceneLevelScriptResetBegin());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSceneLevelScriptResetBegin> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[849]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneLevelScriptResetBegin() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneLevelScriptResetBegin(ScSceneLevelScriptResetBegin other) : this() {
    sceneNumId_ = other.sceneNumId_;
    scriptId_ = other.scriptId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneLevelScriptResetBegin Clone() {
    return new ScSceneLevelScriptResetBegin(this);
  }

  /// <summary>Field number for the "scene_num_id" field.</summary>
  public const int SceneNumIdFieldNumber = 1;
  private int sceneNumId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int SceneNumId {
    get { return sceneNumId_; }
    set {
      sceneNumId_ = value;
    }
  }

  /// <summary>Field number for the "script_id" field.</summary>
  public const int ScriptIdFieldNumber = 2;
  private ulong scriptId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong ScriptId {
    get { return scriptId_; }
    set {
      scriptId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSceneLevelScriptResetBegin);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSceneLevelScriptResetBegin other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SceneNumId != other.SceneNumId) return false;
    if (ScriptId != other.ScriptId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SceneNumId != 0) hash ^= SceneNumId.GetHashCode();
    if (ScriptId != 0UL) hash ^= ScriptId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SceneNumId != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(SceneNumId);
    }
    if (ScriptId != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(ScriptId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SceneNumId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(SceneNumId);
    }
    if (ScriptId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(ScriptId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSceneLevelScriptResetBegin other) {
    if (other == null) {
      return;
    }
    if (other.SceneNumId != 0) {
      SceneNumId = other.SceneNumId;
    }
    if (other.ScriptId != 0UL) {
      ScriptId = other.ScriptId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          SceneNumId = input.ReadInt32();
          break;
        }
        case 16: {
          ScriptId = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class ScSceneLevelScriptResetEnd : pb::IMessage<ScSceneLevelScriptResetEnd> {
  private static readonly pb::MessageParser<ScSceneLevelScriptResetEnd> _parser = new pb::MessageParser<ScSceneLevelScriptResetEnd>(() => new ScSceneLevelScriptResetEnd());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSceneLevelScriptResetEnd> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[850]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneLevelScriptResetEnd() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneLevelScriptResetEnd(ScSceneLevelScriptResetEnd other) : this() {
    sceneNumId_ = other.sceneNumId_;
    scriptId_ = other.scriptId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneLevelScriptResetEnd Clone() {
    return new ScSceneLevelScriptResetEnd(this);
  }

  /// <summary>Field number for the "scene_num_id" field.</summary>
  public const int SceneNumIdFieldNumber = 1;
  private int sceneNumId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int SceneNumId {
    get { return sceneNumId_; }
    set {
      sceneNumId_ = value;
    }
  }

  /// <summary>Field number for the "script_id" field.</summary>
  public const int ScriptIdFieldNumber = 2;
  private ulong scriptId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong ScriptId {
    get { return scriptId_; }
    set {
      scriptId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSceneLevelScriptResetEnd);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSceneLevelScriptResetEnd other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SceneNumId != other.SceneNumId) return false;
    if (ScriptId != other.ScriptId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SceneNumId != 0) hash ^= SceneNumId.GetHashCode();
    if (ScriptId != 0UL) hash ^= ScriptId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SceneNumId != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(SceneNumId);
    }
    if (ScriptId != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(ScriptId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SceneNumId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(SceneNumId);
    }
    if (ScriptId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(ScriptId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSceneLevelScriptResetEnd other) {
    if (other == null) {
      return;
    }
    if (other.SceneNumId != 0) {
      SceneNumId = other.SceneNumId;
    }
    if (other.ScriptId != 0UL) {
      ScriptId = other.ScriptId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          SceneNumId = input.ReadInt32();
          break;
        }
        case 16: {
          ScriptId = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class ScSceneLevelScriptTaskStateUpdate : pb::IMessage<ScSceneLevelScriptTaskStateUpdate> {
  private static readonly pb::MessageParser<ScSceneLevelScriptTaskStateUpdate> _parser = new pb::MessageParser<ScSceneLevelScriptTaskStateUpdate>(() => new ScSceneLevelScriptTaskStateUpdate());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSceneLevelScriptTaskStateUpdate> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[851]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneLevelScriptTaskStateUpdate() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneLevelScriptTaskStateUpdate(ScSceneLevelScriptTaskStateUpdate other) : this() {
    sceneNumId_ = other.sceneNumId_;
    scriptId_ = other.scriptId_;
    taskId_ = other.taskId_;
    taskState_ = other.taskState_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneLevelScriptTaskStateUpdate Clone() {
    return new ScSceneLevelScriptTaskStateUpdate(this);
  }

  /// <summary>Field number for the "scene_num_id" field.</summary>
  public const int SceneNumIdFieldNumber = 1;
  private int sceneNumId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int SceneNumId {
    get { return sceneNumId_; }
    set {
      sceneNumId_ = value;
    }
  }

  /// <summary>Field number for the "script_id" field.</summary>
  public const int ScriptIdFieldNumber = 2;
  private ulong scriptId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong ScriptId {
    get { return scriptId_; }
    set {
      scriptId_ = value;
    }
  }

  /// <summary>Field number for the "task_id" field.</summary>
  public const int TaskIdFieldNumber = 3;
  private string taskId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string TaskId {
    get { return taskId_; }
    set {
      taskId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "task_state" field.</summary>
  public const int TaskStateFieldNumber = 4;
  private int taskState_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int TaskState {
    get { return taskState_; }
    set {
      taskState_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSceneLevelScriptTaskStateUpdate);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSceneLevelScriptTaskStateUpdate other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SceneNumId != other.SceneNumId) return false;
    if (ScriptId != other.ScriptId) return false;
    if (TaskId != other.TaskId) return false;
    if (TaskState != other.TaskState) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SceneNumId != 0) hash ^= SceneNumId.GetHashCode();
    if (ScriptId != 0UL) hash ^= ScriptId.GetHashCode();
    if (TaskId.Length != 0) hash ^= TaskId.GetHashCode();
    if (TaskState != 0) hash ^= TaskState.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SceneNumId != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(SceneNumId);
    }
    if (ScriptId != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(ScriptId);
    }
    if (TaskId.Length != 0) {
      output.WriteRawTag(26);
      output.WriteString(TaskId);
    }
    if (TaskState != 0) {
      output.WriteRawTag(32);
      output.WriteInt32(TaskState);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SceneNumId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(SceneNumId);
    }
    if (ScriptId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(ScriptId);
    }
    if (TaskId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(TaskId);
    }
    if (TaskState != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(TaskState);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSceneLevelScriptTaskStateUpdate other) {
    if (other == null) {
      return;
    }
    if (other.SceneNumId != 0) {
      SceneNumId = other.SceneNumId;
    }
    if (other.ScriptId != 0UL) {
      ScriptId = other.ScriptId;
    }
    if (other.TaskId.Length != 0) {
      TaskId = other.TaskId;
    }
    if (other.TaskState != 0) {
      TaskState = other.TaskState;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          SceneNumId = input.ReadInt32();
          break;
        }
        case 16: {
          ScriptId = input.ReadUInt64();
          break;
        }
        case 26: {
          TaskId = input.ReadString();
          break;
        }
        case 32: {
          TaskState = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScSceneLevelScriptTaskProgressUpdate : pb::IMessage<ScSceneLevelScriptTaskProgressUpdate> {
  private static readonly pb::MessageParser<ScSceneLevelScriptTaskProgressUpdate> _parser = new pb::MessageParser<ScSceneLevelScriptTaskProgressUpdate>(() => new ScSceneLevelScriptTaskProgressUpdate());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSceneLevelScriptTaskProgressUpdate> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[852]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneLevelScriptTaskProgressUpdate() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneLevelScriptTaskProgressUpdate(ScSceneLevelScriptTaskProgressUpdate other) : this() {
    sceneNumId_ = other.sceneNumId_;
    scriptId_ = other.scriptId_;
    taskId_ = other.taskId_;
    conditionCompletedMap_ = other.conditionCompletedMap_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneLevelScriptTaskProgressUpdate Clone() {
    return new ScSceneLevelScriptTaskProgressUpdate(this);
  }

  /// <summary>Field number for the "scene_num_id" field.</summary>
  public const int SceneNumIdFieldNumber = 1;
  private int sceneNumId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int SceneNumId {
    get { return sceneNumId_; }
    set {
      sceneNumId_ = value;
    }
  }

  /// <summary>Field number for the "script_id" field.</summary>
  public const int ScriptIdFieldNumber = 2;
  private ulong scriptId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong ScriptId {
    get { return scriptId_; }
    set {
      scriptId_ = value;
    }
  }

  /// <summary>Field number for the "task_id" field.</summary>
  public const int TaskIdFieldNumber = 3;
  private string taskId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string TaskId {
    get { return taskId_; }
    set {
      taskId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "condition_completed_map" field.</summary>
  public const int ConditionCompletedMapFieldNumber = 4;
  private static readonly pbc::MapField<string, bool>.Codec _map_conditionCompletedMap_codec
      = new pbc::MapField<string, bool>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForBool(16), 34);
  private readonly pbc::MapField<string, bool> conditionCompletedMap_ = new pbc::MapField<string, bool>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<string, bool> ConditionCompletedMap {
    get { return conditionCompletedMap_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSceneLevelScriptTaskProgressUpdate);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSceneLevelScriptTaskProgressUpdate other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SceneNumId != other.SceneNumId) return false;
    if (ScriptId != other.ScriptId) return false;
    if (TaskId != other.TaskId) return false;
    if (!ConditionCompletedMap.Equals(other.ConditionCompletedMap)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SceneNumId != 0) hash ^= SceneNumId.GetHashCode();
    if (ScriptId != 0UL) hash ^= ScriptId.GetHashCode();
    if (TaskId.Length != 0) hash ^= TaskId.GetHashCode();
    hash ^= ConditionCompletedMap.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SceneNumId != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(SceneNumId);
    }
    if (ScriptId != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(ScriptId);
    }
    if (TaskId.Length != 0) {
      output.WriteRawTag(26);
      output.WriteString(TaskId);
    }
    conditionCompletedMap_.WriteTo(output, _map_conditionCompletedMap_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SceneNumId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(SceneNumId);
    }
    if (ScriptId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(ScriptId);
    }
    if (TaskId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(TaskId);
    }
    size += conditionCompletedMap_.CalculateSize(_map_conditionCompletedMap_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSceneLevelScriptTaskProgressUpdate other) {
    if (other == null) {
      return;
    }
    if (other.SceneNumId != 0) {
      SceneNumId = other.SceneNumId;
    }
    if (other.ScriptId != 0UL) {
      ScriptId = other.ScriptId;
    }
    if (other.TaskId.Length != 0) {
      TaskId = other.TaskId;
    }
    conditionCompletedMap_.Add(other.conditionCompletedMap_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          SceneNumId = input.ReadInt32();
          break;
        }
        case 16: {
          ScriptId = input.ReadUInt64();
          break;
        }
        case 26: {
          TaskId = input.ReadString();
          break;
        }
        case 34: {
          conditionCompletedMap_.AddEntriesFrom(input, _map_conditionCompletedMap_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScSceneLevelScriptTaskStartFinish : pb::IMessage<ScSceneLevelScriptTaskStartFinish> {
  private static readonly pb::MessageParser<ScSceneLevelScriptTaskStartFinish> _parser = new pb::MessageParser<ScSceneLevelScriptTaskStartFinish>(() => new ScSceneLevelScriptTaskStartFinish());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSceneLevelScriptTaskStartFinish> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[853]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneLevelScriptTaskStartFinish() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneLevelScriptTaskStartFinish(ScSceneLevelScriptTaskStartFinish other) : this() {
    sceneNumId_ = other.sceneNumId_;
    scriptId_ = other.scriptId_;
    taskId_ = other.taskId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneLevelScriptTaskStartFinish Clone() {
    return new ScSceneLevelScriptTaskStartFinish(this);
  }

  /// <summary>Field number for the "scene_num_id" field.</summary>
  public const int SceneNumIdFieldNumber = 1;
  private int sceneNumId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int SceneNumId {
    get { return sceneNumId_; }
    set {
      sceneNumId_ = value;
    }
  }

  /// <summary>Field number for the "script_id" field.</summary>
  public const int ScriptIdFieldNumber = 2;
  private ulong scriptId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong ScriptId {
    get { return scriptId_; }
    set {
      scriptId_ = value;
    }
  }

  /// <summary>Field number for the "task_id" field.</summary>
  public const int TaskIdFieldNumber = 3;
  private string taskId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string TaskId {
    get { return taskId_; }
    set {
      taskId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSceneLevelScriptTaskStartFinish);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSceneLevelScriptTaskStartFinish other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SceneNumId != other.SceneNumId) return false;
    if (ScriptId != other.ScriptId) return false;
    if (TaskId != other.TaskId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SceneNumId != 0) hash ^= SceneNumId.GetHashCode();
    if (ScriptId != 0UL) hash ^= ScriptId.GetHashCode();
    if (TaskId.Length != 0) hash ^= TaskId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SceneNumId != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(SceneNumId);
    }
    if (ScriptId != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(ScriptId);
    }
    if (TaskId.Length != 0) {
      output.WriteRawTag(26);
      output.WriteString(TaskId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SceneNumId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(SceneNumId);
    }
    if (ScriptId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(ScriptId);
    }
    if (TaskId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(TaskId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSceneLevelScriptTaskStartFinish other) {
    if (other == null) {
      return;
    }
    if (other.SceneNumId != 0) {
      SceneNumId = other.SceneNumId;
    }
    if (other.ScriptId != 0UL) {
      ScriptId = other.ScriptId;
    }
    if (other.TaskId.Length != 0) {
      TaskId = other.TaskId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          SceneNumId = input.ReadInt32();
          break;
        }
        case 16: {
          ScriptId = input.ReadUInt64();
          break;
        }
        case 26: {
          TaskId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class ScSceneTriggerClientLevelScriptEvent : pb::IMessage<ScSceneTriggerClientLevelScriptEvent> {
  private static readonly pb::MessageParser<ScSceneTriggerClientLevelScriptEvent> _parser = new pb::MessageParser<ScSceneTriggerClientLevelScriptEvent>(() => new ScSceneTriggerClientLevelScriptEvent());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSceneTriggerClientLevelScriptEvent> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[854]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneTriggerClientLevelScriptEvent() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneTriggerClientLevelScriptEvent(ScSceneTriggerClientLevelScriptEvent other) : this() {
    sceneNumId_ = other.sceneNumId_;
    scriptId_ = other.scriptId_;
    eventName_ = other.eventName_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneTriggerClientLevelScriptEvent Clone() {
    return new ScSceneTriggerClientLevelScriptEvent(this);
  }

  /// <summary>Field number for the "scene_num_id" field.</summary>
  public const int SceneNumIdFieldNumber = 1;
  private int sceneNumId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int SceneNumId {
    get { return sceneNumId_; }
    set {
      sceneNumId_ = value;
    }
  }

  /// <summary>Field number for the "script_id" field.</summary>
  public const int ScriptIdFieldNumber = 2;
  private ulong scriptId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong ScriptId {
    get { return scriptId_; }
    set {
      scriptId_ = value;
    }
  }

  /// <summary>Field number for the "event_name" field.</summary>
  public const int EventNameFieldNumber = 3;
  private string eventName_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string EventName {
    get { return eventName_; }
    set {
      eventName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSceneTriggerClientLevelScriptEvent);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSceneTriggerClientLevelScriptEvent other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SceneNumId != other.SceneNumId) return false;
    if (ScriptId != other.ScriptId) return false;
    if (EventName != other.EventName) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SceneNumId != 0) hash ^= SceneNumId.GetHashCode();
    if (ScriptId != 0UL) hash ^= ScriptId.GetHashCode();
    if (EventName.Length != 0) hash ^= EventName.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SceneNumId != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(SceneNumId);
    }
    if (ScriptId != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(ScriptId);
    }
    if (EventName.Length != 0) {
      output.WriteRawTag(26);
      output.WriteString(EventName);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SceneNumId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(SceneNumId);
    }
    if (ScriptId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(ScriptId);
    }
    if (EventName.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(EventName);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSceneTriggerClientLevelScriptEvent other) {
    if (other == null) {
      return;
    }
    if (other.SceneNumId != 0) {
      SceneNumId = other.SceneNumId;
    }
    if (other.ScriptId != 0UL) {
      ScriptId = other.ScriptId;
    }
    if (other.EventName.Length != 0) {
      EventName = other.EventName;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          SceneNumId = input.ReadInt32();
          break;
        }
        case 16: {
          ScriptId = input.ReadUInt64();
          break;
        }
        case 26: {
          EventName = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class ScSceneTriggerClientInteractiveEvent : pb::IMessage<ScSceneTriggerClientInteractiveEvent> {
  private static readonly pb::MessageParser<ScSceneTriggerClientInteractiveEvent> _parser = new pb::MessageParser<ScSceneTriggerClientInteractiveEvent>(() => new ScSceneTriggerClientInteractiveEvent());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSceneTriggerClientInteractiveEvent> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[855]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneTriggerClientInteractiveEvent() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneTriggerClientInteractiveEvent(ScSceneTriggerClientInteractiveEvent other) : this() {
    sceneNumId_ = other.sceneNumId_;
    id_ = other.id_;
    eventName_ = other.eventName_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneTriggerClientInteractiveEvent Clone() {
    return new ScSceneTriggerClientInteractiveEvent(this);
  }

  /// <summary>Field number for the "scene_num_id" field.</summary>
  public const int SceneNumIdFieldNumber = 1;
  private int sceneNumId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int SceneNumId {
    get { return sceneNumId_; }
    set {
      sceneNumId_ = value;
    }
  }

  /// <summary>Field number for the "id" field.</summary>
  public const int IdFieldNumber = 2;
  private ulong id_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong Id {
    get { return id_; }
    set {
      id_ = value;
    }
  }

  /// <summary>Field number for the "event_name" field.</summary>
  public const int EventNameFieldNumber = 3;
  private string eventName_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string EventName {
    get { return eventName_; }
    set {
      eventName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSceneTriggerClientInteractiveEvent);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSceneTriggerClientInteractiveEvent other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SceneNumId != other.SceneNumId) return false;
    if (Id != other.Id) return false;
    if (EventName != other.EventName) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SceneNumId != 0) hash ^= SceneNumId.GetHashCode();
    if (Id != 0UL) hash ^= Id.GetHashCode();
    if (EventName.Length != 0) hash ^= EventName.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SceneNumId != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(SceneNumId);
    }
    if (Id != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(Id);
    }
    if (EventName.Length != 0) {
      output.WriteRawTag(26);
      output.WriteString(EventName);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SceneNumId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(SceneNumId);
    }
    if (Id != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(Id);
    }
    if (EventName.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(EventName);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSceneTriggerClientInteractiveEvent other) {
    if (other == null) {
      return;
    }
    if (other.SceneNumId != 0) {
      SceneNumId = other.SceneNumId;
    }
    if (other.Id != 0UL) {
      Id = other.Id;
    }
    if (other.EventName.Length != 0) {
      EventName = other.EventName;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          SceneNumId = input.ReadInt32();
          break;
        }
        case 16: {
          Id = input.ReadUInt64();
          break;
        }
        case 26: {
          EventName = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdSceneTeamInfo : pb::IMessage<ScdSceneTeamInfo> {
  private static readonly pb::MessageParser<ScdSceneTeamInfo> _parser = new pb::MessageParser<ScdSceneTeamInfo>(() => new ScdSceneTeamInfo());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdSceneTeamInfo> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[856]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdSceneTeamInfo() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdSceneTeamInfo(ScdSceneTeamInfo other) : this() {
    teamType_ = other.teamType_;
    teamIndex_ = other.teamIndex_;
    teamChangeToken_ = other.teamChangeToken_;
    curLeaderId_ = other.curLeaderId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdSceneTeamInfo Clone() {
    return new ScdSceneTeamInfo(this);
  }

  /// <summary>Field number for the "team_type" field.</summary>
  public const int TeamTypeFieldNumber = 1;
  private global::CharBagTeamType teamType_ = 0;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::CharBagTeamType TeamType {
    get { return teamType_; }
    set {
      teamType_ = value;
    }
  }

  /// <summary>Field number for the "team_index" field.</summary>
  public const int TeamIndexFieldNumber = 2;
  private int teamIndex_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int TeamIndex {
    get { return teamIndex_; }
    set {
      teamIndex_ = value;
    }
  }

  /// <summary>Field number for the "team_change_token" field.</summary>
  public const int TeamChangeTokenFieldNumber = 3;
  private ulong teamChangeToken_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong TeamChangeToken {
    get { return teamChangeToken_; }
    set {
      teamChangeToken_ = value;
    }
  }

  /// <summary>Field number for the "cur_leader_id" field.</summary>
  public const int CurLeaderIdFieldNumber = 4;
  private ulong curLeaderId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong CurLeaderId {
    get { return curLeaderId_; }
    set {
      curLeaderId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdSceneTeamInfo);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdSceneTeamInfo other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (TeamType != other.TeamType) return false;
    if (TeamIndex != other.TeamIndex) return false;
    if (TeamChangeToken != other.TeamChangeToken) return false;
    if (CurLeaderId != other.CurLeaderId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (TeamType != 0) hash ^= TeamType.GetHashCode();
    if (TeamIndex != 0) hash ^= TeamIndex.GetHashCode();
    if (TeamChangeToken != 0UL) hash ^= TeamChangeToken.GetHashCode();
    if (CurLeaderId != 0UL) hash ^= CurLeaderId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (TeamType != 0) {
      output.WriteRawTag(8);
      output.WriteEnum((int) TeamType);
    }
    if (TeamIndex != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(TeamIndex);
    }
    if (TeamChangeToken != 0UL) {
      output.WriteRawTag(24);
      output.WriteUInt64(TeamChangeToken);
    }
    if (CurLeaderId != 0UL) {
      output.WriteRawTag(32);
      output.WriteUInt64(CurLeaderId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (TeamType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) TeamType);
    }
    if (TeamIndex != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(TeamIndex);
    }
    if (TeamChangeToken != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(TeamChangeToken);
    }
    if (CurLeaderId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(CurLeaderId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdSceneTeamInfo other) {
    if (other == null) {
      return;
    }
    if (other.TeamType != 0) {
      TeamType = other.TeamType;
    }
    if (other.TeamIndex != 0) {
      TeamIndex = other.TeamIndex;
    }
    if (other.TeamChangeToken != 0UL) {
      TeamChangeToken = other.TeamChangeToken;
    }
    if (other.CurLeaderId != 0UL) {
      CurLeaderId = other.CurLeaderId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          teamType_ = (global::CharBagTeamType) input.ReadEnum();
          break;
        }
        case 16: {
          TeamIndex = input.ReadInt32();
          break;
        }
        case 24: {
          TeamChangeToken = input.ReadUInt64();
          break;
        }
        case 32: {
          CurLeaderId = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class ScSelfSceneInfo : pb::IMessage<ScSelfSceneInfo> {
  private static readonly pb::MessageParser<ScSelfSceneInfo> _parser = new pb::MessageParser<ScSelfSceneInfo>(() => new ScSelfSceneInfo());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSelfSceneInfo> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[857]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSelfSceneInfo() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSelfSceneInfo(ScSelfSceneInfo other) : this() {
    sceneNumId_ = other.sceneNumId_;
    sceneId_ = other.sceneId_;
    detail_ = other.detail_ != null ? other.detail_.Clone() : null;
    reviveChars_ = other.reviveChars_.Clone();
    levelScripts_ = other.levelScripts_.Clone();
    selfInfoReason_ = other.selfInfoReason_;
    unlockArea_ = other.unlockArea_.Clone();
    dropList_ = other.dropList_.Clone();
    sceneGrade_ = other.sceneGrade_;
    teamInfo_ = other.teamInfo_ != null ? other.teamInfo_.Clone() : null;
    switch (other.SceneImplCase) {
      case SceneImplOneofCase.Dungeon:
        Dungeon = other.Dungeon.Clone();
        break;
      case SceneImplOneofCase.Empty:
        Empty = other.Empty.Clone();
        break;
    }

    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSelfSceneInfo Clone() {
    return new ScSelfSceneInfo(this);
  }

  /// <summary>Field number for the "scene_num_id" field.</summary>
  public const int SceneNumIdFieldNumber = 1;
  private int sceneNumId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int SceneNumId {
    get { return sceneNumId_; }
    set {
      sceneNumId_ = value;
    }
  }

  /// <summary>Field number for the "scene_id" field.</summary>
  public const int SceneIdFieldNumber = 2;
  private ulong sceneId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong SceneId {
    get { return sceneId_; }
    set {
      sceneId_ = value;
    }
  }

  /// <summary>Field number for the "detail" field.</summary>
  public const int DetailFieldNumber = 3;
  private global::SceneObjectDetailContainer detail_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::SceneObjectDetailContainer Detail {
    get { return detail_; }
    set {
      detail_ = value;
    }
  }

  /// <summary>Field number for the "revive_chars" field.</summary>
  public const int ReviveCharsFieldNumber = 7;
  private static readonly pb::FieldCodec<ulong> _repeated_reviveChars_codec
      = pb::FieldCodec.ForUInt64(58);
  private readonly pbc::RepeatedField<ulong> reviveChars_ = new pbc::RepeatedField<ulong>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<ulong> ReviveChars {
    get { return reviveChars_; }
  }

  /// <summary>Field number for the "level_scripts" field.</summary>
  public const int LevelScriptsFieldNumber = 8;
  private static readonly pb::FieldCodec<global::LevelScriptInfo> _repeated_levelScripts_codec
      = pb::FieldCodec.ForMessage(66, global::LevelScriptInfo.Parser);
  private readonly pbc::RepeatedField<global::LevelScriptInfo> levelScripts_ = new pbc::RepeatedField<global::LevelScriptInfo>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::LevelScriptInfo> LevelScripts {
    get { return levelScripts_; }
  }

  /// <summary>Field number for the "self_info_reason" field.</summary>
  public const int SelfInfoReasonFieldNumber = 9;
  private int selfInfoReason_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int SelfInfoReason {
    get { return selfInfoReason_; }
    set {
      selfInfoReason_ = value;
    }
  }

  /// <summary>Field number for the "unlock_area" field.</summary>
  public const int UnlockAreaFieldNumber = 10;
  private static readonly pb::FieldCodec<string> _repeated_unlockArea_codec
      = pb::FieldCodec.ForString(82);
  private readonly pbc::RepeatedField<string> unlockArea_ = new pbc::RepeatedField<string>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<string> UnlockArea {
    get { return unlockArea_; }
  }

  /// <summary>Field number for the "drop_list" field.</summary>
  public const int DropListFieldNumber = 14;
  private static readonly pb::FieldCodec<global::SceneDrop> _repeated_dropList_codec
      = pb::FieldCodec.ForMessage(114, global::SceneDrop.Parser);
  private readonly pbc::RepeatedField<global::SceneDrop> dropList_ = new pbc::RepeatedField<global::SceneDrop>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::SceneDrop> DropList {
    get { return dropList_; }
  }

  /// <summary>Field number for the "scene_grade" field.</summary>
  public const int SceneGradeFieldNumber = 15;
  private int sceneGrade_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int SceneGrade {
    get { return sceneGrade_; }
    set {
      sceneGrade_ = value;
    }
  }

  /// <summary>Field number for the "team_info" field.</summary>
  public const int TeamInfoFieldNumber = 16;
  private global::ScdSceneTeamInfo teamInfo_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdSceneTeamInfo TeamInfo {
    get { return teamInfo_; }
    set {
      teamInfo_ = value;
    }
  }

  /// <summary>Field number for the "dungeon" field.</summary>
  public const int DungeonFieldNumber = 11;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::SceneImplDungeon Dungeon {
    get { return sceneImplCase_ == SceneImplOneofCase.Dungeon ? (global::SceneImplDungeon) sceneImpl_ : null; }
    set {
      sceneImpl_ = value;
      sceneImplCase_ = value == null ? SceneImplOneofCase.None : SceneImplOneofCase.Dungeon;
    }
  }

  /// <summary>Field number for the "empty" field.</summary>
  public const int EmptyFieldNumber = 12;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::SceneImplEmpty Empty {
    get { return sceneImplCase_ == SceneImplOneofCase.Empty ? (global::SceneImplEmpty) sceneImpl_ : null; }
    set {
      sceneImpl_ = value;
      sceneImplCase_ = value == null ? SceneImplOneofCase.None : SceneImplOneofCase.Empty;
    }
  }

  private object sceneImpl_;
  /// <summary>Enum of possible cases for the "scene_impl" oneof.</summary>
  public enum SceneImplOneofCase {
    None = 0,
    Dungeon = 11,
    Empty = 12,
  }
  private SceneImplOneofCase sceneImplCase_ = SceneImplOneofCase.None;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SceneImplOneofCase SceneImplCase {
    get { return sceneImplCase_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void ClearSceneImpl() {
    sceneImplCase_ = SceneImplOneofCase.None;
    sceneImpl_ = null;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSelfSceneInfo);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSelfSceneInfo other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SceneNumId != other.SceneNumId) return false;
    if (SceneId != other.SceneId) return false;
    if (!object.Equals(Detail, other.Detail)) return false;
    if(!reviveChars_.Equals(other.reviveChars_)) return false;
    if(!levelScripts_.Equals(other.levelScripts_)) return false;
    if (SelfInfoReason != other.SelfInfoReason) return false;
    if(!unlockArea_.Equals(other.unlockArea_)) return false;
    if(!dropList_.Equals(other.dropList_)) return false;
    if (SceneGrade != other.SceneGrade) return false;
    if (!object.Equals(TeamInfo, other.TeamInfo)) return false;
    if (!object.Equals(Dungeon, other.Dungeon)) return false;
    if (!object.Equals(Empty, other.Empty)) return false;
    if (SceneImplCase != other.SceneImplCase) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SceneNumId != 0) hash ^= SceneNumId.GetHashCode();
    if (SceneId != 0UL) hash ^= SceneId.GetHashCode();
    if (detail_ != null) hash ^= Detail.GetHashCode();
    hash ^= reviveChars_.GetHashCode();
    hash ^= levelScripts_.GetHashCode();
    if (SelfInfoReason != 0) hash ^= SelfInfoReason.GetHashCode();
    hash ^= unlockArea_.GetHashCode();
    hash ^= dropList_.GetHashCode();
    if (SceneGrade != 0) hash ^= SceneGrade.GetHashCode();
    if (teamInfo_ != null) hash ^= TeamInfo.GetHashCode();
    if (sceneImplCase_ == SceneImplOneofCase.Dungeon) hash ^= Dungeon.GetHashCode();
    if (sceneImplCase_ == SceneImplOneofCase.Empty) hash ^= Empty.GetHashCode();
    hash ^= (int) sceneImplCase_;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SceneNumId != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(SceneNumId);
    }
    if (SceneId != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(SceneId);
    }
    if (detail_ != null) {
      output.WriteRawTag(26);
      output.WriteMessage(Detail);
    }
    reviveChars_.WriteTo(output, _repeated_reviveChars_codec);
    levelScripts_.WriteTo(output, _repeated_levelScripts_codec);
    if (SelfInfoReason != 0) {
      output.WriteRawTag(72);
      output.WriteInt32(SelfInfoReason);
    }
    unlockArea_.WriteTo(output, _repeated_unlockArea_codec);
    if (sceneImplCase_ == SceneImplOneofCase.Dungeon) {
      output.WriteRawTag(90);
      output.WriteMessage(Dungeon);
    }
    if (sceneImplCase_ == SceneImplOneofCase.Empty) {
      output.WriteRawTag(98);
      output.WriteMessage(Empty);
    }
    dropList_.WriteTo(output, _repeated_dropList_codec);
    if (SceneGrade != 0) {
      output.WriteRawTag(120);
      output.WriteInt32(SceneGrade);
    }
    if (teamInfo_ != null) {
      output.WriteRawTag(130, 1);
      output.WriteMessage(TeamInfo);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SceneNumId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(SceneNumId);
    }
    if (SceneId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(SceneId);
    }
    if (detail_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Detail);
    }
    size += reviveChars_.CalculateSize(_repeated_reviveChars_codec);
    size += levelScripts_.CalculateSize(_repeated_levelScripts_codec);
    if (SelfInfoReason != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(SelfInfoReason);
    }
    size += unlockArea_.CalculateSize(_repeated_unlockArea_codec);
    size += dropList_.CalculateSize(_repeated_dropList_codec);
    if (SceneGrade != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(SceneGrade);
    }
    if (teamInfo_ != null) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(TeamInfo);
    }
    if (sceneImplCase_ == SceneImplOneofCase.Dungeon) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Dungeon);
    }
    if (sceneImplCase_ == SceneImplOneofCase.Empty) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Empty);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSelfSceneInfo other) {
    if (other == null) {
      return;
    }
    if (other.SceneNumId != 0) {
      SceneNumId = other.SceneNumId;
    }
    if (other.SceneId != 0UL) {
      SceneId = other.SceneId;
    }
    if (other.detail_ != null) {
      if (detail_ == null) {
        detail_ = new global::SceneObjectDetailContainer();
      }
      Detail.MergeFrom(other.Detail);
    }
    reviveChars_.Add(other.reviveChars_);
    levelScripts_.Add(other.levelScripts_);
    if (other.SelfInfoReason != 0) {
      SelfInfoReason = other.SelfInfoReason;
    }
    unlockArea_.Add(other.unlockArea_);
    dropList_.Add(other.dropList_);
    if (other.SceneGrade != 0) {
      SceneGrade = other.SceneGrade;
    }
    if (other.teamInfo_ != null) {
      if (teamInfo_ == null) {
        teamInfo_ = new global::ScdSceneTeamInfo();
      }
      TeamInfo.MergeFrom(other.TeamInfo);
    }
    switch (other.SceneImplCase) {
      case SceneImplOneofCase.Dungeon:
        if (Dungeon == null) {
          Dungeon = new global::SceneImplDungeon();
        }
        Dungeon.MergeFrom(other.Dungeon);
        break;
      case SceneImplOneofCase.Empty:
        if (Empty == null) {
          Empty = new global::SceneImplEmpty();
        }
        Empty.MergeFrom(other.Empty);
        break;
    }

    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          SceneNumId = input.ReadInt32();
          break;
        }
        case 16: {
          SceneId = input.ReadUInt64();
          break;
        }
        case 26: {
          if (detail_ == null) {
            detail_ = new global::SceneObjectDetailContainer();
          }
          input.ReadMessage(detail_);
          break;
        }
        case 58:
        case 56: {
          reviveChars_.AddEntriesFrom(input, _repeated_reviveChars_codec);
          break;
        }
        case 66: {
          levelScripts_.AddEntriesFrom(input, _repeated_levelScripts_codec);
          break;
        }
        case 72: {
          SelfInfoReason = input.ReadInt32();
          break;
        }
        case 82: {
          unlockArea_.AddEntriesFrom(input, _repeated_unlockArea_codec);
          break;
        }
        case 90: {
          global::SceneImplDungeon subBuilder = new global::SceneImplDungeon();
          if (sceneImplCase_ == SceneImplOneofCase.Dungeon) {
            subBuilder.MergeFrom(Dungeon);
          }
          input.ReadMessage(subBuilder);
          Dungeon = subBuilder;
          break;
        }
        case 98: {
          global::SceneImplEmpty subBuilder = new global::SceneImplEmpty();
          if (sceneImplCase_ == SceneImplOneofCase.Empty) {
            subBuilder.MergeFrom(Empty);
          }
          input.ReadMessage(subBuilder);
          Empty = subBuilder;
          break;
        }
        case 114: {
          dropList_.AddEntriesFrom(input, _repeated_dropList_codec);
          break;
        }
        case 120: {
          SceneGrade = input.ReadInt32();
          break;
        }
        case 130: {
          if (teamInfo_ == null) {
            teamInfo_ = new global::ScdSceneTeamInfo();
          }
          input.ReadMessage(teamInfo_);
          break;
        }
      }
    }
  }

}

public sealed partial class SceneDrop : pb::IMessage<SceneDrop> {
  private static readonly pb::MessageParser<SceneDrop> _parser = new pb::MessageParser<SceneDrop>(() => new SceneDrop());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<SceneDrop> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[858]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SceneDrop() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SceneDrop(SceneDrop other) : this() {
    dropId_ = other.dropId_;
    stackableItems_ = other.stackableItems_.Clone();
    instList_ = other.instList_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SceneDrop Clone() {
    return new SceneDrop(this);
  }

  /// <summary>Field number for the "drop_id" field.</summary>
  public const int DropIdFieldNumber = 1;
  private ulong dropId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong DropId {
    get { return dropId_; }
    set {
      dropId_ = value;
    }
  }

  /// <summary>Field number for the "stackable_items" field.</summary>
  public const int StackableItemsFieldNumber = 2;
  private static readonly pbc::MapField<string, long>.Codec _map_stackableItems_codec
      = new pbc::MapField<string, long>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForInt64(16), 18);
  private readonly pbc::MapField<string, long> stackableItems_ = new pbc::MapField<string, long>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<string, long> StackableItems {
    get { return stackableItems_; }
  }

  /// <summary>Field number for the "inst_list" field.</summary>
  public const int InstListFieldNumber = 3;
  private static readonly pb::FieldCodec<global::ScdItemGrid> _repeated_instList_codec
      = pb::FieldCodec.ForMessage(26, global::ScdItemGrid.Parser);
  private readonly pbc::RepeatedField<global::ScdItemGrid> instList_ = new pbc::RepeatedField<global::ScdItemGrid>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdItemGrid> InstList {
    get { return instList_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as SceneDrop);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(SceneDrop other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (DropId != other.DropId) return false;
    if (!StackableItems.Equals(other.StackableItems)) return false;
    if(!instList_.Equals(other.instList_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (DropId != 0UL) hash ^= DropId.GetHashCode();
    hash ^= StackableItems.GetHashCode();
    hash ^= instList_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (DropId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(DropId);
    }
    stackableItems_.WriteTo(output, _map_stackableItems_codec);
    instList_.WriteTo(output, _repeated_instList_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (DropId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(DropId);
    }
    size += stackableItems_.CalculateSize(_map_stackableItems_codec);
    size += instList_.CalculateSize(_repeated_instList_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(SceneDrop other) {
    if (other == null) {
      return;
    }
    if (other.DropId != 0UL) {
      DropId = other.DropId;
    }
    stackableItems_.Add(other.stackableItems_);
    instList_.Add(other.instList_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          DropId = input.ReadUInt64();
          break;
        }
        case 18: {
          stackableItems_.AddEntriesFrom(input, _map_stackableItems_codec);
          break;
        }
        case 26: {
          instList_.AddEntriesFrom(input, _repeated_instList_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class SceneImplDungeon : pb::IMessage<SceneImplDungeon> {
  private static readonly pb::MessageParser<SceneImplDungeon> _parser = new pb::MessageParser<SceneImplDungeon>(() => new SceneImplDungeon());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<SceneImplDungeon> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[859]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SceneImplDungeon() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SceneImplDungeon(SceneImplDungeon other) : this() {
    dungeonId_ = other.dungeonId_;
    challengeExpireTs_ = other.challengeExpireTs_;
    leaveDungeonTs_ = other.leaveDungeonTs_;
    isReward_ = other.isReward_;
    isCalc_ = other.isCalc_;
    isPass_ = other.isPass_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SceneImplDungeon Clone() {
    return new SceneImplDungeon(this);
  }

  /// <summary>Field number for the "dungeon_id" field.</summary>
  public const int DungeonIdFieldNumber = 1;
  private string dungeonId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string DungeonId {
    get { return dungeonId_; }
    set {
      dungeonId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "challenge_expire_ts" field.</summary>
  public const int ChallengeExpireTsFieldNumber = 2;
  private long challengeExpireTs_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long ChallengeExpireTs {
    get { return challengeExpireTs_; }
    set {
      challengeExpireTs_ = value;
    }
  }

  /// <summary>Field number for the "leave_dungeon_ts" field.</summary>
  public const int LeaveDungeonTsFieldNumber = 3;
  private long leaveDungeonTs_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long LeaveDungeonTs {
    get { return leaveDungeonTs_; }
    set {
      leaveDungeonTs_ = value;
    }
  }

  /// <summary>Field number for the "is_reward" field.</summary>
  public const int IsRewardFieldNumber = 4;
  private bool isReward_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool IsReward {
    get { return isReward_; }
    set {
      isReward_ = value;
    }
  }

  /// <summary>Field number for the "is_calc" field.</summary>
  public const int IsCalcFieldNumber = 5;
  private bool isCalc_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool IsCalc {
    get { return isCalc_; }
    set {
      isCalc_ = value;
    }
  }

  /// <summary>Field number for the "is_pass" field.</summary>
  public const int IsPassFieldNumber = 6;
  private bool isPass_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool IsPass {
    get { return isPass_; }
    set {
      isPass_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as SceneImplDungeon);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(SceneImplDungeon other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (DungeonId != other.DungeonId) return false;
    if (ChallengeExpireTs != other.ChallengeExpireTs) return false;
    if (LeaveDungeonTs != other.LeaveDungeonTs) return false;
    if (IsReward != other.IsReward) return false;
    if (IsCalc != other.IsCalc) return false;
    if (IsPass != other.IsPass) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (DungeonId.Length != 0) hash ^= DungeonId.GetHashCode();
    if (ChallengeExpireTs != 0L) hash ^= ChallengeExpireTs.GetHashCode();
    if (LeaveDungeonTs != 0L) hash ^= LeaveDungeonTs.GetHashCode();
    if (IsReward != false) hash ^= IsReward.GetHashCode();
    if (IsCalc != false) hash ^= IsCalc.GetHashCode();
    if (IsPass != false) hash ^= IsPass.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (DungeonId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(DungeonId);
    }
    if (ChallengeExpireTs != 0L) {
      output.WriteRawTag(16);
      output.WriteInt64(ChallengeExpireTs);
    }
    if (LeaveDungeonTs != 0L) {
      output.WriteRawTag(24);
      output.WriteInt64(LeaveDungeonTs);
    }
    if (IsReward != false) {
      output.WriteRawTag(32);
      output.WriteBool(IsReward);
    }
    if (IsCalc != false) {
      output.WriteRawTag(40);
      output.WriteBool(IsCalc);
    }
    if (IsPass != false) {
      output.WriteRawTag(48);
      output.WriteBool(IsPass);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (DungeonId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(DungeonId);
    }
    if (ChallengeExpireTs != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(ChallengeExpireTs);
    }
    if (LeaveDungeonTs != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(LeaveDungeonTs);
    }
    if (IsReward != false) {
      size += 1 + 1;
    }
    if (IsCalc != false) {
      size += 1 + 1;
    }
    if (IsPass != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(SceneImplDungeon other) {
    if (other == null) {
      return;
    }
    if (other.DungeonId.Length != 0) {
      DungeonId = other.DungeonId;
    }
    if (other.ChallengeExpireTs != 0L) {
      ChallengeExpireTs = other.ChallengeExpireTs;
    }
    if (other.LeaveDungeonTs != 0L) {
      LeaveDungeonTs = other.LeaveDungeonTs;
    }
    if (other.IsReward != false) {
      IsReward = other.IsReward;
    }
    if (other.IsCalc != false) {
      IsCalc = other.IsCalc;
    }
    if (other.IsPass != false) {
      IsPass = other.IsPass;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          DungeonId = input.ReadString();
          break;
        }
        case 16: {
          ChallengeExpireTs = input.ReadInt64();
          break;
        }
        case 24: {
          LeaveDungeonTs = input.ReadInt64();
          break;
        }
        case 32: {
          IsReward = input.ReadBool();
          break;
        }
        case 40: {
          IsCalc = input.ReadBool();
          break;
        }
        case 48: {
          IsPass = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class SceneImplEmpty : pb::IMessage<SceneImplEmpty> {
  private static readonly pb::MessageParser<SceneImplEmpty> _parser = new pb::MessageParser<SceneImplEmpty>(() => new SceneImplEmpty());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<SceneImplEmpty> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[860]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SceneImplEmpty() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SceneImplEmpty(SceneImplEmpty other) : this() {
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SceneImplEmpty Clone() {
    return new SceneImplEmpty(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as SceneImplEmpty);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(SceneImplEmpty other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(SceneImplEmpty other) {
    if (other == null) {
      return;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
      }
    }
  }

}

public sealed partial class ScSceneResetEntity : pb::IMessage<ScSceneResetEntity> {
  private static readonly pb::MessageParser<ScSceneResetEntity> _parser = new pb::MessageParser<ScSceneResetEntity>(() => new ScSceneResetEntity());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSceneResetEntity> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[861]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneResetEntity() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneResetEntity(ScSceneResetEntity other) : this() {
    sceneNumId_ = other.sceneNumId_;
    id_ = other.id_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneResetEntity Clone() {
    return new ScSceneResetEntity(this);
  }

  /// <summary>Field number for the "scene_num_id" field.</summary>
  public const int SceneNumIdFieldNumber = 1;
  private int sceneNumId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int SceneNumId {
    get { return sceneNumId_; }
    set {
      sceneNumId_ = value;
    }
  }

  /// <summary>Field number for the "id" field.</summary>
  public const int IdFieldNumber = 2;
  private ulong id_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong Id {
    get { return id_; }
    set {
      id_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSceneResetEntity);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSceneResetEntity other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SceneNumId != other.SceneNumId) return false;
    if (Id != other.Id) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SceneNumId != 0) hash ^= SceneNumId.GetHashCode();
    if (Id != 0UL) hash ^= Id.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SceneNumId != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(SceneNumId);
    }
    if (Id != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(Id);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SceneNumId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(SceneNumId);
    }
    if (Id != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(Id);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSceneResetEntity other) {
    if (other == null) {
      return;
    }
    if (other.SceneNumId != 0) {
      SceneNumId = other.SceneNumId;
    }
    if (other.Id != 0UL) {
      Id = other.Id;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          SceneNumId = input.ReadInt32();
          break;
        }
        case 16: {
          Id = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class ScObjectEnterView : pb::IMessage<ScObjectEnterView> {
  private static readonly pb::MessageParser<ScObjectEnterView> _parser = new pb::MessageParser<ScObjectEnterView>(() => new ScObjectEnterView());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScObjectEnterView> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[862]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScObjectEnterView() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScObjectEnterView(ScObjectEnterView other) : this() {
    detail_ = other.detail_ != null ? other.detail_.Clone() : null;
    hasExtraObject_ = other.hasExtraObject_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScObjectEnterView Clone() {
    return new ScObjectEnterView(this);
  }

  /// <summary>Field number for the "detail" field.</summary>
  public const int DetailFieldNumber = 1;
  private global::SceneObjectDetailContainer detail_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::SceneObjectDetailContainer Detail {
    get { return detail_; }
    set {
      detail_ = value;
    }
  }

  /// <summary>Field number for the "has_extra_object" field.</summary>
  public const int HasExtraObjectFieldNumber = 2;
  private bool hasExtraObject_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool HasExtraObject {
    get { return hasExtraObject_; }
    set {
      hasExtraObject_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScObjectEnterView);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScObjectEnterView other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!object.Equals(Detail, other.Detail)) return false;
    if (HasExtraObject != other.HasExtraObject) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (detail_ != null) hash ^= Detail.GetHashCode();
    if (HasExtraObject != false) hash ^= HasExtraObject.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (detail_ != null) {
      output.WriteRawTag(10);
      output.WriteMessage(Detail);
    }
    if (HasExtraObject != false) {
      output.WriteRawTag(16);
      output.WriteBool(HasExtraObject);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (detail_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Detail);
    }
    if (HasExtraObject != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScObjectEnterView other) {
    if (other == null) {
      return;
    }
    if (other.detail_ != null) {
      if (detail_ == null) {
        detail_ = new global::SceneObjectDetailContainer();
      }
      Detail.MergeFrom(other.Detail);
    }
    if (other.HasExtraObject != false) {
      HasExtraObject = other.HasExtraObject;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          if (detail_ == null) {
            detail_ = new global::SceneObjectDetailContainer();
          }
          input.ReadMessage(detail_);
          break;
        }
        case 16: {
          HasExtraObject = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class LeaveObjectInfo : pb::IMessage<LeaveObjectInfo> {
  private static readonly pb::MessageParser<LeaveObjectInfo> _parser = new pb::MessageParser<LeaveObjectInfo>(() => new LeaveObjectInfo());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<LeaveObjectInfo> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[863]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public LeaveObjectInfo() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public LeaveObjectInfo(LeaveObjectInfo other) : this() {
    objType_ = other.objType_;
    objId_ = other.objId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public LeaveObjectInfo Clone() {
    return new LeaveObjectInfo(this);
  }

  /// <summary>Field number for the "obj_type" field.</summary>
  public const int ObjTypeFieldNumber = 1;
  private int objType_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ObjType {
    get { return objType_; }
    set {
      objType_ = value;
    }
  }

  /// <summary>Field number for the "obj_id" field.</summary>
  public const int ObjIdFieldNumber = 2;
  private ulong objId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong ObjId {
    get { return objId_; }
    set {
      objId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as LeaveObjectInfo);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(LeaveObjectInfo other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ObjType != other.ObjType) return false;
    if (ObjId != other.ObjId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ObjType != 0) hash ^= ObjType.GetHashCode();
    if (ObjId != 0UL) hash ^= ObjId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ObjType != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(ObjType);
    }
    if (ObjId != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(ObjId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ObjType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ObjType);
    }
    if (ObjId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(ObjId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(LeaveObjectInfo other) {
    if (other == null) {
      return;
    }
    if (other.ObjType != 0) {
      ObjType = other.ObjType;
    }
    if (other.ObjId != 0UL) {
      ObjId = other.ObjId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ObjType = input.ReadInt32();
          break;
        }
        case 16: {
          ObjId = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class ScObjectLeaveView : pb::IMessage<ScObjectLeaveView> {
  private static readonly pb::MessageParser<ScObjectLeaveView> _parser = new pb::MessageParser<ScObjectLeaveView>(() => new ScObjectLeaveView());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScObjectLeaveView> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[864]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScObjectLeaveView() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScObjectLeaveView(ScObjectLeaveView other) : this() {
    objList_ = other.objList_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScObjectLeaveView Clone() {
    return new ScObjectLeaveView(this);
  }

  /// <summary>Field number for the "obj_list" field.</summary>
  public const int ObjListFieldNumber = 1;
  private static readonly pb::FieldCodec<global::LeaveObjectInfo> _repeated_objList_codec
      = pb::FieldCodec.ForMessage(10, global::LeaveObjectInfo.Parser);
  private readonly pbc::RepeatedField<global::LeaveObjectInfo> objList_ = new pbc::RepeatedField<global::LeaveObjectInfo>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::LeaveObjectInfo> ObjList {
    get { return objList_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScObjectLeaveView);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScObjectLeaveView other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!objList_.Equals(other.objList_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= objList_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    objList_.WriteTo(output, _repeated_objList_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += objList_.CalculateSize(_repeated_objList_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScObjectLeaveView other) {
    if (other == null) {
      return;
    }
    objList_.Add(other.objList_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          objList_.AddEntriesFrom(input, _repeated_objList_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class MotionInfo : pb::IMessage<MotionInfo> {
  private static readonly pb::MessageParser<MotionInfo> _parser = new pb::MessageParser<MotionInfo>(() => new MotionInfo());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<MotionInfo> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[865]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public MotionInfo() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public MotionInfo(MotionInfo other) : this() {
    position_ = other.position_ != null ? other.position_.Clone() : null;
    rotation_ = other.rotation_ != null ? other.rotation_.Clone() : null;
    speed_ = other.speed_ != null ? other.speed_.Clone() : null;
    state_ = other.state_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public MotionInfo Clone() {
    return new MotionInfo(this);
  }

  /// <summary>Field number for the "position" field.</summary>
  public const int PositionFieldNumber = 1;
  private global::Vector position_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::Vector Position {
    get { return position_; }
    set {
      position_ = value;
    }
  }

  /// <summary>Field number for the "rotation" field.</summary>
  public const int RotationFieldNumber = 2;
  private global::Vector rotation_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::Vector Rotation {
    get { return rotation_; }
    set {
      rotation_ = value;
    }
  }

  /// <summary>Field number for the "speed" field.</summary>
  public const int SpeedFieldNumber = 3;
  private global::Vector speed_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::Vector Speed {
    get { return speed_; }
    set {
      speed_ = value;
    }
  }

  /// <summary>Field number for the "state" field.</summary>
  public const int StateFieldNumber = 4;
  private global::MotionState state_ = 0;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::MotionState State {
    get { return state_; }
    set {
      state_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as MotionInfo);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(MotionInfo other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!object.Equals(Position, other.Position)) return false;
    if (!object.Equals(Rotation, other.Rotation)) return false;
    if (!object.Equals(Speed, other.Speed)) return false;
    if (State != other.State) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (position_ != null) hash ^= Position.GetHashCode();
    if (rotation_ != null) hash ^= Rotation.GetHashCode();
    if (speed_ != null) hash ^= Speed.GetHashCode();
    if (State != 0) hash ^= State.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (position_ != null) {
      output.WriteRawTag(10);
      output.WriteMessage(Position);
    }
    if (rotation_ != null) {
      output.WriteRawTag(18);
      output.WriteMessage(Rotation);
    }
    if (speed_ != null) {
      output.WriteRawTag(26);
      output.WriteMessage(Speed);
    }
    if (State != 0) {
      output.WriteRawTag(32);
      output.WriteEnum((int) State);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (position_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Position);
    }
    if (rotation_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Rotation);
    }
    if (speed_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Speed);
    }
    if (State != 0) {
      size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) State);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(MotionInfo other) {
    if (other == null) {
      return;
    }
    if (other.position_ != null) {
      if (position_ == null) {
        position_ = new global::Vector();
      }
      Position.MergeFrom(other.Position);
    }
    if (other.rotation_ != null) {
      if (rotation_ == null) {
        rotation_ = new global::Vector();
      }
      Rotation.MergeFrom(other.Rotation);
    }
    if (other.speed_ != null) {
      if (speed_ == null) {
        speed_ = new global::Vector();
      }
      Speed.MergeFrom(other.Speed);
    }
    if (other.State != 0) {
      State = other.State;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          if (position_ == null) {
            position_ = new global::Vector();
          }
          input.ReadMessage(position_);
          break;
        }
        case 18: {
          if (rotation_ == null) {
            rotation_ = new global::Vector();
          }
          input.ReadMessage(rotation_);
          break;
        }
        case 26: {
          if (speed_ == null) {
            speed_ = new global::Vector();
          }
          input.ReadMessage(speed_);
          break;
        }
        case 32: {
          state_ = (global::MotionState) input.ReadEnum();
          break;
        }
      }
    }
  }

}

public sealed partial class MoveObjectMoveInfo : pb::IMessage<MoveObjectMoveInfo> {
  private static readonly pb::MessageParser<MoveObjectMoveInfo> _parser = new pb::MessageParser<MoveObjectMoveInfo>(() => new MoveObjectMoveInfo());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<MoveObjectMoveInfo> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[866]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public MoveObjectMoveInfo() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public MoveObjectMoveInfo(MoveObjectMoveInfo other) : this() {
    objid_ = other.objid_;
    motionInfo_ = other.motionInfo_ != null ? other.motionInfo_.Clone() : null;
    serverTime_ = other.serverTime_;
    sceneNumId_ = other.sceneNumId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public MoveObjectMoveInfo Clone() {
    return new MoveObjectMoveInfo(this);
  }

  /// <summary>Field number for the "objid" field.</summary>
  public const int ObjidFieldNumber = 1;
  private ulong objid_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong Objid {
    get { return objid_; }
    set {
      objid_ = value;
    }
  }

  /// <summary>Field number for the "motion_info" field.</summary>
  public const int MotionInfoFieldNumber = 2;
  private global::MotionInfo motionInfo_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::MotionInfo MotionInfo {
    get { return motionInfo_; }
    set {
      motionInfo_ = value;
    }
  }

  /// <summary>Field number for the "server_time" field.</summary>
  public const int ServerTimeFieldNumber = 3;
  private uint serverTime_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint ServerTime {
    get { return serverTime_; }
    set {
      serverTime_ = value;
    }
  }

  /// <summary>Field number for the "scene_num_id" field.</summary>
  public const int SceneNumIdFieldNumber = 4;
  private int sceneNumId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int SceneNumId {
    get { return sceneNumId_; }
    set {
      sceneNumId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as MoveObjectMoveInfo);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(MoveObjectMoveInfo other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Objid != other.Objid) return false;
    if (!object.Equals(MotionInfo, other.MotionInfo)) return false;
    if (ServerTime != other.ServerTime) return false;
    if (SceneNumId != other.SceneNumId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Objid != 0UL) hash ^= Objid.GetHashCode();
    if (motionInfo_ != null) hash ^= MotionInfo.GetHashCode();
    if (ServerTime != 0) hash ^= ServerTime.GetHashCode();
    if (SceneNumId != 0) hash ^= SceneNumId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Objid != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(Objid);
    }
    if (motionInfo_ != null) {
      output.WriteRawTag(18);
      output.WriteMessage(MotionInfo);
    }
    if (ServerTime != 0) {
      output.WriteRawTag(24);
      output.WriteUInt32(ServerTime);
    }
    if (SceneNumId != 0) {
      output.WriteRawTag(32);
      output.WriteInt32(SceneNumId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Objid != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(Objid);
    }
    if (motionInfo_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(MotionInfo);
    }
    if (ServerTime != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(ServerTime);
    }
    if (SceneNumId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(SceneNumId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(MoveObjectMoveInfo other) {
    if (other == null) {
      return;
    }
    if (other.Objid != 0UL) {
      Objid = other.Objid;
    }
    if (other.motionInfo_ != null) {
      if (motionInfo_ == null) {
        motionInfo_ = new global::MotionInfo();
      }
      MotionInfo.MergeFrom(other.MotionInfo);
    }
    if (other.ServerTime != 0) {
      ServerTime = other.ServerTime;
    }
    if (other.SceneNumId != 0) {
      SceneNumId = other.SceneNumId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Objid = input.ReadUInt64();
          break;
        }
        case 18: {
          if (motionInfo_ == null) {
            motionInfo_ = new global::MotionInfo();
          }
          input.ReadMessage(motionInfo_);
          break;
        }
        case 24: {
          ServerTime = input.ReadUInt32();
          break;
        }
        case 32: {
          SceneNumId = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class CsMoveObjectMove : pb::IMessage<CsMoveObjectMove> {
  private static readonly pb::MessageParser<CsMoveObjectMove> _parser = new pb::MessageParser<CsMoveObjectMove>(() => new CsMoveObjectMove());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsMoveObjectMove> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[867]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsMoveObjectMove() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsMoveObjectMove(CsMoveObjectMove other) : this() {
    moveInfo_ = other.moveInfo_.Clone();
    leaderMoveTagMask_ = other.leaderMoveTagMask_;
    leaderIndex_ = other.leaderIndex_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsMoveObjectMove Clone() {
    return new CsMoveObjectMove(this);
  }

  /// <summary>Field number for the "move_info" field.</summary>
  public const int MoveInfoFieldNumber = 1;
  private static readonly pb::FieldCodec<global::MoveObjectMoveInfo> _repeated_moveInfo_codec
      = pb::FieldCodec.ForMessage(10, global::MoveObjectMoveInfo.Parser);
  private readonly pbc::RepeatedField<global::MoveObjectMoveInfo> moveInfo_ = new pbc::RepeatedField<global::MoveObjectMoveInfo>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::MoveObjectMoveInfo> MoveInfo {
    get { return moveInfo_; }
  }

  /// <summary>Field number for the "leader_move_tag_mask" field.</summary>
  public const int LeaderMoveTagMaskFieldNumber = 2;
  private int leaderMoveTagMask_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int LeaderMoveTagMask {
    get { return leaderMoveTagMask_; }
    set {
      leaderMoveTagMask_ = value;
    }
  }

  /// <summary>Field number for the "leader_index" field.</summary>
  public const int LeaderIndexFieldNumber = 3;
  private int leaderIndex_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int LeaderIndex {
    get { return leaderIndex_; }
    set {
      leaderIndex_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsMoveObjectMove);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsMoveObjectMove other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!moveInfo_.Equals(other.moveInfo_)) return false;
    if (LeaderMoveTagMask != other.LeaderMoveTagMask) return false;
    if (LeaderIndex != other.LeaderIndex) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= moveInfo_.GetHashCode();
    if (LeaderMoveTagMask != 0) hash ^= LeaderMoveTagMask.GetHashCode();
    if (LeaderIndex != 0) hash ^= LeaderIndex.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    moveInfo_.WriteTo(output, _repeated_moveInfo_codec);
    if (LeaderMoveTagMask != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(LeaderMoveTagMask);
    }
    if (LeaderIndex != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(LeaderIndex);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += moveInfo_.CalculateSize(_repeated_moveInfo_codec);
    if (LeaderMoveTagMask != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(LeaderMoveTagMask);
    }
    if (LeaderIndex != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(LeaderIndex);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsMoveObjectMove other) {
    if (other == null) {
      return;
    }
    moveInfo_.Add(other.moveInfo_);
    if (other.LeaderMoveTagMask != 0) {
      LeaderMoveTagMask = other.LeaderMoveTagMask;
    }
    if (other.LeaderIndex != 0) {
      LeaderIndex = other.LeaderIndex;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          moveInfo_.AddEntriesFrom(input, _repeated_moveInfo_codec);
          break;
        }
        case 16: {
          LeaderMoveTagMask = input.ReadInt32();
          break;
        }
        case 24: {
          LeaderIndex = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScMoveObjectMove : pb::IMessage<ScMoveObjectMove> {
  private static readonly pb::MessageParser<ScMoveObjectMove> _parser = new pb::MessageParser<ScMoveObjectMove>(() => new ScMoveObjectMove());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScMoveObjectMove> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[868]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScMoveObjectMove() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScMoveObjectMove(ScMoveObjectMove other) : this() {
    moveInfo_ = other.moveInfo_.Clone();
    serverNotify_ = other.serverNotify_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScMoveObjectMove Clone() {
    return new ScMoveObjectMove(this);
  }

  /// <summary>Field number for the "move_info" field.</summary>
  public const int MoveInfoFieldNumber = 1;
  private static readonly pb::FieldCodec<global::MoveObjectMoveInfo> _repeated_moveInfo_codec
      = pb::FieldCodec.ForMessage(10, global::MoveObjectMoveInfo.Parser);
  private readonly pbc::RepeatedField<global::MoveObjectMoveInfo> moveInfo_ = new pbc::RepeatedField<global::MoveObjectMoveInfo>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::MoveObjectMoveInfo> MoveInfo {
    get { return moveInfo_; }
  }

  /// <summary>Field number for the "server_notify" field.</summary>
  public const int ServerNotifyFieldNumber = 2;
  private bool serverNotify_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool ServerNotify {
    get { return serverNotify_; }
    set {
      serverNotify_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScMoveObjectMove);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScMoveObjectMove other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!moveInfo_.Equals(other.moveInfo_)) return false;
    if (ServerNotify != other.ServerNotify) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= moveInfo_.GetHashCode();
    if (ServerNotify != false) hash ^= ServerNotify.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    moveInfo_.WriteTo(output, _repeated_moveInfo_codec);
    if (ServerNotify != false) {
      output.WriteRawTag(16);
      output.WriteBool(ServerNotify);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += moveInfo_.CalculateSize(_repeated_moveInfo_codec);
    if (ServerNotify != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScMoveObjectMove other) {
    if (other == null) {
      return;
    }
    moveInfo_.Add(other.moveInfo_);
    if (other.ServerNotify != false) {
      ServerNotify = other.ServerNotify;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          moveInfo_.AddEntriesFrom(input, _repeated_moveInfo_codec);
          break;
        }
        case 16: {
          ServerNotify = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class ScEnterSceneNotify : pb::IMessage<ScEnterSceneNotify> {
  private static readonly pb::MessageParser<ScEnterSceneNotify> _parser = new pb::MessageParser<ScEnterSceneNotify>(() => new ScEnterSceneNotify());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScEnterSceneNotify> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[869]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScEnterSceneNotify() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScEnterSceneNotify(ScEnterSceneNotify other) : this() {
    roleId_ = other.roleId_;
    sceneNumId_ = other.sceneNumId_;
    sceneId_ = other.sceneId_;
    position_ = other.position_ != null ? other.position_.Clone() : null;
    passThroughData_ = other.passThroughData_ != null ? other.passThroughData_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScEnterSceneNotify Clone() {
    return new ScEnterSceneNotify(this);
  }

  /// <summary>Field number for the "role_id" field.</summary>
  public const int RoleIdFieldNumber = 1;
  private ulong roleId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong RoleId {
    get { return roleId_; }
    set {
      roleId_ = value;
    }
  }

  /// <summary>Field number for the "scene_num_id" field.</summary>
  public const int SceneNumIdFieldNumber = 2;
  private int sceneNumId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int SceneNumId {
    get { return sceneNumId_; }
    set {
      sceneNumId_ = value;
    }
  }

  /// <summary>Field number for the "scene_id" field.</summary>
  public const int SceneIdFieldNumber = 3;
  private ulong sceneId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong SceneId {
    get { return sceneId_; }
    set {
      sceneId_ = value;
    }
  }

  /// <summary>Field number for the "position" field.</summary>
  public const int PositionFieldNumber = 4;
  private global::Vector position_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::Vector Position {
    get { return position_; }
    set {
      position_ = value;
    }
  }

  /// <summary>Field number for the "pass_through_data" field.</summary>
  public const int PassThroughDataFieldNumber = 5;
  private global::PassThroughData passThroughData_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::PassThroughData PassThroughData {
    get { return passThroughData_; }
    set {
      passThroughData_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScEnterSceneNotify);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScEnterSceneNotify other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (RoleId != other.RoleId) return false;
    if (SceneNumId != other.SceneNumId) return false;
    if (SceneId != other.SceneId) return false;
    if (!object.Equals(Position, other.Position)) return false;
    if (!object.Equals(PassThroughData, other.PassThroughData)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (RoleId != 0UL) hash ^= RoleId.GetHashCode();
    if (SceneNumId != 0) hash ^= SceneNumId.GetHashCode();
    if (SceneId != 0UL) hash ^= SceneId.GetHashCode();
    if (position_ != null) hash ^= Position.GetHashCode();
    if (passThroughData_ != null) hash ^= PassThroughData.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (RoleId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(RoleId);
    }
    if (SceneNumId != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(SceneNumId);
    }
    if (SceneId != 0UL) {
      output.WriteRawTag(24);
      output.WriteUInt64(SceneId);
    }
    if (position_ != null) {
      output.WriteRawTag(34);
      output.WriteMessage(Position);
    }
    if (passThroughData_ != null) {
      output.WriteRawTag(42);
      output.WriteMessage(PassThroughData);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (RoleId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(RoleId);
    }
    if (SceneNumId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(SceneNumId);
    }
    if (SceneId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(SceneId);
    }
    if (position_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Position);
    }
    if (passThroughData_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(PassThroughData);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScEnterSceneNotify other) {
    if (other == null) {
      return;
    }
    if (other.RoleId != 0UL) {
      RoleId = other.RoleId;
    }
    if (other.SceneNumId != 0) {
      SceneNumId = other.SceneNumId;
    }
    if (other.SceneId != 0UL) {
      SceneId = other.SceneId;
    }
    if (other.position_ != null) {
      if (position_ == null) {
        position_ = new global::Vector();
      }
      Position.MergeFrom(other.Position);
    }
    if (other.passThroughData_ != null) {
      if (passThroughData_ == null) {
        passThroughData_ = new global::PassThroughData();
      }
      PassThroughData.MergeFrom(other.PassThroughData);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          RoleId = input.ReadUInt64();
          break;
        }
        case 16: {
          SceneNumId = input.ReadInt32();
          break;
        }
        case 24: {
          SceneId = input.ReadUInt64();
          break;
        }
        case 34: {
          if (position_ == null) {
            position_ = new global::Vector();
          }
          input.ReadMessage(position_);
          break;
        }
        case 42: {
          if (passThroughData_ == null) {
            passThroughData_ = new global::PassThroughData();
          }
          input.ReadMessage(passThroughData_);
          break;
        }
      }
    }
  }

}

public sealed partial class ScLeaveSceneNotify : pb::IMessage<ScLeaveSceneNotify> {
  private static readonly pb::MessageParser<ScLeaveSceneNotify> _parser = new pb::MessageParser<ScLeaveSceneNotify>(() => new ScLeaveSceneNotify());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScLeaveSceneNotify> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[870]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScLeaveSceneNotify() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScLeaveSceneNotify(ScLeaveSceneNotify other) : this() {
    roleId_ = other.roleId_;
    sceneNumId_ = other.sceneNumId_;
    sceneId_ = other.sceneId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScLeaveSceneNotify Clone() {
    return new ScLeaveSceneNotify(this);
  }

  /// <summary>Field number for the "role_id" field.</summary>
  public const int RoleIdFieldNumber = 1;
  private ulong roleId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong RoleId {
    get { return roleId_; }
    set {
      roleId_ = value;
    }
  }

  /// <summary>Field number for the "scene_num_id" field.</summary>
  public const int SceneNumIdFieldNumber = 2;
  private int sceneNumId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int SceneNumId {
    get { return sceneNumId_; }
    set {
      sceneNumId_ = value;
    }
  }

  /// <summary>Field number for the "scene_id" field.</summary>
  public const int SceneIdFieldNumber = 3;
  private ulong sceneId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong SceneId {
    get { return sceneId_; }
    set {
      sceneId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScLeaveSceneNotify);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScLeaveSceneNotify other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (RoleId != other.RoleId) return false;
    if (SceneNumId != other.SceneNumId) return false;
    if (SceneId != other.SceneId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (RoleId != 0UL) hash ^= RoleId.GetHashCode();
    if (SceneNumId != 0) hash ^= SceneNumId.GetHashCode();
    if (SceneId != 0UL) hash ^= SceneId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (RoleId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(RoleId);
    }
    if (SceneNumId != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(SceneNumId);
    }
    if (SceneId != 0UL) {
      output.WriteRawTag(24);
      output.WriteUInt64(SceneId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (RoleId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(RoleId);
    }
    if (SceneNumId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(SceneNumId);
    }
    if (SceneId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(SceneId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScLeaveSceneNotify other) {
    if (other == null) {
      return;
    }
    if (other.RoleId != 0UL) {
      RoleId = other.RoleId;
    }
    if (other.SceneNumId != 0) {
      SceneNumId = other.SceneNumId;
    }
    if (other.SceneId != 0UL) {
      SceneId = other.SceneId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          RoleId = input.ReadUInt64();
          break;
        }
        case 16: {
          SceneNumId = input.ReadInt32();
          break;
        }
        case 24: {
          SceneId = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class ScSeamlessSceneDestroyNotify : pb::IMessage<ScSeamlessSceneDestroyNotify> {
  private static readonly pb::MessageParser<ScSeamlessSceneDestroyNotify> _parser = new pb::MessageParser<ScSeamlessSceneDestroyNotify>(() => new ScSeamlessSceneDestroyNotify());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSeamlessSceneDestroyNotify> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[871]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSeamlessSceneDestroyNotify() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSeamlessSceneDestroyNotify(ScSeamlessSceneDestroyNotify other) : this() {
    roleId_ = other.roleId_;
    sceneNumId_ = other.sceneNumId_;
    sceneId_ = other.sceneId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSeamlessSceneDestroyNotify Clone() {
    return new ScSeamlessSceneDestroyNotify(this);
  }

  /// <summary>Field number for the "role_id" field.</summary>
  public const int RoleIdFieldNumber = 1;
  private ulong roleId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong RoleId {
    get { return roleId_; }
    set {
      roleId_ = value;
    }
  }

  /// <summary>Field number for the "scene_num_id" field.</summary>
  public const int SceneNumIdFieldNumber = 2;
  private int sceneNumId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int SceneNumId {
    get { return sceneNumId_; }
    set {
      sceneNumId_ = value;
    }
  }

  /// <summary>Field number for the "scene_id" field.</summary>
  public const int SceneIdFieldNumber = 3;
  private ulong sceneId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong SceneId {
    get { return sceneId_; }
    set {
      sceneId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSeamlessSceneDestroyNotify);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSeamlessSceneDestroyNotify other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (RoleId != other.RoleId) return false;
    if (SceneNumId != other.SceneNumId) return false;
    if (SceneId != other.SceneId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (RoleId != 0UL) hash ^= RoleId.GetHashCode();
    if (SceneNumId != 0) hash ^= SceneNumId.GetHashCode();
    if (SceneId != 0UL) hash ^= SceneId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (RoleId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(RoleId);
    }
    if (SceneNumId != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(SceneNumId);
    }
    if (SceneId != 0UL) {
      output.WriteRawTag(24);
      output.WriteUInt64(SceneId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (RoleId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(RoleId);
    }
    if (SceneNumId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(SceneNumId);
    }
    if (SceneId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(SceneId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSeamlessSceneDestroyNotify other) {
    if (other == null) {
      return;
    }
    if (other.RoleId != 0UL) {
      RoleId = other.RoleId;
    }
    if (other.SceneNumId != 0) {
      SceneNumId = other.SceneNumId;
    }
    if (other.SceneId != 0UL) {
      SceneId = other.SceneId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          RoleId = input.ReadUInt64();
          break;
        }
        case 16: {
          SceneNumId = input.ReadInt32();
          break;
        }
        case 24: {
          SceneId = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class CsSceneLoadFinish : pb::IMessage<CsSceneLoadFinish> {
  private static readonly pb::MessageParser<CsSceneLoadFinish> _parser = new pb::MessageParser<CsSceneLoadFinish>(() => new CsSceneLoadFinish());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsSceneLoadFinish> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[872]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneLoadFinish() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneLoadFinish(CsSceneLoadFinish other) : this() {
    sceneNumId_ = other.sceneNumId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneLoadFinish Clone() {
    return new CsSceneLoadFinish(this);
  }

  /// <summary>Field number for the "scene_num_id" field.</summary>
  public const int SceneNumIdFieldNumber = 1;
  private int sceneNumId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int SceneNumId {
    get { return sceneNumId_; }
    set {
      sceneNumId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsSceneLoadFinish);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsSceneLoadFinish other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SceneNumId != other.SceneNumId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SceneNumId != 0) hash ^= SceneNumId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SceneNumId != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(SceneNumId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SceneNumId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(SceneNumId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsSceneLoadFinish other) {
    if (other == null) {
      return;
    }
    if (other.SceneNumId != 0) {
      SceneNumId = other.SceneNumId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          SceneNumId = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class CsSceneSetLastRecordCampid : pb::IMessage<CsSceneSetLastRecordCampid> {
  private static readonly pb::MessageParser<CsSceneSetLastRecordCampid> _parser = new pb::MessageParser<CsSceneSetLastRecordCampid>(() => new CsSceneSetLastRecordCampid());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsSceneSetLastRecordCampid> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[873]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneSetLastRecordCampid() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneSetLastRecordCampid(CsSceneSetLastRecordCampid other) : this() {
    lastCampId_ = other.lastCampId_;
    position_ = other.position_ != null ? other.position_.Clone() : null;
    rotation_ = other.rotation_ != null ? other.rotation_.Clone() : null;
    sceneNumId_ = other.sceneNumId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneSetLastRecordCampid Clone() {
    return new CsSceneSetLastRecordCampid(this);
  }

  /// <summary>Field number for the "last_camp_id" field.</summary>
  public const int LastCampIdFieldNumber = 1;
  private ulong lastCampId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong LastCampId {
    get { return lastCampId_; }
    set {
      lastCampId_ = value;
    }
  }

  /// <summary>Field number for the "position" field.</summary>
  public const int PositionFieldNumber = 2;
  private global::Vector position_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::Vector Position {
    get { return position_; }
    set {
      position_ = value;
    }
  }

  /// <summary>Field number for the "rotation" field.</summary>
  public const int RotationFieldNumber = 3;
  private global::Vector rotation_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::Vector Rotation {
    get { return rotation_; }
    set {
      rotation_ = value;
    }
  }

  /// <summary>Field number for the "scene_num_id" field.</summary>
  public const int SceneNumIdFieldNumber = 4;
  private int sceneNumId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int SceneNumId {
    get { return sceneNumId_; }
    set {
      sceneNumId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsSceneSetLastRecordCampid);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsSceneSetLastRecordCampid other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (LastCampId != other.LastCampId) return false;
    if (!object.Equals(Position, other.Position)) return false;
    if (!object.Equals(Rotation, other.Rotation)) return false;
    if (SceneNumId != other.SceneNumId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (LastCampId != 0UL) hash ^= LastCampId.GetHashCode();
    if (position_ != null) hash ^= Position.GetHashCode();
    if (rotation_ != null) hash ^= Rotation.GetHashCode();
    if (SceneNumId != 0) hash ^= SceneNumId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (LastCampId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(LastCampId);
    }
    if (position_ != null) {
      output.WriteRawTag(18);
      output.WriteMessage(Position);
    }
    if (rotation_ != null) {
      output.WriteRawTag(26);
      output.WriteMessage(Rotation);
    }
    if (SceneNumId != 0) {
      output.WriteRawTag(32);
      output.WriteInt32(SceneNumId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (LastCampId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(LastCampId);
    }
    if (position_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Position);
    }
    if (rotation_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Rotation);
    }
    if (SceneNumId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(SceneNumId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsSceneSetLastRecordCampid other) {
    if (other == null) {
      return;
    }
    if (other.LastCampId != 0UL) {
      LastCampId = other.LastCampId;
    }
    if (other.position_ != null) {
      if (position_ == null) {
        position_ = new global::Vector();
      }
      Position.MergeFrom(other.Position);
    }
    if (other.rotation_ != null) {
      if (rotation_ == null) {
        rotation_ = new global::Vector();
      }
      Rotation.MergeFrom(other.Rotation);
    }
    if (other.SceneNumId != 0) {
      SceneNumId = other.SceneNumId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          LastCampId = input.ReadUInt64();
          break;
        }
        case 18: {
          if (position_ == null) {
            position_ = new global::Vector();
          }
          input.ReadMessage(position_);
          break;
        }
        case 26: {
          if (rotation_ == null) {
            rotation_ = new global::Vector();
          }
          input.ReadMessage(rotation_);
          break;
        }
        case 32: {
          SceneNumId = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScSceneSetLastRecordCampid : pb::IMessage<ScSceneSetLastRecordCampid> {
  private static readonly pb::MessageParser<ScSceneSetLastRecordCampid> _parser = new pb::MessageParser<ScSceneSetLastRecordCampid>(() => new ScSceneSetLastRecordCampid());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSceneSetLastRecordCampid> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[874]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneSetLastRecordCampid() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneSetLastRecordCampid(ScSceneSetLastRecordCampid other) : this() {
    lastCampId_ = other.lastCampId_;
    sceneNumId_ = other.sceneNumId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneSetLastRecordCampid Clone() {
    return new ScSceneSetLastRecordCampid(this);
  }

  /// <summary>Field number for the "last_camp_id" field.</summary>
  public const int LastCampIdFieldNumber = 1;
  private ulong lastCampId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong LastCampId {
    get { return lastCampId_; }
    set {
      lastCampId_ = value;
    }
  }

  /// <summary>Field number for the "scene_num_id" field.</summary>
  public const int SceneNumIdFieldNumber = 2;
  private int sceneNumId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int SceneNumId {
    get { return sceneNumId_; }
    set {
      sceneNumId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSceneSetLastRecordCampid);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSceneSetLastRecordCampid other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (LastCampId != other.LastCampId) return false;
    if (SceneNumId != other.SceneNumId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (LastCampId != 0UL) hash ^= LastCampId.GetHashCode();
    if (SceneNumId != 0) hash ^= SceneNumId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (LastCampId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(LastCampId);
    }
    if (SceneNumId != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(SceneNumId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (LastCampId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(LastCampId);
    }
    if (SceneNumId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(SceneNumId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSceneSetLastRecordCampid other) {
    if (other == null) {
      return;
    }
    if (other.LastCampId != 0UL) {
      LastCampId = other.LastCampId;
    }
    if (other.SceneNumId != 0) {
      SceneNumId = other.SceneNumId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          LastCampId = input.ReadUInt64();
          break;
        }
        case 16: {
          SceneNumId = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class CsSceneInteractiveEventTrigger : pb::IMessage<CsSceneInteractiveEventTrigger> {
  private static readonly pb::MessageParser<CsSceneInteractiveEventTrigger> _parser = new pb::MessageParser<CsSceneInteractiveEventTrigger>(() => new CsSceneInteractiveEventTrigger());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsSceneInteractiveEventTrigger> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[875]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneInteractiveEventTrigger() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneInteractiveEventTrigger(CsSceneInteractiveEventTrigger other) : this() {
    sceneNumId_ = other.sceneNumId_;
    id_ = other.id_;
    eventName_ = other.eventName_;
    properties_ = other.properties_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneInteractiveEventTrigger Clone() {
    return new CsSceneInteractiveEventTrigger(this);
  }

  /// <summary>Field number for the "scene_num_id" field.</summary>
  public const int SceneNumIdFieldNumber = 1;
  private int sceneNumId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int SceneNumId {
    get { return sceneNumId_; }
    set {
      sceneNumId_ = value;
    }
  }

  /// <summary>Field number for the "id" field.</summary>
  public const int IdFieldNumber = 2;
  private ulong id_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong Id {
    get { return id_; }
    set {
      id_ = value;
    }
  }

  /// <summary>Field number for the "event_name" field.</summary>
  public const int EventNameFieldNumber = 3;
  private string eventName_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string EventName {
    get { return eventName_; }
    set {
      eventName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "properties" field.</summary>
  public const int PropertiesFieldNumber = 4;
  private static readonly pbc::MapField<string, global::DynamicParameter>.Codec _map_properties_codec
      = new pbc::MapField<string, global::DynamicParameter>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForMessage(18, global::DynamicParameter.Parser), 34);
  private readonly pbc::MapField<string, global::DynamicParameter> properties_ = new pbc::MapField<string, global::DynamicParameter>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<string, global::DynamicParameter> Properties {
    get { return properties_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsSceneInteractiveEventTrigger);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsSceneInteractiveEventTrigger other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SceneNumId != other.SceneNumId) return false;
    if (Id != other.Id) return false;
    if (EventName != other.EventName) return false;
    if (!Properties.Equals(other.Properties)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SceneNumId != 0) hash ^= SceneNumId.GetHashCode();
    if (Id != 0UL) hash ^= Id.GetHashCode();
    if (EventName.Length != 0) hash ^= EventName.GetHashCode();
    hash ^= Properties.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SceneNumId != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(SceneNumId);
    }
    if (Id != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(Id);
    }
    if (EventName.Length != 0) {
      output.WriteRawTag(26);
      output.WriteString(EventName);
    }
    properties_.WriteTo(output, _map_properties_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SceneNumId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(SceneNumId);
    }
    if (Id != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(Id);
    }
    if (EventName.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(EventName);
    }
    size += properties_.CalculateSize(_map_properties_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsSceneInteractiveEventTrigger other) {
    if (other == null) {
      return;
    }
    if (other.SceneNumId != 0) {
      SceneNumId = other.SceneNumId;
    }
    if (other.Id != 0UL) {
      Id = other.Id;
    }
    if (other.EventName.Length != 0) {
      EventName = other.EventName;
    }
    properties_.Add(other.properties_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          SceneNumId = input.ReadInt32();
          break;
        }
        case 16: {
          Id = input.ReadUInt64();
          break;
        }
        case 26: {
          EventName = input.ReadString();
          break;
        }
        case 34: {
          properties_.AddEntriesFrom(input, _map_properties_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScSceneUpdateInteractiveProperty : pb::IMessage<ScSceneUpdateInteractiveProperty> {
  private static readonly pb::MessageParser<ScSceneUpdateInteractiveProperty> _parser = new pb::MessageParser<ScSceneUpdateInteractiveProperty>(() => new ScSceneUpdateInteractiveProperty());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSceneUpdateInteractiveProperty> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[876]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneUpdateInteractiveProperty() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneUpdateInteractiveProperty(ScSceneUpdateInteractiveProperty other) : this() {
    sceneNumId_ = other.sceneNumId_;
    id_ = other.id_;
    properties_ = other.properties_.Clone();
    clientOperate_ = other.clientOperate_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneUpdateInteractiveProperty Clone() {
    return new ScSceneUpdateInteractiveProperty(this);
  }

  /// <summary>Field number for the "scene_num_id" field.</summary>
  public const int SceneNumIdFieldNumber = 1;
  private int sceneNumId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int SceneNumId {
    get { return sceneNumId_; }
    set {
      sceneNumId_ = value;
    }
  }

  /// <summary>Field number for the "id" field.</summary>
  public const int IdFieldNumber = 2;
  private ulong id_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong Id {
    get { return id_; }
    set {
      id_ = value;
    }
  }

  /// <summary>Field number for the "properties" field.</summary>
  public const int PropertiesFieldNumber = 3;
  private static readonly pbc::MapField<int, global::DynamicParameter>.Codec _map_properties_codec
      = new pbc::MapField<int, global::DynamicParameter>.Codec(pb::FieldCodec.ForInt32(8), pb::FieldCodec.ForMessage(18, global::DynamicParameter.Parser), 26);
  private readonly pbc::MapField<int, global::DynamicParameter> properties_ = new pbc::MapField<int, global::DynamicParameter>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<int, global::DynamicParameter> Properties {
    get { return properties_; }
  }

  /// <summary>Field number for the "client_operate" field.</summary>
  public const int ClientOperateFieldNumber = 4;
  private bool clientOperate_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool ClientOperate {
    get { return clientOperate_; }
    set {
      clientOperate_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSceneUpdateInteractiveProperty);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSceneUpdateInteractiveProperty other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SceneNumId != other.SceneNumId) return false;
    if (Id != other.Id) return false;
    if (!Properties.Equals(other.Properties)) return false;
    if (ClientOperate != other.ClientOperate) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SceneNumId != 0) hash ^= SceneNumId.GetHashCode();
    if (Id != 0UL) hash ^= Id.GetHashCode();
    hash ^= Properties.GetHashCode();
    if (ClientOperate != false) hash ^= ClientOperate.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SceneNumId != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(SceneNumId);
    }
    if (Id != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(Id);
    }
    properties_.WriteTo(output, _map_properties_codec);
    if (ClientOperate != false) {
      output.WriteRawTag(32);
      output.WriteBool(ClientOperate);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SceneNumId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(SceneNumId);
    }
    if (Id != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(Id);
    }
    size += properties_.CalculateSize(_map_properties_codec);
    if (ClientOperate != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSceneUpdateInteractiveProperty other) {
    if (other == null) {
      return;
    }
    if (other.SceneNumId != 0) {
      SceneNumId = other.SceneNumId;
    }
    if (other.Id != 0UL) {
      Id = other.Id;
    }
    properties_.Add(other.properties_);
    if (other.ClientOperate != false) {
      ClientOperate = other.ClientOperate;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          SceneNumId = input.ReadInt32();
          break;
        }
        case 16: {
          Id = input.ReadUInt64();
          break;
        }
        case 26: {
          properties_.AddEntriesFrom(input, _map_properties_codec);
          break;
        }
        case 32: {
          ClientOperate = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class CsSceneSetVar : pb::IMessage<CsSceneSetVar> {
  private static readonly pb::MessageParser<CsSceneSetVar> _parser = new pb::MessageParser<CsSceneSetVar>(() => new CsSceneSetVar());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsSceneSetVar> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[877]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneSetVar() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneSetVar(CsSceneSetVar other) : this() {
    key_ = other.key_;
    value_ = other.value_;
    sceneNumId_ = other.sceneNumId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneSetVar Clone() {
    return new CsSceneSetVar(this);
  }

  /// <summary>Field number for the "key" field.</summary>
  public const int KeyFieldNumber = 1;
  private string key_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string Key {
    get { return key_; }
    set {
      key_ = 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]
  public string Value {
    get { return value_; }
    set {
      value_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "scene_num_id" field.</summary>
  public const int SceneNumIdFieldNumber = 3;
  private int sceneNumId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int SceneNumId {
    get { return sceneNumId_; }
    set {
      sceneNumId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsSceneSetVar);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsSceneSetVar other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Key != other.Key) return false;
    if (Value != other.Value) return false;
    if (SceneNumId != other.SceneNumId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Key.Length != 0) hash ^= Key.GetHashCode();
    if (Value.Length != 0) hash ^= Value.GetHashCode();
    if (SceneNumId != 0) hash ^= SceneNumId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Key.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(Key);
    }
    if (Value.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(Value);
    }
    if (SceneNumId != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(SceneNumId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Key.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(Key);
    }
    if (Value.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(Value);
    }
    if (SceneNumId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(SceneNumId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsSceneSetVar other) {
    if (other == null) {
      return;
    }
    if (other.Key.Length != 0) {
      Key = other.Key;
    }
    if (other.Value.Length != 0) {
      Value = other.Value;
    }
    if (other.SceneNumId != 0) {
      SceneNumId = other.SceneNumId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          Key = input.ReadString();
          break;
        }
        case 18: {
          Value = input.ReadString();
          break;
        }
        case 24: {
          SceneNumId = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScSceneSetVar : pb::IMessage<ScSceneSetVar> {
  private static readonly pb::MessageParser<ScSceneSetVar> _parser = new pb::MessageParser<ScSceneSetVar>(() => new ScSceneSetVar());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSceneSetVar> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[878]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneSetVar() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneSetVar(ScSceneSetVar other) : this() {
    key_ = other.key_;
    value_ = other.value_;
    sceneNumId_ = other.sceneNumId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneSetVar Clone() {
    return new ScSceneSetVar(this);
  }

  /// <summary>Field number for the "key" field.</summary>
  public const int KeyFieldNumber = 1;
  private string key_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string Key {
    get { return key_; }
    set {
      key_ = 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]
  public string Value {
    get { return value_; }
    set {
      value_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "scene_num_id" field.</summary>
  public const int SceneNumIdFieldNumber = 3;
  private int sceneNumId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int SceneNumId {
    get { return sceneNumId_; }
    set {
      sceneNumId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSceneSetVar);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSceneSetVar other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Key != other.Key) return false;
    if (Value != other.Value) return false;
    if (SceneNumId != other.SceneNumId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Key.Length != 0) hash ^= Key.GetHashCode();
    if (Value.Length != 0) hash ^= Value.GetHashCode();
    if (SceneNumId != 0) hash ^= SceneNumId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Key.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(Key);
    }
    if (Value.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(Value);
    }
    if (SceneNumId != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(SceneNumId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Key.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(Key);
    }
    if (Value.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(Value);
    }
    if (SceneNumId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(SceneNumId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSceneSetVar other) {
    if (other == null) {
      return;
    }
    if (other.Key.Length != 0) {
      Key = other.Key;
    }
    if (other.Value.Length != 0) {
      Value = other.Value;
    }
    if (other.SceneNumId != 0) {
      SceneNumId = other.SceneNumId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          Key = input.ReadString();
          break;
        }
        case 18: {
          Value = input.ReadString();
          break;
        }
        case 24: {
          SceneNumId = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class CsSceneRest : pb::IMessage<CsSceneRest> {
  private static readonly pb::MessageParser<CsSceneRest> _parser = new pb::MessageParser<CsSceneRest>(() => new CsSceneRest());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsSceneRest> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[879]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneRest() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneRest(CsSceneRest other) : this() {
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneRest Clone() {
    return new CsSceneRest(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsSceneRest);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsSceneRest other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsSceneRest other) {
    if (other == null) {
      return;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
      }
    }
  }

}

public sealed partial class EntityInfo : pb::IMessage<EntityInfo> {
  private static readonly pb::MessageParser<EntityInfo> _parser = new pb::MessageParser<EntityInfo>(() => new EntityInfo());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<EntityInfo> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[880]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public EntityInfo() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public EntityInfo(EntityInfo other) : this() {
    entityOpType_ = other.entityOpType_;
    id_ = other.id_;
    type_ = other.type_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public EntityInfo Clone() {
    return new EntityInfo(this);
  }

  /// <summary>Field number for the "entity_op_type" field.</summary>
  public const int EntityOpTypeFieldNumber = 2;
  private global::EntityOpType entityOpType_ = 0;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::EntityOpType EntityOpType {
    get { return entityOpType_; }
    set {
      entityOpType_ = value;
    }
  }

  /// <summary>Field number for the "id" field.</summary>
  public const int IdFieldNumber = 3;
  private ulong id_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong Id {
    get { return id_; }
    set {
      id_ = value;
    }
  }

  /// <summary>Field number for the "type" field.</summary>
  public const int TypeFieldNumber = 4;
  private int type_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Type {
    get { return type_; }
    set {
      type_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as EntityInfo);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(EntityInfo other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (EntityOpType != other.EntityOpType) return false;
    if (Id != other.Id) return false;
    if (Type != other.Type) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (EntityOpType != 0) hash ^= EntityOpType.GetHashCode();
    if (Id != 0UL) hash ^= Id.GetHashCode();
    if (Type != 0) hash ^= Type.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (EntityOpType != 0) {
      output.WriteRawTag(16);
      output.WriteEnum((int) EntityOpType);
    }
    if (Id != 0UL) {
      output.WriteRawTag(24);
      output.WriteUInt64(Id);
    }
    if (Type != 0) {
      output.WriteRawTag(32);
      output.WriteInt32(Type);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (EntityOpType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) EntityOpType);
    }
    if (Id != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(Id);
    }
    if (Type != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Type);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(EntityInfo other) {
    if (other == null) {
      return;
    }
    if (other.EntityOpType != 0) {
      EntityOpType = other.EntityOpType;
    }
    if (other.Id != 0UL) {
      Id = other.Id;
    }
    if (other.Type != 0) {
      Type = other.Type;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 16: {
          entityOpType_ = (global::EntityOpType) input.ReadEnum();
          break;
        }
        case 24: {
          Id = input.ReadUInt64();
          break;
        }
        case 32: {
          Type = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScSceneCreateEntity : pb::IMessage<ScSceneCreateEntity> {
  private static readonly pb::MessageParser<ScSceneCreateEntity> _parser = new pb::MessageParser<ScSceneCreateEntity>(() => new ScSceneCreateEntity());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSceneCreateEntity> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[881]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneCreateEntity() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneCreateEntity(ScSceneCreateEntity other) : this() {
    sceneNumId_ = other.sceneNumId_;
    id_ = other.id_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneCreateEntity Clone() {
    return new ScSceneCreateEntity(this);
  }

  /// <summary>Field number for the "scene_num_id" field.</summary>
  public const int SceneNumIdFieldNumber = 1;
  private int sceneNumId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int SceneNumId {
    get { return sceneNumId_; }
    set {
      sceneNumId_ = value;
    }
  }

  /// <summary>Field number for the "id" field.</summary>
  public const int IdFieldNumber = 2;
  private ulong id_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong Id {
    get { return id_; }
    set {
      id_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSceneCreateEntity);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSceneCreateEntity other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SceneNumId != other.SceneNumId) return false;
    if (Id != other.Id) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SceneNumId != 0) hash ^= SceneNumId.GetHashCode();
    if (Id != 0UL) hash ^= Id.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SceneNumId != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(SceneNumId);
    }
    if (Id != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(Id);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SceneNumId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(SceneNumId);
    }
    if (Id != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(Id);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSceneCreateEntity other) {
    if (other == null) {
      return;
    }
    if (other.SceneNumId != 0) {
      SceneNumId = other.SceneNumId;
    }
    if (other.Id != 0UL) {
      Id = other.Id;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          SceneNumId = input.ReadInt32();
          break;
        }
        case 16: {
          Id = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class ScSceneDestroyEntity : pb::IMessage<ScSceneDestroyEntity> {
  private static readonly pb::MessageParser<ScSceneDestroyEntity> _parser = new pb::MessageParser<ScSceneDestroyEntity>(() => new ScSceneDestroyEntity());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSceneDestroyEntity> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[882]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneDestroyEntity() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneDestroyEntity(ScSceneDestroyEntity other) : this() {
    sceneNumId_ = other.sceneNumId_;
    id_ = other.id_;
    reason_ = other.reason_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneDestroyEntity Clone() {
    return new ScSceneDestroyEntity(this);
  }

  /// <summary>Field number for the "scene_num_id" field.</summary>
  public const int SceneNumIdFieldNumber = 1;
  private int sceneNumId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int SceneNumId {
    get { return sceneNumId_; }
    set {
      sceneNumId_ = value;
    }
  }

  /// <summary>Field number for the "id" field.</summary>
  public const int IdFieldNumber = 2;
  private ulong id_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong Id {
    get { return id_; }
    set {
      id_ = value;
    }
  }

  /// <summary>Field number for the "reason" field.</summary>
  public const int ReasonFieldNumber = 3;
  private int reason_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Reason {
    get { return reason_; }
    set {
      reason_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSceneDestroyEntity);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSceneDestroyEntity other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SceneNumId != other.SceneNumId) return false;
    if (Id != other.Id) return false;
    if (Reason != other.Reason) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SceneNumId != 0) hash ^= SceneNumId.GetHashCode();
    if (Id != 0UL) hash ^= Id.GetHashCode();
    if (Reason != 0) hash ^= Reason.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SceneNumId != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(SceneNumId);
    }
    if (Id != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(Id);
    }
    if (Reason != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(Reason);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SceneNumId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(SceneNumId);
    }
    if (Id != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(Id);
    }
    if (Reason != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Reason);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSceneDestroyEntity other) {
    if (other == null) {
      return;
    }
    if (other.SceneNumId != 0) {
      SceneNumId = other.SceneNumId;
    }
    if (other.Id != 0UL) {
      Id = other.Id;
    }
    if (other.Reason != 0) {
      Reason = other.Reason;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          SceneNumId = input.ReadInt32();
          break;
        }
        case 16: {
          Id = input.ReadUInt64();
          break;
        }
        case 24: {
          Reason = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScSceneCrossSceneStatus : pb::IMessage<ScSceneCrossSceneStatus> {
  private static readonly pb::MessageParser<ScSceneCrossSceneStatus> _parser = new pb::MessageParser<ScSceneCrossSceneStatus>(() => new ScSceneCrossSceneStatus());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSceneCrossSceneStatus> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[883]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneCrossSceneStatus() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneCrossSceneStatus(ScSceneCrossSceneStatus other) : this() {
    objId_ = other.objId_;
    sceneNumId_ = other.sceneNumId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneCrossSceneStatus Clone() {
    return new ScSceneCrossSceneStatus(this);
  }

  /// <summary>Field number for the "obj_id" field.</summary>
  public const int ObjIdFieldNumber = 1;
  private ulong objId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong ObjId {
    get { return objId_; }
    set {
      objId_ = value;
    }
  }

  /// <summary>Field number for the "scene_num_id" field.</summary>
  public const int SceneNumIdFieldNumber = 2;
  private int sceneNumId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int SceneNumId {
    get { return sceneNumId_; }
    set {
      sceneNumId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSceneCrossSceneStatus);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSceneCrossSceneStatus other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ObjId != other.ObjId) return false;
    if (SceneNumId != other.SceneNumId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ObjId != 0UL) hash ^= ObjId.GetHashCode();
    if (SceneNumId != 0) hash ^= SceneNumId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ObjId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(ObjId);
    }
    if (SceneNumId != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(SceneNumId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ObjId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(ObjId);
    }
    if (SceneNumId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(SceneNumId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSceneCrossSceneStatus other) {
    if (other == null) {
      return;
    }
    if (other.ObjId != 0UL) {
      ObjId = other.ObjId;
    }
    if (other.SceneNumId != 0) {
      SceneNumId = other.SceneNumId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ObjId = input.ReadUInt64();
          break;
        }
        case 16: {
          SceneNumId = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class CsSceneRevival : pb::IMessage<CsSceneRevival> {
  private static readonly pb::MessageParser<CsSceneRevival> _parser = new pb::MessageParser<CsSceneRevival>(() => new CsSceneRevival());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsSceneRevival> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[884]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneRevival() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneRevival(CsSceneRevival other) : this() {
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneRevival Clone() {
    return new CsSceneRevival(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsSceneRevival);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsSceneRevival other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsSceneRevival other) {
    if (other == null) {
      return;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
      }
    }
  }

}

public sealed partial class ScSceneRevival : pb::IMessage<ScSceneRevival> {
  private static readonly pb::MessageParser<ScSceneRevival> _parser = new pb::MessageParser<ScSceneRevival>(() => new ScSceneRevival());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSceneRevival> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[885]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneRevival() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneRevival(ScSceneRevival other) : this() {
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneRevival Clone() {
    return new ScSceneRevival(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSceneRevival);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSceneRevival other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSceneRevival other) {
    if (other == null) {
      return;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
      }
    }
  }

}

public sealed partial class CsSceneSetStorySafeZone : pb::IMessage<CsSceneSetStorySafeZone> {
  private static readonly pb::MessageParser<CsSceneSetStorySafeZone> _parser = new pb::MessageParser<CsSceneSetStorySafeZone>(() => new CsSceneSetStorySafeZone());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsSceneSetStorySafeZone> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[886]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneSetStorySafeZone() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneSetStorySafeZone(CsSceneSetStorySafeZone other) : this() {
    inZone_ = other.inZone_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneSetStorySafeZone Clone() {
    return new CsSceneSetStorySafeZone(this);
  }

  /// <summary>Field number for the "in_zone" field.</summary>
  public const int InZoneFieldNumber = 1;
  private bool inZone_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool InZone {
    get { return inZone_; }
    set {
      inZone_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsSceneSetStorySafeZone);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsSceneSetStorySafeZone other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (InZone != other.InZone) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (InZone != false) hash ^= InZone.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (InZone != false) {
      output.WriteRawTag(8);
      output.WriteBool(InZone);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (InZone != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsSceneSetStorySafeZone other) {
    if (other == null) {
      return;
    }
    if (other.InZone != false) {
      InZone = other.InZone;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          InZone = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class ScSceneSetStorySafeZone : pb::IMessage<ScSceneSetStorySafeZone> {
  private static readonly pb::MessageParser<ScSceneSetStorySafeZone> _parser = new pb::MessageParser<ScSceneSetStorySafeZone>(() => new ScSceneSetStorySafeZone());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSceneSetStorySafeZone> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[887]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneSetStorySafeZone() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneSetStorySafeZone(ScSceneSetStorySafeZone other) : this() {
    inZone_ = other.inZone_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneSetStorySafeZone Clone() {
    return new ScSceneSetStorySafeZone(this);
  }

  /// <summary>Field number for the "in_zone" field.</summary>
  public const int InZoneFieldNumber = 1;
  private bool inZone_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool InZone {
    get { return inZone_; }
    set {
      inZone_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSceneSetStorySafeZone);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSceneSetStorySafeZone other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (InZone != other.InZone) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (InZone != false) hash ^= InZone.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (InZone != false) {
      output.WriteRawTag(8);
      output.WriteBool(InZone);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (InZone != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSceneSetStorySafeZone other) {
    if (other == null) {
      return;
    }
    if (other.InZone != false) {
      InZone = other.InZone;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          InZone = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class CsSceneSetSafeZone : pb::IMessage<CsSceneSetSafeZone> {
  private static readonly pb::MessageParser<CsSceneSetSafeZone> _parser = new pb::MessageParser<CsSceneSetSafeZone>(() => new CsSceneSetSafeZone());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsSceneSetSafeZone> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[888]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneSetSafeZone() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneSetSafeZone(CsSceneSetSafeZone other) : this() {
    inZone_ = other.inZone_;
    id_ = other.id_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneSetSafeZone Clone() {
    return new CsSceneSetSafeZone(this);
  }

  /// <summary>Field number for the "in_zone" field.</summary>
  public const int InZoneFieldNumber = 1;
  private bool inZone_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool InZone {
    get { return inZone_; }
    set {
      inZone_ = value;
    }
  }

  /// <summary>Field number for the "id" field.</summary>
  public const int IdFieldNumber = 2;
  private ulong id_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong Id {
    get { return id_; }
    set {
      id_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsSceneSetSafeZone);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsSceneSetSafeZone other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (InZone != other.InZone) return false;
    if (Id != other.Id) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (InZone != false) hash ^= InZone.GetHashCode();
    if (Id != 0UL) hash ^= Id.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (InZone != false) {
      output.WriteRawTag(8);
      output.WriteBool(InZone);
    }
    if (Id != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(Id);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (InZone != false) {
      size += 1 + 1;
    }
    if (Id != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(Id);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsSceneSetSafeZone other) {
    if (other == null) {
      return;
    }
    if (other.InZone != false) {
      InZone = other.InZone;
    }
    if (other.Id != 0UL) {
      Id = other.Id;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          InZone = input.ReadBool();
          break;
        }
        case 16: {
          Id = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class ScSceneSetSafeZone : pb::IMessage<ScSceneSetSafeZone> {
  private static readonly pb::MessageParser<ScSceneSetSafeZone> _parser = new pb::MessageParser<ScSceneSetSafeZone>(() => new ScSceneSetSafeZone());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSceneSetSafeZone> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[889]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneSetSafeZone() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneSetSafeZone(ScSceneSetSafeZone other) : this() {
    inZone_ = other.inZone_;
    id_ = other.id_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneSetSafeZone Clone() {
    return new ScSceneSetSafeZone(this);
  }

  /// <summary>Field number for the "in_zone" field.</summary>
  public const int InZoneFieldNumber = 1;
  private bool inZone_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool InZone {
    get { return inZone_; }
    set {
      inZone_ = value;
    }
  }

  /// <summary>Field number for the "id" field.</summary>
  public const int IdFieldNumber = 2;
  private ulong id_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong Id {
    get { return id_; }
    set {
      id_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSceneSetSafeZone);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSceneSetSafeZone other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (InZone != other.InZone) return false;
    if (Id != other.Id) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (InZone != false) hash ^= InZone.GetHashCode();
    if (Id != 0UL) hash ^= Id.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (InZone != false) {
      output.WriteRawTag(8);
      output.WriteBool(InZone);
    }
    if (Id != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(Id);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (InZone != false) {
      size += 1 + 1;
    }
    if (Id != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(Id);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSceneSetSafeZone other) {
    if (other == null) {
      return;
    }
    if (other.InZone != false) {
      InZone = other.InZone;
    }
    if (other.Id != 0UL) {
      Id = other.Id;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          InZone = input.ReadBool();
          break;
        }
        case 16: {
          Id = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class CsSceneQueryEntityExist : pb::IMessage<CsSceneQueryEntityExist> {
  private static readonly pb::MessageParser<CsSceneQueryEntityExist> _parser = new pb::MessageParser<CsSceneQueryEntityExist>(() => new CsSceneQueryEntityExist());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsSceneQueryEntityExist> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[890]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneQueryEntityExist() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneQueryEntityExist(CsSceneQueryEntityExist other) : this() {
    sceneNumId_ = other.sceneNumId_;
    id_ = other.id_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneQueryEntityExist Clone() {
    return new CsSceneQueryEntityExist(this);
  }

  /// <summary>Field number for the "scene_num_id" field.</summary>
  public const int SceneNumIdFieldNumber = 1;
  private int sceneNumId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int SceneNumId {
    get { return sceneNumId_; }
    set {
      sceneNumId_ = value;
    }
  }

  /// <summary>Field number for the "id" field.</summary>
  public const int IdFieldNumber = 2;
  private ulong id_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong Id {
    get { return id_; }
    set {
      id_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsSceneQueryEntityExist);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsSceneQueryEntityExist other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SceneNumId != other.SceneNumId) return false;
    if (Id != other.Id) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SceneNumId != 0) hash ^= SceneNumId.GetHashCode();
    if (Id != 0UL) hash ^= Id.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SceneNumId != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(SceneNumId);
    }
    if (Id != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(Id);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SceneNumId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(SceneNumId);
    }
    if (Id != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(Id);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsSceneQueryEntityExist other) {
    if (other == null) {
      return;
    }
    if (other.SceneNumId != 0) {
      SceneNumId = other.SceneNumId;
    }
    if (other.Id != 0UL) {
      Id = other.Id;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          SceneNumId = input.ReadInt32();
          break;
        }
        case 16: {
          Id = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class ScSceneQueryEntityExist : pb::IMessage<ScSceneQueryEntityExist> {
  private static readonly pb::MessageParser<ScSceneQueryEntityExist> _parser = new pb::MessageParser<ScSceneQueryEntityExist>(() => new ScSceneQueryEntityExist());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSceneQueryEntityExist> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[891]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneQueryEntityExist() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneQueryEntityExist(ScSceneQueryEntityExist other) : this() {
    isExist_ = other.isExist_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneQueryEntityExist Clone() {
    return new ScSceneQueryEntityExist(this);
  }

  /// <summary>Field number for the "is_exist" field.</summary>
  public const int IsExistFieldNumber = 1;
  private bool isExist_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool IsExist {
    get { return isExist_; }
    set {
      isExist_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSceneQueryEntityExist);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSceneQueryEntityExist other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (IsExist != other.IsExist) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (IsExist != false) hash ^= IsExist.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (IsExist != false) {
      output.WriteRawTag(8);
      output.WriteBool(IsExist);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (IsExist != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSceneQueryEntityExist other) {
    if (other == null) {
      return;
    }
    if (other.IsExist != false) {
      IsExist = other.IsExist;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          IsExist = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class CsSceneQueryInteractiveProperty : pb::IMessage<CsSceneQueryInteractiveProperty> {
  private static readonly pb::MessageParser<CsSceneQueryInteractiveProperty> _parser = new pb::MessageParser<CsSceneQueryInteractiveProperty>(() => new CsSceneQueryInteractiveProperty());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsSceneQueryInteractiveProperty> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[892]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneQueryInteractiveProperty() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneQueryInteractiveProperty(CsSceneQueryInteractiveProperty other) : this() {
    sceneNumId_ = other.sceneNumId_;
    id_ = other.id_;
    key_ = other.key_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneQueryInteractiveProperty Clone() {
    return new CsSceneQueryInteractiveProperty(this);
  }

  /// <summary>Field number for the "scene_num_id" field.</summary>
  public const int SceneNumIdFieldNumber = 1;
  private int sceneNumId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int SceneNumId {
    get { return sceneNumId_; }
    set {
      sceneNumId_ = value;
    }
  }

  /// <summary>Field number for the "id" field.</summary>
  public const int IdFieldNumber = 2;
  private ulong id_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong Id {
    get { return id_; }
    set {
      id_ = value;
    }
  }

  /// <summary>Field number for the "key" field.</summary>
  public const int KeyFieldNumber = 3;
  private int key_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Key {
    get { return key_; }
    set {
      key_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsSceneQueryInteractiveProperty);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsSceneQueryInteractiveProperty other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SceneNumId != other.SceneNumId) return false;
    if (Id != other.Id) return false;
    if (Key != other.Key) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SceneNumId != 0) hash ^= SceneNumId.GetHashCode();
    if (Id != 0UL) hash ^= Id.GetHashCode();
    if (Key != 0) hash ^= Key.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SceneNumId != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(SceneNumId);
    }
    if (Id != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(Id);
    }
    if (Key != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(Key);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SceneNumId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(SceneNumId);
    }
    if (Id != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(Id);
    }
    if (Key != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Key);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsSceneQueryInteractiveProperty other) {
    if (other == null) {
      return;
    }
    if (other.SceneNumId != 0) {
      SceneNumId = other.SceneNumId;
    }
    if (other.Id != 0UL) {
      Id = other.Id;
    }
    if (other.Key != 0) {
      Key = other.Key;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          SceneNumId = input.ReadInt32();
          break;
        }
        case 16: {
          Id = input.ReadUInt64();
          break;
        }
        case 24: {
          Key = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScSceneQueryInteractiveProperty : pb::IMessage<ScSceneQueryInteractiveProperty> {
  private static readonly pb::MessageParser<ScSceneQueryInteractiveProperty> _parser = new pb::MessageParser<ScSceneQueryInteractiveProperty>(() => new ScSceneQueryInteractiveProperty());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSceneQueryInteractiveProperty> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[893]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneQueryInteractiveProperty() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneQueryInteractiveProperty(ScSceneQueryInteractiveProperty other) : this() {
    sceneNumId_ = other.sceneNumId_;
    id_ = other.id_;
    key_ = other.key_;
    value_ = other.value_ != null ? other.value_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneQueryInteractiveProperty Clone() {
    return new ScSceneQueryInteractiveProperty(this);
  }

  /// <summary>Field number for the "scene_num_id" field.</summary>
  public const int SceneNumIdFieldNumber = 1;
  private int sceneNumId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int SceneNumId {
    get { return sceneNumId_; }
    set {
      sceneNumId_ = value;
    }
  }

  /// <summary>Field number for the "id" field.</summary>
  public const int IdFieldNumber = 2;
  private ulong id_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong Id {
    get { return id_; }
    set {
      id_ = value;
    }
  }

  /// <summary>Field number for the "key" field.</summary>
  public const int KeyFieldNumber = 3;
  private int key_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Key {
    get { return key_; }
    set {
      key_ = value;
    }
  }

  /// <summary>Field number for the "value" field.</summary>
  public const int ValueFieldNumber = 4;
  private global::DynamicParameter value_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::DynamicParameter Value {
    get { return value_; }
    set {
      value_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSceneQueryInteractiveProperty);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSceneQueryInteractiveProperty other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SceneNumId != other.SceneNumId) return false;
    if (Id != other.Id) return false;
    if (Key != other.Key) return false;
    if (!object.Equals(Value, other.Value)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SceneNumId != 0) hash ^= SceneNumId.GetHashCode();
    if (Id != 0UL) hash ^= Id.GetHashCode();
    if (Key != 0) hash ^= Key.GetHashCode();
    if (value_ != null) hash ^= Value.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SceneNumId != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(SceneNumId);
    }
    if (Id != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(Id);
    }
    if (Key != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(Key);
    }
    if (value_ != null) {
      output.WriteRawTag(34);
      output.WriteMessage(Value);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SceneNumId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(SceneNumId);
    }
    if (Id != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(Id);
    }
    if (Key != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Key);
    }
    if (value_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Value);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSceneQueryInteractiveProperty other) {
    if (other == null) {
      return;
    }
    if (other.SceneNumId != 0) {
      SceneNumId = other.SceneNumId;
    }
    if (other.Id != 0UL) {
      Id = other.Id;
    }
    if (other.Key != 0) {
      Key = other.Key;
    }
    if (other.value_ != null) {
      if (value_ == null) {
        value_ = new global::DynamicParameter();
      }
      Value.MergeFrom(other.Value);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          SceneNumId = input.ReadInt32();
          break;
        }
        case 16: {
          Id = input.ReadUInt64();
          break;
        }
        case 24: {
          Key = input.ReadInt32();
          break;
        }
        case 34: {
          if (value_ == null) {
            value_ = new global::DynamicParameter();
          }
          input.ReadMessage(value_);
          break;
        }
      }
    }
  }

}

public sealed partial class CsSceneSpawnSummon : pb::IMessage<CsSceneSpawnSummon> {
  private static readonly pb::MessageParser<CsSceneSpawnSummon> _parser = new pb::MessageParser<CsSceneSpawnSummon>(() => new CsSceneSpawnSummon());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsSceneSpawnSummon> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[894]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneSpawnSummon() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneSpawnSummon(CsSceneSpawnSummon other) : this() {
    summonId_ = other.summonId_;
    position_ = other.position_ != null ? other.position_.Clone() : null;
    rotation_ = other.rotation_ != null ? other.rotation_.Clone() : null;
    skillId_ = other.skillId_;
    blackboard_ = other.blackboard_ != null ? other.blackboard_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneSpawnSummon Clone() {
    return new CsSceneSpawnSummon(this);
  }

  /// <summary>Field number for the "summon_id" field.</summary>
  public const int SummonIdFieldNumber = 1;
  private string summonId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string SummonId {
    get { return summonId_; }
    set {
      summonId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "position" field.</summary>
  public const int PositionFieldNumber = 2;
  private global::Vector position_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::Vector Position {
    get { return position_; }
    set {
      position_ = value;
    }
  }

  /// <summary>Field number for the "rotation" field.</summary>
  public const int RotationFieldNumber = 3;
  private global::Vector rotation_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::Vector Rotation {
    get { return rotation_; }
    set {
      rotation_ = value;
    }
  }

  /// <summary>Field number for the "skill_id" field.</summary>
  public const int SkillIdFieldNumber = 4;
  private string skillId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string SkillId {
    get { return skillId_; }
    set {
      skillId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "blackboard" field.</summary>
  public const int BlackboardFieldNumber = 5;
  private global::BattleBlackboard blackboard_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::BattleBlackboard Blackboard {
    get { return blackboard_; }
    set {
      blackboard_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsSceneSpawnSummon);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsSceneSpawnSummon other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SummonId != other.SummonId) return false;
    if (!object.Equals(Position, other.Position)) return false;
    if (!object.Equals(Rotation, other.Rotation)) return false;
    if (SkillId != other.SkillId) return false;
    if (!object.Equals(Blackboard, other.Blackboard)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SummonId.Length != 0) hash ^= SummonId.GetHashCode();
    if (position_ != null) hash ^= Position.GetHashCode();
    if (rotation_ != null) hash ^= Rotation.GetHashCode();
    if (SkillId.Length != 0) hash ^= SkillId.GetHashCode();
    if (blackboard_ != null) hash ^= Blackboard.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SummonId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(SummonId);
    }
    if (position_ != null) {
      output.WriteRawTag(18);
      output.WriteMessage(Position);
    }
    if (rotation_ != null) {
      output.WriteRawTag(26);
      output.WriteMessage(Rotation);
    }
    if (SkillId.Length != 0) {
      output.WriteRawTag(34);
      output.WriteString(SkillId);
    }
    if (blackboard_ != null) {
      output.WriteRawTag(42);
      output.WriteMessage(Blackboard);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SummonId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(SummonId);
    }
    if (position_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Position);
    }
    if (rotation_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Rotation);
    }
    if (SkillId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(SkillId);
    }
    if (blackboard_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Blackboard);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsSceneSpawnSummon other) {
    if (other == null) {
      return;
    }
    if (other.SummonId.Length != 0) {
      SummonId = other.SummonId;
    }
    if (other.position_ != null) {
      if (position_ == null) {
        position_ = new global::Vector();
      }
      Position.MergeFrom(other.Position);
    }
    if (other.rotation_ != null) {
      if (rotation_ == null) {
        rotation_ = new global::Vector();
      }
      Rotation.MergeFrom(other.Rotation);
    }
    if (other.SkillId.Length != 0) {
      SkillId = other.SkillId;
    }
    if (other.blackboard_ != null) {
      if (blackboard_ == null) {
        blackboard_ = new global::BattleBlackboard();
      }
      Blackboard.MergeFrom(other.Blackboard);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          SummonId = input.ReadString();
          break;
        }
        case 18: {
          if (position_ == null) {
            position_ = new global::Vector();
          }
          input.ReadMessage(position_);
          break;
        }
        case 26: {
          if (rotation_ == null) {
            rotation_ = new global::Vector();
          }
          input.ReadMessage(rotation_);
          break;
        }
        case 34: {
          SkillId = input.ReadString();
          break;
        }
        case 42: {
          if (blackboard_ == null) {
            blackboard_ = new global::BattleBlackboard();
          }
          input.ReadMessage(blackboard_);
          break;
        }
      }
    }
  }

}

public sealed partial class ScSceneUnlockArea : pb::IMessage<ScSceneUnlockArea> {
  private static readonly pb::MessageParser<ScSceneUnlockArea> _parser = new pb::MessageParser<ScSceneUnlockArea>(() => new ScSceneUnlockArea());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSceneUnlockArea> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[895]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneUnlockArea() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneUnlockArea(ScSceneUnlockArea other) : this() {
    sceneNumId_ = other.sceneNumId_;
    areaId_ = other.areaId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneUnlockArea Clone() {
    return new ScSceneUnlockArea(this);
  }

  /// <summary>Field number for the "scene_num_id" field.</summary>
  public const int SceneNumIdFieldNumber = 1;
  private int sceneNumId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int SceneNumId {
    get { return sceneNumId_; }
    set {
      sceneNumId_ = value;
    }
  }

  /// <summary>Field number for the "area_id" field.</summary>
  public const int AreaIdFieldNumber = 2;
  private string areaId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string AreaId {
    get { return areaId_; }
    set {
      areaId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSceneUnlockArea);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSceneUnlockArea other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SceneNumId != other.SceneNumId) return false;
    if (AreaId != other.AreaId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SceneNumId != 0) hash ^= SceneNumId.GetHashCode();
    if (AreaId.Length != 0) hash ^= AreaId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SceneNumId != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(SceneNumId);
    }
    if (AreaId.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(AreaId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SceneNumId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(SceneNumId);
    }
    if (AreaId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(AreaId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSceneUnlockArea other) {
    if (other == null) {
      return;
    }
    if (other.SceneNumId != 0) {
      SceneNumId = other.SceneNumId;
    }
    if (other.AreaId.Length != 0) {
      AreaId = other.AreaId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          SceneNumId = input.ReadInt32();
          break;
        }
        case 18: {
          AreaId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class CsSceneInteractTree : pb::IMessage<CsSceneInteractTree> {
  private static readonly pb::MessageParser<CsSceneInteractTree> _parser = new pb::MessageParser<CsSceneInteractTree>(() => new CsSceneInteractTree());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsSceneInteractTree> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[896]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneInteractTree() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneInteractTree(CsSceneInteractTree other) : this() {
    treeTypeId_ = other.treeTypeId_;
    position_ = other.position_ != null ? other.position_.Clone() : null;
    isBreaked_ = other.isBreaked_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneInteractTree Clone() {
    return new CsSceneInteractTree(this);
  }

  /// <summary>Field number for the "tree_type_id" field.</summary>
  public const int TreeTypeIdFieldNumber = 1;
  private string treeTypeId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string TreeTypeId {
    get { return treeTypeId_; }
    set {
      treeTypeId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "position" field.</summary>
  public const int PositionFieldNumber = 2;
  private global::Vector position_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::Vector Position {
    get { return position_; }
    set {
      position_ = value;
    }
  }

  /// <summary>Field number for the "is_breaked" field.</summary>
  public const int IsBreakedFieldNumber = 3;
  private bool isBreaked_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool IsBreaked {
    get { return isBreaked_; }
    set {
      isBreaked_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsSceneInteractTree);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsSceneInteractTree other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (TreeTypeId != other.TreeTypeId) return false;
    if (!object.Equals(Position, other.Position)) return false;
    if (IsBreaked != other.IsBreaked) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (TreeTypeId.Length != 0) hash ^= TreeTypeId.GetHashCode();
    if (position_ != null) hash ^= Position.GetHashCode();
    if (IsBreaked != false) hash ^= IsBreaked.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (TreeTypeId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(TreeTypeId);
    }
    if (position_ != null) {
      output.WriteRawTag(18);
      output.WriteMessage(Position);
    }
    if (IsBreaked != false) {
      output.WriteRawTag(24);
      output.WriteBool(IsBreaked);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (TreeTypeId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(TreeTypeId);
    }
    if (position_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Position);
    }
    if (IsBreaked != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsSceneInteractTree other) {
    if (other == null) {
      return;
    }
    if (other.TreeTypeId.Length != 0) {
      TreeTypeId = other.TreeTypeId;
    }
    if (other.position_ != null) {
      if (position_ == null) {
        position_ = new global::Vector();
      }
      Position.MergeFrom(other.Position);
    }
    if (other.IsBreaked != false) {
      IsBreaked = other.IsBreaked;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          TreeTypeId = input.ReadString();
          break;
        }
        case 18: {
          if (position_ == null) {
            position_ = new global::Vector();
          }
          input.ReadMessage(position_);
          break;
        }
        case 24: {
          IsBreaked = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class CsSceneTeleport : pb::IMessage<CsSceneTeleport> {
  private static readonly pb::MessageParser<CsSceneTeleport> _parser = new pb::MessageParser<CsSceneTeleport>(() => new CsSceneTeleport());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsSceneTeleport> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[897]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneTeleport() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneTeleport(CsSceneTeleport other) : this() {
    sceneNumId_ = other.sceneNumId_;
    position_ = other.position_ != null ? other.position_.Clone() : null;
    rotation_ = other.rotation_ != null ? other.rotation_.Clone() : null;
    teleportReason_ = other.teleportReason_;
    passThroughData_ = other.passThroughData_ != null ? other.passThroughData_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneTeleport Clone() {
    return new CsSceneTeleport(this);
  }

  /// <summary>Field number for the "scene_num_id" field.</summary>
  public const int SceneNumIdFieldNumber = 1;
  private int sceneNumId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int SceneNumId {
    get { return sceneNumId_; }
    set {
      sceneNumId_ = value;
    }
  }

  /// <summary>Field number for the "position" field.</summary>
  public const int PositionFieldNumber = 2;
  private global::Vector position_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::Vector Position {
    get { return position_; }
    set {
      position_ = value;
    }
  }

  /// <summary>Field number for the "rotation" field.</summary>
  public const int RotationFieldNumber = 3;
  private global::Vector rotation_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::Vector Rotation {
    get { return rotation_; }
    set {
      rotation_ = value;
    }
  }

  /// <summary>Field number for the "teleport_reason" field.</summary>
  public const int TeleportReasonFieldNumber = 4;
  private int teleportReason_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int TeleportReason {
    get { return teleportReason_; }
    set {
      teleportReason_ = value;
    }
  }

  /// <summary>Field number for the "pass_through_data" field.</summary>
  public const int PassThroughDataFieldNumber = 5;
  private global::PassThroughData passThroughData_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::PassThroughData PassThroughData {
    get { return passThroughData_; }
    set {
      passThroughData_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsSceneTeleport);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsSceneTeleport other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SceneNumId != other.SceneNumId) return false;
    if (!object.Equals(Position, other.Position)) return false;
    if (!object.Equals(Rotation, other.Rotation)) return false;
    if (TeleportReason != other.TeleportReason) return false;
    if (!object.Equals(PassThroughData, other.PassThroughData)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SceneNumId != 0) hash ^= SceneNumId.GetHashCode();
    if (position_ != null) hash ^= Position.GetHashCode();
    if (rotation_ != null) hash ^= Rotation.GetHashCode();
    if (TeleportReason != 0) hash ^= TeleportReason.GetHashCode();
    if (passThroughData_ != null) hash ^= PassThroughData.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SceneNumId != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(SceneNumId);
    }
    if (position_ != null) {
      output.WriteRawTag(18);
      output.WriteMessage(Position);
    }
    if (rotation_ != null) {
      output.WriteRawTag(26);
      output.WriteMessage(Rotation);
    }
    if (TeleportReason != 0) {
      output.WriteRawTag(32);
      output.WriteInt32(TeleportReason);
    }
    if (passThroughData_ != null) {
      output.WriteRawTag(42);
      output.WriteMessage(PassThroughData);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SceneNumId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(SceneNumId);
    }
    if (position_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Position);
    }
    if (rotation_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Rotation);
    }
    if (TeleportReason != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(TeleportReason);
    }
    if (passThroughData_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(PassThroughData);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsSceneTeleport other) {
    if (other == null) {
      return;
    }
    if (other.SceneNumId != 0) {
      SceneNumId = other.SceneNumId;
    }
    if (other.position_ != null) {
      if (position_ == null) {
        position_ = new global::Vector();
      }
      Position.MergeFrom(other.Position);
    }
    if (other.rotation_ != null) {
      if (rotation_ == null) {
        rotation_ = new global::Vector();
      }
      Rotation.MergeFrom(other.Rotation);
    }
    if (other.TeleportReason != 0) {
      TeleportReason = other.TeleportReason;
    }
    if (other.passThroughData_ != null) {
      if (passThroughData_ == null) {
        passThroughData_ = new global::PassThroughData();
      }
      PassThroughData.MergeFrom(other.PassThroughData);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          SceneNumId = input.ReadInt32();
          break;
        }
        case 18: {
          if (position_ == null) {
            position_ = new global::Vector();
          }
          input.ReadMessage(position_);
          break;
        }
        case 26: {
          if (rotation_ == null) {
            rotation_ = new global::Vector();
          }
          input.ReadMessage(rotation_);
          break;
        }
        case 32: {
          TeleportReason = input.ReadInt32();
          break;
        }
        case 42: {
          if (passThroughData_ == null) {
            passThroughData_ = new global::PassThroughData();
          }
          input.ReadMessage(passThroughData_);
          break;
        }
      }
    }
  }

}

public sealed partial class ScSceneTeleport : pb::IMessage<ScSceneTeleport> {
  private static readonly pb::MessageParser<ScSceneTeleport> _parser = new pb::MessageParser<ScSceneTeleport>(() => new ScSceneTeleport());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSceneTeleport> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[898]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneTeleport() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneTeleport(ScSceneTeleport other) : this() {
    objIdList_ = other.objIdList_.Clone();
    sceneNumId_ = other.sceneNumId_;
    position_ = other.position_ != null ? other.position_.Clone() : null;
    rotation_ = other.rotation_ != null ? other.rotation_.Clone() : null;
    serverTime_ = other.serverTime_;
    teleportReason_ = other.teleportReason_;
    tpUuid_ = other.tpUuid_;
    passThroughData_ = other.passThroughData_ != null ? other.passThroughData_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneTeleport Clone() {
    return new ScSceneTeleport(this);
  }

  /// <summary>Field number for the "obj_id_list" field.</summary>
  public const int ObjIdListFieldNumber = 1;
  private static readonly pb::FieldCodec<ulong> _repeated_objIdList_codec
      = pb::FieldCodec.ForUInt64(10);
  private readonly pbc::RepeatedField<ulong> objIdList_ = new pbc::RepeatedField<ulong>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<ulong> ObjIdList {
    get { return objIdList_; }
  }

  /// <summary>Field number for the "scene_num_id" field.</summary>
  public const int SceneNumIdFieldNumber = 2;
  private int sceneNumId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int SceneNumId {
    get { return sceneNumId_; }
    set {
      sceneNumId_ = value;
    }
  }

  /// <summary>Field number for the "position" field.</summary>
  public const int PositionFieldNumber = 3;
  private global::Vector position_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::Vector Position {
    get { return position_; }
    set {
      position_ = value;
    }
  }

  /// <summary>Field number for the "rotation" field.</summary>
  public const int RotationFieldNumber = 4;
  private global::Vector rotation_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::Vector Rotation {
    get { return rotation_; }
    set {
      rotation_ = value;
    }
  }

  /// <summary>Field number for the "server_time" field.</summary>
  public const int ServerTimeFieldNumber = 5;
  private uint serverTime_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint ServerTime {
    get { return serverTime_; }
    set {
      serverTime_ = value;
    }
  }

  /// <summary>Field number for the "teleport_reason" field.</summary>
  public const int TeleportReasonFieldNumber = 6;
  private int teleportReason_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int TeleportReason {
    get { return teleportReason_; }
    set {
      teleportReason_ = value;
    }
  }

  /// <summary>Field number for the "tp_uuid" field.</summary>
  public const int TpUuidFieldNumber = 7;
  private ulong tpUuid_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong TpUuid {
    get { return tpUuid_; }
    set {
      tpUuid_ = value;
    }
  }

  /// <summary>Field number for the "pass_through_data" field.</summary>
  public const int PassThroughDataFieldNumber = 8;
  private global::PassThroughData passThroughData_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::PassThroughData PassThroughData {
    get { return passThroughData_; }
    set {
      passThroughData_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSceneTeleport);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSceneTeleport other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!objIdList_.Equals(other.objIdList_)) return false;
    if (SceneNumId != other.SceneNumId) return false;
    if (!object.Equals(Position, other.Position)) return false;
    if (!object.Equals(Rotation, other.Rotation)) return false;
    if (ServerTime != other.ServerTime) return false;
    if (TeleportReason != other.TeleportReason) return false;
    if (TpUuid != other.TpUuid) return false;
    if (!object.Equals(PassThroughData, other.PassThroughData)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= objIdList_.GetHashCode();
    if (SceneNumId != 0) hash ^= SceneNumId.GetHashCode();
    if (position_ != null) hash ^= Position.GetHashCode();
    if (rotation_ != null) hash ^= Rotation.GetHashCode();
    if (ServerTime != 0) hash ^= ServerTime.GetHashCode();
    if (TeleportReason != 0) hash ^= TeleportReason.GetHashCode();
    if (TpUuid != 0UL) hash ^= TpUuid.GetHashCode();
    if (passThroughData_ != null) hash ^= PassThroughData.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    objIdList_.WriteTo(output, _repeated_objIdList_codec);
    if (SceneNumId != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(SceneNumId);
    }
    if (position_ != null) {
      output.WriteRawTag(26);
      output.WriteMessage(Position);
    }
    if (rotation_ != null) {
      output.WriteRawTag(34);
      output.WriteMessage(Rotation);
    }
    if (ServerTime != 0) {
      output.WriteRawTag(40);
      output.WriteUInt32(ServerTime);
    }
    if (TeleportReason != 0) {
      output.WriteRawTag(48);
      output.WriteInt32(TeleportReason);
    }
    if (TpUuid != 0UL) {
      output.WriteRawTag(56);
      output.WriteUInt64(TpUuid);
    }
    if (passThroughData_ != null) {
      output.WriteRawTag(66);
      output.WriteMessage(PassThroughData);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += objIdList_.CalculateSize(_repeated_objIdList_codec);
    if (SceneNumId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(SceneNumId);
    }
    if (position_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Position);
    }
    if (rotation_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Rotation);
    }
    if (ServerTime != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(ServerTime);
    }
    if (TeleportReason != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(TeleportReason);
    }
    if (TpUuid != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(TpUuid);
    }
    if (passThroughData_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(PassThroughData);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSceneTeleport other) {
    if (other == null) {
      return;
    }
    objIdList_.Add(other.objIdList_);
    if (other.SceneNumId != 0) {
      SceneNumId = other.SceneNumId;
    }
    if (other.position_ != null) {
      if (position_ == null) {
        position_ = new global::Vector();
      }
      Position.MergeFrom(other.Position);
    }
    if (other.rotation_ != null) {
      if (rotation_ == null) {
        rotation_ = new global::Vector();
      }
      Rotation.MergeFrom(other.Rotation);
    }
    if (other.ServerTime != 0) {
      ServerTime = other.ServerTime;
    }
    if (other.TeleportReason != 0) {
      TeleportReason = other.TeleportReason;
    }
    if (other.TpUuid != 0UL) {
      TpUuid = other.TpUuid;
    }
    if (other.passThroughData_ != null) {
      if (passThroughData_ == null) {
        passThroughData_ = new global::PassThroughData();
      }
      PassThroughData.MergeFrom(other.PassThroughData);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10:
        case 8: {
          objIdList_.AddEntriesFrom(input, _repeated_objIdList_codec);
          break;
        }
        case 16: {
          SceneNumId = input.ReadInt32();
          break;
        }
        case 26: {
          if (position_ == null) {
            position_ = new global::Vector();
          }
          input.ReadMessage(position_);
          break;
        }
        case 34: {
          if (rotation_ == null) {
            rotation_ = new global::Vector();
          }
          input.ReadMessage(rotation_);
          break;
        }
        case 40: {
          ServerTime = input.ReadUInt32();
          break;
        }
        case 48: {
          TeleportReason = input.ReadInt32();
          break;
        }
        case 56: {
          TpUuid = input.ReadUInt64();
          break;
        }
        case 66: {
          if (passThroughData_ == null) {
            passThroughData_ = new global::PassThroughData();
          }
          input.ReadMessage(passThroughData_);
          break;
        }
      }
    }
  }

}

public sealed partial class CsSceneTeleportFinish : pb::IMessage<CsSceneTeleportFinish> {
  private static readonly pb::MessageParser<CsSceneTeleportFinish> _parser = new pb::MessageParser<CsSceneTeleportFinish>(() => new CsSceneTeleportFinish());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsSceneTeleportFinish> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[899]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneTeleportFinish() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneTeleportFinish(CsSceneTeleportFinish other) : this() {
    tpUuid_ = other.tpUuid_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneTeleportFinish Clone() {
    return new CsSceneTeleportFinish(this);
  }

  /// <summary>Field number for the "tp_uuid" field.</summary>
  public const int TpUuidFieldNumber = 1;
  private ulong tpUuid_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong TpUuid {
    get { return tpUuid_; }
    set {
      tpUuid_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsSceneTeleportFinish);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsSceneTeleportFinish other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (TpUuid != other.TpUuid) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (TpUuid != 0UL) hash ^= TpUuid.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (TpUuid != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(TpUuid);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (TpUuid != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(TpUuid);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsSceneTeleportFinish other) {
    if (other == null) {
      return;
    }
    if (other.TpUuid != 0UL) {
      TpUuid = other.TpUuid;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          TpUuid = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class CsSceneMoveStateSet : pb::IMessage<CsSceneMoveStateSet> {
  private static readonly pb::MessageParser<CsSceneMoveStateSet> _parser = new pb::MessageParser<CsSceneMoveStateSet>(() => new CsSceneMoveStateSet());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsSceneMoveStateSet> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[900]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneMoveStateSet() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneMoveStateSet(CsSceneMoveStateSet other) : this() {
    moveRecordTag_ = other.moveRecordTag_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneMoveStateSet Clone() {
    return new CsSceneMoveStateSet(this);
  }

  /// <summary>Field number for the "move_record_tag" field.</summary>
  public const int MoveRecordTagFieldNumber = 1;
  private bool moveRecordTag_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool MoveRecordTag {
    get { return moveRecordTag_; }
    set {
      moveRecordTag_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsSceneMoveStateSet);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsSceneMoveStateSet other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (MoveRecordTag != other.MoveRecordTag) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (MoveRecordTag != false) hash ^= MoveRecordTag.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (MoveRecordTag != false) {
      output.WriteRawTag(8);
      output.WriteBool(MoveRecordTag);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (MoveRecordTag != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsSceneMoveStateSet other) {
    if (other == null) {
      return;
    }
    if (other.MoveRecordTag != false) {
      MoveRecordTag = other.MoveRecordTag;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          MoveRecordTag = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class CsSceneSubmitEther : pb::IMessage<CsSceneSubmitEther> {
  private static readonly pb::MessageParser<CsSceneSubmitEther> _parser = new pb::MessageParser<CsSceneSubmitEther>(() => new CsSceneSubmitEther());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsSceneSubmitEther> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[901]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneSubmitEther() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneSubmitEther(CsSceneSubmitEther other) : this() {
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneSubmitEther Clone() {
    return new CsSceneSubmitEther(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsSceneSubmitEther);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsSceneSubmitEther other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsSceneSubmitEther other) {
    if (other == null) {
      return;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
      }
    }
  }

}

public sealed partial class ScSceneSubmitEther : pb::IMessage<ScSceneSubmitEther> {
  private static readonly pb::MessageParser<ScSceneSubmitEther> _parser = new pb::MessageParser<ScSceneSubmitEther>(() => new ScSceneSubmitEther());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSceneSubmitEther> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[902]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneSubmitEther() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneSubmitEther(ScSceneSubmitEther other) : this() {
    level_ = other.level_;
    count_ = other.count_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneSubmitEther Clone() {
    return new ScSceneSubmitEther(this);
  }

  /// <summary>Field number for the "level" field.</summary>
  public const int LevelFieldNumber = 1;
  private int level_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Level {
    get { return level_; }
    set {
      level_ = value;
    }
  }

  /// <summary>Field number for the "count" field.</summary>
  public const int CountFieldNumber = 2;
  private int count_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Count {
    get { return count_; }
    set {
      count_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSceneSubmitEther);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSceneSubmitEther other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Level != other.Level) return false;
    if (Count != other.Count) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Level != 0) hash ^= Level.GetHashCode();
    if (Count != 0) hash ^= Count.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Level != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(Level);
    }
    if (Count != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(Count);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Level != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Level);
    }
    if (Count != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Count);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSceneSubmitEther other) {
    if (other == null) {
      return;
    }
    if (other.Level != 0) {
      Level = other.Level;
    }
    if (other.Count != 0) {
      Count = other.Count;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Level = input.ReadInt32();
          break;
        }
        case 16: {
          Count = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class AreaUnlockInfo : pb::IMessage<AreaUnlockInfo> {
  private static readonly pb::MessageParser<AreaUnlockInfo> _parser = new pb::MessageParser<AreaUnlockInfo>(() => new AreaUnlockInfo());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<AreaUnlockInfo> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[903]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public AreaUnlockInfo() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public AreaUnlockInfo(AreaUnlockInfo other) : this() {
    sceneId_ = other.sceneId_;
    unlockAreaId_ = other.unlockAreaId_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public AreaUnlockInfo Clone() {
    return new AreaUnlockInfo(this);
  }

  /// <summary>Field number for the "scene_id" field.</summary>
  public const int SceneIdFieldNumber = 1;
  private string sceneId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string SceneId {
    get { return sceneId_; }
    set {
      sceneId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "unlock_area_id" field.</summary>
  public const int UnlockAreaIdFieldNumber = 2;
  private static readonly pb::FieldCodec<string> _repeated_unlockAreaId_codec
      = pb::FieldCodec.ForString(18);
  private readonly pbc::RepeatedField<string> unlockAreaId_ = new pbc::RepeatedField<string>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<string> UnlockAreaId {
    get { return unlockAreaId_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as AreaUnlockInfo);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(AreaUnlockInfo other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SceneId != other.SceneId) return false;
    if(!unlockAreaId_.Equals(other.unlockAreaId_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SceneId.Length != 0) hash ^= SceneId.GetHashCode();
    hash ^= unlockAreaId_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SceneId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(SceneId);
    }
    unlockAreaId_.WriteTo(output, _repeated_unlockAreaId_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SceneId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(SceneId);
    }
    size += unlockAreaId_.CalculateSize(_repeated_unlockAreaId_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(AreaUnlockInfo other) {
    if (other == null) {
      return;
    }
    if (other.SceneId.Length != 0) {
      SceneId = other.SceneId;
    }
    unlockAreaId_.Add(other.unlockAreaId_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          SceneId = input.ReadString();
          break;
        }
        case 18: {
          unlockAreaId_.AddEntriesFrom(input, _repeated_unlockAreaId_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScSyncAllRoleScene : pb::IMessage<ScSyncAllRoleScene> {
  private static readonly pb::MessageParser<ScSyncAllRoleScene> _parser = new pb::MessageParser<ScSyncAllRoleScene>(() => new ScSyncAllRoleScene());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSyncAllRoleScene> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[904]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncAllRoleScene() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncAllRoleScene(ScSyncAllRoleScene other) : this() {
    submitEtherLevel_ = other.submitEtherLevel_;
    submitEtherCount_ = other.submitEtherCount_;
    unlockAreaInfo_ = other.unlockAreaInfo_.Clone();
    sceneGradeInfo_ = other.sceneGradeInfo_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncAllRoleScene Clone() {
    return new ScSyncAllRoleScene(this);
  }

  /// <summary>Field number for the "submit_ether_level" field.</summary>
  public const int SubmitEtherLevelFieldNumber = 1;
  private int submitEtherLevel_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int SubmitEtherLevel {
    get { return submitEtherLevel_; }
    set {
      submitEtherLevel_ = value;
    }
  }

  /// <summary>Field number for the "submit_ether_count" field.</summary>
  public const int SubmitEtherCountFieldNumber = 2;
  private int submitEtherCount_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int SubmitEtherCount {
    get { return submitEtherCount_; }
    set {
      submitEtherCount_ = value;
    }
  }

  /// <summary>Field number for the "unlock_area_info" field.</summary>
  public const int UnlockAreaInfoFieldNumber = 3;
  private static readonly pb::FieldCodec<global::AreaUnlockInfo> _repeated_unlockAreaInfo_codec
      = pb::FieldCodec.ForMessage(26, global::AreaUnlockInfo.Parser);
  private readonly pbc::RepeatedField<global::AreaUnlockInfo> unlockAreaInfo_ = new pbc::RepeatedField<global::AreaUnlockInfo>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::AreaUnlockInfo> UnlockAreaInfo {
    get { return unlockAreaInfo_; }
  }

  /// <summary>Field number for the "scene_grade_info" field.</summary>
  public const int SceneGradeInfoFieldNumber = 4;
  private static readonly pb::FieldCodec<global::SceneGradeInfo> _repeated_sceneGradeInfo_codec
      = pb::FieldCodec.ForMessage(34, global::SceneGradeInfo.Parser);
  private readonly pbc::RepeatedField<global::SceneGradeInfo> sceneGradeInfo_ = new pbc::RepeatedField<global::SceneGradeInfo>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::SceneGradeInfo> SceneGradeInfo {
    get { return sceneGradeInfo_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSyncAllRoleScene);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSyncAllRoleScene other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SubmitEtherLevel != other.SubmitEtherLevel) return false;
    if (SubmitEtherCount != other.SubmitEtherCount) return false;
    if(!unlockAreaInfo_.Equals(other.unlockAreaInfo_)) return false;
    if(!sceneGradeInfo_.Equals(other.sceneGradeInfo_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SubmitEtherLevel != 0) hash ^= SubmitEtherLevel.GetHashCode();
    if (SubmitEtherCount != 0) hash ^= SubmitEtherCount.GetHashCode();
    hash ^= unlockAreaInfo_.GetHashCode();
    hash ^= sceneGradeInfo_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SubmitEtherLevel != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(SubmitEtherLevel);
    }
    if (SubmitEtherCount != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(SubmitEtherCount);
    }
    unlockAreaInfo_.WriteTo(output, _repeated_unlockAreaInfo_codec);
    sceneGradeInfo_.WriteTo(output, _repeated_sceneGradeInfo_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SubmitEtherLevel != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(SubmitEtherLevel);
    }
    if (SubmitEtherCount != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(SubmitEtherCount);
    }
    size += unlockAreaInfo_.CalculateSize(_repeated_unlockAreaInfo_codec);
    size += sceneGradeInfo_.CalculateSize(_repeated_sceneGradeInfo_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSyncAllRoleScene other) {
    if (other == null) {
      return;
    }
    if (other.SubmitEtherLevel != 0) {
      SubmitEtherLevel = other.SubmitEtherLevel;
    }
    if (other.SubmitEtherCount != 0) {
      SubmitEtherCount = other.SubmitEtherCount;
    }
    unlockAreaInfo_.Add(other.unlockAreaInfo_);
    sceneGradeInfo_.Add(other.sceneGradeInfo_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          SubmitEtherLevel = input.ReadInt32();
          break;
        }
        case 16: {
          SubmitEtherCount = input.ReadInt32();
          break;
        }
        case 26: {
          unlockAreaInfo_.AddEntriesFrom(input, _repeated_unlockAreaInfo_codec);
          break;
        }
        case 34: {
          sceneGradeInfo_.AddEntriesFrom(input, _repeated_sceneGradeInfo_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class SceneGradeInfo : pb::IMessage<SceneGradeInfo> {
  private static readonly pb::MessageParser<SceneGradeInfo> _parser = new pb::MessageParser<SceneGradeInfo>(() => new SceneGradeInfo());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<SceneGradeInfo> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[905]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SceneGradeInfo() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SceneGradeInfo(SceneGradeInfo other) : this() {
    sceneNumId_ = other.sceneNumId_;
    grade_ = other.grade_;
    lastDownTs_ = other.lastDownTs_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SceneGradeInfo Clone() {
    return new SceneGradeInfo(this);
  }

  /// <summary>Field number for the "scene_num_id" field.</summary>
  public const int SceneNumIdFieldNumber = 1;
  private int sceneNumId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int SceneNumId {
    get { return sceneNumId_; }
    set {
      sceneNumId_ = value;
    }
  }

  /// <summary>Field number for the "grade" field.</summary>
  public const int GradeFieldNumber = 2;
  private int grade_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Grade {
    get { return grade_; }
    set {
      grade_ = value;
    }
  }

  /// <summary>Field number for the "last_down_ts" field.</summary>
  public const int LastDownTsFieldNumber = 3;
  private long lastDownTs_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long LastDownTs {
    get { return lastDownTs_; }
    set {
      lastDownTs_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as SceneGradeInfo);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(SceneGradeInfo other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SceneNumId != other.SceneNumId) return false;
    if (Grade != other.Grade) return false;
    if (LastDownTs != other.LastDownTs) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SceneNumId != 0) hash ^= SceneNumId.GetHashCode();
    if (Grade != 0) hash ^= Grade.GetHashCode();
    if (LastDownTs != 0L) hash ^= LastDownTs.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SceneNumId != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(SceneNumId);
    }
    if (Grade != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(Grade);
    }
    if (LastDownTs != 0L) {
      output.WriteRawTag(24);
      output.WriteInt64(LastDownTs);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SceneNumId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(SceneNumId);
    }
    if (Grade != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Grade);
    }
    if (LastDownTs != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(LastDownTs);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(SceneGradeInfo other) {
    if (other == null) {
      return;
    }
    if (other.SceneNumId != 0) {
      SceneNumId = other.SceneNumId;
    }
    if (other.Grade != 0) {
      Grade = other.Grade;
    }
    if (other.LastDownTs != 0L) {
      LastDownTs = other.LastDownTs;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          SceneNumId = input.ReadInt32();
          break;
        }
        case 16: {
          Grade = input.ReadInt32();
          break;
        }
        case 24: {
          LastDownTs = input.ReadInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class CsSceneSetLastSafeZone : pb::IMessage<CsSceneSetLastSafeZone> {
  private static readonly pb::MessageParser<CsSceneSetLastSafeZone> _parser = new pb::MessageParser<CsSceneSetLastSafeZone>(() => new CsSceneSetLastSafeZone());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsSceneSetLastSafeZone> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[906]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneSetLastSafeZone() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneSetLastSafeZone(CsSceneSetLastSafeZone other) : this() {
    sceneNumId_ = other.sceneNumId_;
    position_ = other.position_ != null ? other.position_.Clone() : null;
    rotation_ = other.rotation_ != null ? other.rotation_.Clone() : null;
    reason_ = other.reason_;
    sourceScriptId_ = other.sourceScriptId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneSetLastSafeZone Clone() {
    return new CsSceneSetLastSafeZone(this);
  }

  /// <summary>Field number for the "scene_num_id" field.</summary>
  public const int SceneNumIdFieldNumber = 1;
  private int sceneNumId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int SceneNumId {
    get { return sceneNumId_; }
    set {
      sceneNumId_ = value;
    }
  }

  /// <summary>Field number for the "position" field.</summary>
  public const int PositionFieldNumber = 2;
  private global::Vector position_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::Vector Position {
    get { return position_; }
    set {
      position_ = value;
    }
  }

  /// <summary>Field number for the "rotation" field.</summary>
  public const int RotationFieldNumber = 3;
  private global::Vector rotation_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::Vector Rotation {
    get { return rotation_; }
    set {
      rotation_ = value;
    }
  }

  /// <summary>Field number for the "reason" field.</summary>
  public const int ReasonFieldNumber = 4;
  private int reason_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Reason {
    get { return reason_; }
    set {
      reason_ = value;
    }
  }

  /// <summary>Field number for the "source_script_id" field.</summary>
  public const int SourceScriptIdFieldNumber = 5;
  private ulong sourceScriptId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong SourceScriptId {
    get { return sourceScriptId_; }
    set {
      sourceScriptId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsSceneSetLastSafeZone);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsSceneSetLastSafeZone other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SceneNumId != other.SceneNumId) return false;
    if (!object.Equals(Position, other.Position)) return false;
    if (!object.Equals(Rotation, other.Rotation)) return false;
    if (Reason != other.Reason) return false;
    if (SourceScriptId != other.SourceScriptId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SceneNumId != 0) hash ^= SceneNumId.GetHashCode();
    if (position_ != null) hash ^= Position.GetHashCode();
    if (rotation_ != null) hash ^= Rotation.GetHashCode();
    if (Reason != 0) hash ^= Reason.GetHashCode();
    if (SourceScriptId != 0UL) hash ^= SourceScriptId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SceneNumId != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(SceneNumId);
    }
    if (position_ != null) {
      output.WriteRawTag(18);
      output.WriteMessage(Position);
    }
    if (rotation_ != null) {
      output.WriteRawTag(26);
      output.WriteMessage(Rotation);
    }
    if (Reason != 0) {
      output.WriteRawTag(32);
      output.WriteInt32(Reason);
    }
    if (SourceScriptId != 0UL) {
      output.WriteRawTag(40);
      output.WriteUInt64(SourceScriptId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SceneNumId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(SceneNumId);
    }
    if (position_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Position);
    }
    if (rotation_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Rotation);
    }
    if (Reason != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Reason);
    }
    if (SourceScriptId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(SourceScriptId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsSceneSetLastSafeZone other) {
    if (other == null) {
      return;
    }
    if (other.SceneNumId != 0) {
      SceneNumId = other.SceneNumId;
    }
    if (other.position_ != null) {
      if (position_ == null) {
        position_ = new global::Vector();
      }
      Position.MergeFrom(other.Position);
    }
    if (other.rotation_ != null) {
      if (rotation_ == null) {
        rotation_ = new global::Vector();
      }
      Rotation.MergeFrom(other.Rotation);
    }
    if (other.Reason != 0) {
      Reason = other.Reason;
    }
    if (other.SourceScriptId != 0UL) {
      SourceScriptId = other.SourceScriptId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          SceneNumId = input.ReadInt32();
          break;
        }
        case 18: {
          if (position_ == null) {
            position_ = new global::Vector();
          }
          input.ReadMessage(position_);
          break;
        }
        case 26: {
          if (rotation_ == null) {
            rotation_ = new global::Vector();
          }
          input.ReadMessage(rotation_);
          break;
        }
        case 32: {
          Reason = input.ReadInt32();
          break;
        }
        case 40: {
          SourceScriptId = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class CsSceneRepatriate : pb::IMessage<CsSceneRepatriate> {
  private static readonly pb::MessageParser<CsSceneRepatriate> _parser = new pb::MessageParser<CsSceneRepatriate>(() => new CsSceneRepatriate());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsSceneRepatriate> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[907]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneRepatriate() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneRepatriate(CsSceneRepatriate other) : this() {
    sceneNumId_ = other.sceneNumId_;
    repatriateSource_ = other.repatriateSource_;
    passThroughData_ = other.passThroughData_ != null ? other.passThroughData_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneRepatriate Clone() {
    return new CsSceneRepatriate(this);
  }

  /// <summary>Field number for the "scene_num_id" field.</summary>
  public const int SceneNumIdFieldNumber = 1;
  private int sceneNumId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int SceneNumId {
    get { return sceneNumId_; }
    set {
      sceneNumId_ = value;
    }
  }

  /// <summary>Field number for the "repatriate_source" field.</summary>
  public const int RepatriateSourceFieldNumber = 2;
  private int repatriateSource_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int RepatriateSource {
    get { return repatriateSource_; }
    set {
      repatriateSource_ = value;
    }
  }

  /// <summary>Field number for the "pass_through_data" field.</summary>
  public const int PassThroughDataFieldNumber = 3;
  private global::PassThroughData passThroughData_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::PassThroughData PassThroughData {
    get { return passThroughData_; }
    set {
      passThroughData_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsSceneRepatriate);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsSceneRepatriate other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SceneNumId != other.SceneNumId) return false;
    if (RepatriateSource != other.RepatriateSource) return false;
    if (!object.Equals(PassThroughData, other.PassThroughData)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SceneNumId != 0) hash ^= SceneNumId.GetHashCode();
    if (RepatriateSource != 0) hash ^= RepatriateSource.GetHashCode();
    if (passThroughData_ != null) hash ^= PassThroughData.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SceneNumId != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(SceneNumId);
    }
    if (RepatriateSource != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(RepatriateSource);
    }
    if (passThroughData_ != null) {
      output.WriteRawTag(26);
      output.WriteMessage(PassThroughData);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SceneNumId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(SceneNumId);
    }
    if (RepatriateSource != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(RepatriateSource);
    }
    if (passThroughData_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(PassThroughData);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsSceneRepatriate other) {
    if (other == null) {
      return;
    }
    if (other.SceneNumId != 0) {
      SceneNumId = other.SceneNumId;
    }
    if (other.RepatriateSource != 0) {
      RepatriateSource = other.RepatriateSource;
    }
    if (other.passThroughData_ != null) {
      if (passThroughData_ == null) {
        passThroughData_ = new global::PassThroughData();
      }
      PassThroughData.MergeFrom(other.PassThroughData);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          SceneNumId = input.ReadInt32();
          break;
        }
        case 16: {
          RepatriateSource = input.ReadInt32();
          break;
        }
        case 26: {
          if (passThroughData_ == null) {
            passThroughData_ = new global::PassThroughData();
          }
          input.ReadMessage(passThroughData_);
          break;
        }
      }
    }
  }

}

public sealed partial class ScSceneRepatriate : pb::IMessage<ScSceneRepatriate> {
  private static readonly pb::MessageParser<ScSceneRepatriate> _parser = new pb::MessageParser<ScSceneRepatriate>(() => new ScSceneRepatriate());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSceneRepatriate> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[908]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneRepatriate() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneRepatriate(ScSceneRepatriate other) : this() {
    sceneNumId_ = other.sceneNumId_;
    repatriateSource_ = other.repatriateSource_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneRepatriate Clone() {
    return new ScSceneRepatriate(this);
  }

  /// <summary>Field number for the "scene_num_id" field.</summary>
  public const int SceneNumIdFieldNumber = 1;
  private int sceneNumId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int SceneNumId {
    get { return sceneNumId_; }
    set {
      sceneNumId_ = value;
    }
  }

  /// <summary>Field number for the "repatriate_source" field.</summary>
  public const int RepatriateSourceFieldNumber = 2;
  private int repatriateSource_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int RepatriateSource {
    get { return repatriateSource_; }
    set {
      repatriateSource_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSceneRepatriate);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSceneRepatriate other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SceneNumId != other.SceneNumId) return false;
    if (RepatriateSource != other.RepatriateSource) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SceneNumId != 0) hash ^= SceneNumId.GetHashCode();
    if (RepatriateSource != 0) hash ^= RepatriateSource.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SceneNumId != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(SceneNumId);
    }
    if (RepatriateSource != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(RepatriateSource);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SceneNumId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(SceneNumId);
    }
    if (RepatriateSource != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(RepatriateSource);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSceneRepatriate other) {
    if (other == null) {
      return;
    }
    if (other.SceneNumId != 0) {
      SceneNumId = other.SceneNumId;
    }
    if (other.RepatriateSource != 0) {
      RepatriateSource = other.RepatriateSource;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          SceneNumId = input.ReadInt32();
          break;
        }
        case 16: {
          RepatriateSource = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class CsSceneSetBattle : pb::IMessage<CsSceneSetBattle> {
  private static readonly pb::MessageParser<CsSceneSetBattle> _parser = new pb::MessageParser<CsSceneSetBattle>(() => new CsSceneSetBattle());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsSceneSetBattle> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[909]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneSetBattle() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneSetBattle(CsSceneSetBattle other) : this() {
    inBattle_ = other.inBattle_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneSetBattle Clone() {
    return new CsSceneSetBattle(this);
  }

  /// <summary>Field number for the "in_battle" field.</summary>
  public const int InBattleFieldNumber = 1;
  private bool inBattle_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool InBattle {
    get { return inBattle_; }
    set {
      inBattle_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsSceneSetBattle);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsSceneSetBattle other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (InBattle != other.InBattle) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (InBattle != false) hash ^= InBattle.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (InBattle != false) {
      output.WriteRawTag(8);
      output.WriteBool(InBattle);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (InBattle != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsSceneSetBattle other) {
    if (other == null) {
      return;
    }
    if (other.InBattle != false) {
      InBattle = other.InBattle;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          InBattle = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class CsSceneGradeModify : pb::IMessage<CsSceneGradeModify> {
  private static readonly pb::MessageParser<CsSceneGradeModify> _parser = new pb::MessageParser<CsSceneGradeModify>(() => new CsSceneGradeModify());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsSceneGradeModify> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[910]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneGradeModify() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneGradeModify(CsSceneGradeModify other) : this() {
    sceneNumId_ = other.sceneNumId_;
    grade_ = other.grade_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneGradeModify Clone() {
    return new CsSceneGradeModify(this);
  }

  /// <summary>Field number for the "scene_num_id" field.</summary>
  public const int SceneNumIdFieldNumber = 1;
  private int sceneNumId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int SceneNumId {
    get { return sceneNumId_; }
    set {
      sceneNumId_ = value;
    }
  }

  /// <summary>Field number for the "grade" field.</summary>
  public const int GradeFieldNumber = 2;
  private int grade_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Grade {
    get { return grade_; }
    set {
      grade_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsSceneGradeModify);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsSceneGradeModify other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SceneNumId != other.SceneNumId) return false;
    if (Grade != other.Grade) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SceneNumId != 0) hash ^= SceneNumId.GetHashCode();
    if (Grade != 0) hash ^= Grade.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SceneNumId != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(SceneNumId);
    }
    if (Grade != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(Grade);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SceneNumId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(SceneNumId);
    }
    if (Grade != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Grade);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsSceneGradeModify other) {
    if (other == null) {
      return;
    }
    if (other.SceneNumId != 0) {
      SceneNumId = other.SceneNumId;
    }
    if (other.Grade != 0) {
      Grade = other.Grade;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          SceneNumId = input.ReadInt32();
          break;
        }
        case 16: {
          Grade = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScSceneSetBattle : pb::IMessage<ScSceneSetBattle> {
  private static readonly pb::MessageParser<ScSceneSetBattle> _parser = new pb::MessageParser<ScSceneSetBattle>(() => new ScSceneSetBattle());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSceneSetBattle> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[911]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneSetBattle() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneSetBattle(ScSceneSetBattle other) : this() {
    inBattle_ = other.inBattle_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneSetBattle Clone() {
    return new ScSceneSetBattle(this);
  }

  /// <summary>Field number for the "in_battle" field.</summary>
  public const int InBattleFieldNumber = 1;
  private bool inBattle_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool InBattle {
    get { return inBattle_; }
    set {
      inBattle_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSceneSetBattle);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSceneSetBattle other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (InBattle != other.InBattle) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (InBattle != false) hash ^= InBattle.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (InBattle != false) {
      output.WriteRawTag(8);
      output.WriteBool(InBattle);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (InBattle != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSceneSetBattle other) {
    if (other == null) {
      return;
    }
    if (other.InBattle != false) {
      InBattle = other.InBattle;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          InBattle = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class ScRewardToSceneBegin : pb::IMessage<ScRewardToSceneBegin> {
  private static readonly pb::MessageParser<ScRewardToSceneBegin> _parser = new pb::MessageParser<ScRewardToSceneBegin>(() => new ScRewardToSceneBegin());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScRewardToSceneBegin> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[912]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScRewardToSceneBegin() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScRewardToSceneBegin(ScRewardToSceneBegin other) : this() {
    rewardSourceType_ = other.rewardSourceType_;
    sourceTemplateId_ = other.sourceTemplateId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScRewardToSceneBegin Clone() {
    return new ScRewardToSceneBegin(this);
  }

  /// <summary>Field number for the "reward_source_type" field.</summary>
  public const int RewardSourceTypeFieldNumber = 1;
  private int rewardSourceType_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int RewardSourceType {
    get { return rewardSourceType_; }
    set {
      rewardSourceType_ = value;
    }
  }

  /// <summary>Field number for the "source_template_id" field.</summary>
  public const int SourceTemplateIdFieldNumber = 2;
  private string sourceTemplateId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string SourceTemplateId {
    get { return sourceTemplateId_; }
    set {
      sourceTemplateId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScRewardToSceneBegin);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScRewardToSceneBegin other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (RewardSourceType != other.RewardSourceType) return false;
    if (SourceTemplateId != other.SourceTemplateId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (RewardSourceType != 0) hash ^= RewardSourceType.GetHashCode();
    if (SourceTemplateId.Length != 0) hash ^= SourceTemplateId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (RewardSourceType != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(RewardSourceType);
    }
    if (SourceTemplateId.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(SourceTemplateId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (RewardSourceType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(RewardSourceType);
    }
    if (SourceTemplateId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(SourceTemplateId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScRewardToSceneBegin other) {
    if (other == null) {
      return;
    }
    if (other.RewardSourceType != 0) {
      RewardSourceType = other.RewardSourceType;
    }
    if (other.SourceTemplateId.Length != 0) {
      SourceTemplateId = other.SourceTemplateId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          RewardSourceType = input.ReadInt32();
          break;
        }
        case 18: {
          SourceTemplateId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class ScRewardToSceneEnd : pb::IMessage<ScRewardToSceneEnd> {
  private static readonly pb::MessageParser<ScRewardToSceneEnd> _parser = new pb::MessageParser<ScRewardToSceneEnd>(() => new ScRewardToSceneEnd());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScRewardToSceneEnd> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[913]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScRewardToSceneEnd() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScRewardToSceneEnd(ScRewardToSceneEnd other) : this() {
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScRewardToSceneEnd Clone() {
    return new ScRewardToSceneEnd(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScRewardToSceneEnd);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScRewardToSceneEnd other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScRewardToSceneEnd other) {
    if (other == null) {
      return;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
      }
    }
  }

}

public sealed partial class ScSceneLevelScriptEventTrigger : pb::IMessage<ScSceneLevelScriptEventTrigger> {
  private static readonly pb::MessageParser<ScSceneLevelScriptEventTrigger> _parser = new pb::MessageParser<ScSceneLevelScriptEventTrigger>(() => new ScSceneLevelScriptEventTrigger());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSceneLevelScriptEventTrigger> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[914]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneLevelScriptEventTrigger() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneLevelScriptEventTrigger(ScSceneLevelScriptEventTrigger other) : this() {
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneLevelScriptEventTrigger Clone() {
    return new ScSceneLevelScriptEventTrigger(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSceneLevelScriptEventTrigger);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSceneLevelScriptEventTrigger other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSceneLevelScriptEventTrigger other) {
    if (other == null) {
      return;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
      }
    }
  }

}

public sealed partial class ScSceneLevelScriptSetDone : pb::IMessage<ScSceneLevelScriptSetDone> {
  private static readonly pb::MessageParser<ScSceneLevelScriptSetDone> _parser = new pb::MessageParser<ScSceneLevelScriptSetDone>(() => new ScSceneLevelScriptSetDone());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSceneLevelScriptSetDone> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[915]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneLevelScriptSetDone() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneLevelScriptSetDone(ScSceneLevelScriptSetDone other) : this() {
    sceneNumId_ = other.sceneNumId_;
    scriptId_ = other.scriptId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneLevelScriptSetDone Clone() {
    return new ScSceneLevelScriptSetDone(this);
  }

  /// <summary>Field number for the "scene_num_id" field.</summary>
  public const int SceneNumIdFieldNumber = 1;
  private int sceneNumId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int SceneNumId {
    get { return sceneNumId_; }
    set {
      sceneNumId_ = value;
    }
  }

  /// <summary>Field number for the "script_id" field.</summary>
  public const int ScriptIdFieldNumber = 2;
  private ulong scriptId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong ScriptId {
    get { return scriptId_; }
    set {
      scriptId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSceneLevelScriptSetDone);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSceneLevelScriptSetDone other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SceneNumId != other.SceneNumId) return false;
    if (ScriptId != other.ScriptId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SceneNumId != 0) hash ^= SceneNumId.GetHashCode();
    if (ScriptId != 0UL) hash ^= ScriptId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SceneNumId != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(SceneNumId);
    }
    if (ScriptId != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(ScriptId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SceneNumId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(SceneNumId);
    }
    if (ScriptId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(ScriptId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSceneLevelScriptSetDone other) {
    if (other == null) {
      return;
    }
    if (other.SceneNumId != 0) {
      SceneNumId = other.SceneNumId;
    }
    if (other.ScriptId != 0UL) {
      ScriptId = other.ScriptId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          SceneNumId = input.ReadInt32();
          break;
        }
        case 16: {
          ScriptId = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class ScSceneInteractiveEventTrigger : pb::IMessage<ScSceneInteractiveEventTrigger> {
  private static readonly pb::MessageParser<ScSceneInteractiveEventTrigger> _parser = new pb::MessageParser<ScSceneInteractiveEventTrigger>(() => new ScSceneInteractiveEventTrigger());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSceneInteractiveEventTrigger> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[916]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneInteractiveEventTrigger() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneInteractiveEventTrigger(ScSceneInteractiveEventTrigger other) : this() {
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneInteractiveEventTrigger Clone() {
    return new ScSceneInteractiveEventTrigger(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSceneInteractiveEventTrigger);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSceneInteractiveEventTrigger other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSceneInteractiveEventTrigger other) {
    if (other == null) {
      return;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
      }
    }
  }

}

public sealed partial class ScSceneDropCreate : pb::IMessage<ScSceneDropCreate> {
  private static readonly pb::MessageParser<ScSceneDropCreate> _parser = new pb::MessageParser<ScSceneDropCreate>(() => new ScSceneDropCreate());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSceneDropCreate> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[917]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneDropCreate() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneDropCreate(ScSceneDropCreate other) : this() {
    dropData_ = other.dropData_ != null ? other.dropData_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneDropCreate Clone() {
    return new ScSceneDropCreate(this);
  }

  /// <summary>Field number for the "drop_data" field.</summary>
  public const int DropDataFieldNumber = 1;
  private global::SceneDrop dropData_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::SceneDrop DropData {
    get { return dropData_; }
    set {
      dropData_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSceneDropCreate);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSceneDropCreate other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!object.Equals(DropData, other.DropData)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (dropData_ != null) hash ^= DropData.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (dropData_ != null) {
      output.WriteRawTag(10);
      output.WriteMessage(DropData);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (dropData_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(DropData);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSceneDropCreate other) {
    if (other == null) {
      return;
    }
    if (other.dropData_ != null) {
      if (dropData_ == null) {
        dropData_ = new global::SceneDrop();
      }
      DropData.MergeFrom(other.DropData);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          if (dropData_ == null) {
            dropData_ = new global::SceneDrop();
          }
          input.ReadMessage(dropData_);
          break;
        }
      }
    }
  }

}

public sealed partial class ScSceneDropDelete : pb::IMessage<ScSceneDropDelete> {
  private static readonly pb::MessageParser<ScSceneDropDelete> _parser = new pb::MessageParser<ScSceneDropDelete>(() => new ScSceneDropDelete());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSceneDropDelete> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[918]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneDropDelete() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneDropDelete(ScSceneDropDelete other) : this() {
    dropId_ = other.dropId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneDropDelete Clone() {
    return new ScSceneDropDelete(this);
  }

  /// <summary>Field number for the "drop_id" field.</summary>
  public const int DropIdFieldNumber = 1;
  private ulong dropId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong DropId {
    get { return dropId_; }
    set {
      dropId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSceneDropDelete);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSceneDropDelete other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (DropId != other.DropId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (DropId != 0UL) hash ^= DropId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (DropId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(DropId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (DropId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(DropId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSceneDropDelete other) {
    if (other == null) {
      return;
    }
    if (other.DropId != 0UL) {
      DropId = other.DropId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          DropId = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class ScSceneDropModify : pb::IMessage<ScSceneDropModify> {
  private static readonly pb::MessageParser<ScSceneDropModify> _parser = new pb::MessageParser<ScSceneDropModify>(() => new ScSceneDropModify());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSceneDropModify> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[919]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneDropModify() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneDropModify(ScSceneDropModify other) : this() {
    dropId_ = other.dropId_;
    items_ = other.items_.Clone();
    instList_ = other.instList_.Clone();
    delInstList_ = other.delInstList_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneDropModify Clone() {
    return new ScSceneDropModify(this);
  }

  /// <summary>Field number for the "drop_id" field.</summary>
  public const int DropIdFieldNumber = 1;
  private ulong dropId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong DropId {
    get { return dropId_; }
    set {
      dropId_ = value;
    }
  }

  /// <summary>Field number for the "items" field.</summary>
  public const int ItemsFieldNumber = 2;
  private static readonly pbc::MapField<string, long>.Codec _map_items_codec
      = new pbc::MapField<string, long>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForInt64(16), 18);
  private readonly pbc::MapField<string, long> items_ = new pbc::MapField<string, long>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<string, long> Items {
    get { return items_; }
  }

  /// <summary>Field number for the "inst_list" field.</summary>
  public const int InstListFieldNumber = 3;
  private static readonly pb::FieldCodec<global::ScdItemGrid> _repeated_instList_codec
      = pb::FieldCodec.ForMessage(26, global::ScdItemGrid.Parser);
  private readonly pbc::RepeatedField<global::ScdItemGrid> instList_ = new pbc::RepeatedField<global::ScdItemGrid>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdItemGrid> InstList {
    get { return instList_; }
  }

  /// <summary>Field number for the "del_inst_list" field.</summary>
  public const int DelInstListFieldNumber = 4;
  private static readonly pb::FieldCodec<ulong> _repeated_delInstList_codec
      = pb::FieldCodec.ForUInt64(34);
  private readonly pbc::RepeatedField<ulong> delInstList_ = new pbc::RepeatedField<ulong>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<ulong> DelInstList {
    get { return delInstList_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSceneDropModify);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSceneDropModify other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (DropId != other.DropId) return false;
    if (!Items.Equals(other.Items)) return false;
    if(!instList_.Equals(other.instList_)) return false;
    if(!delInstList_.Equals(other.delInstList_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (DropId != 0UL) hash ^= DropId.GetHashCode();
    hash ^= Items.GetHashCode();
    hash ^= instList_.GetHashCode();
    hash ^= delInstList_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (DropId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(DropId);
    }
    items_.WriteTo(output, _map_items_codec);
    instList_.WriteTo(output, _repeated_instList_codec);
    delInstList_.WriteTo(output, _repeated_delInstList_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (DropId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(DropId);
    }
    size += items_.CalculateSize(_map_items_codec);
    size += instList_.CalculateSize(_repeated_instList_codec);
    size += delInstList_.CalculateSize(_repeated_delInstList_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSceneDropModify other) {
    if (other == null) {
      return;
    }
    if (other.DropId != 0UL) {
      DropId = other.DropId;
    }
    items_.Add(other.items_);
    instList_.Add(other.instList_);
    delInstList_.Add(other.delInstList_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          DropId = input.ReadUInt64();
          break;
        }
        case 18: {
          items_.AddEntriesFrom(input, _map_items_codec);
          break;
        }
        case 26: {
          instList_.AddEntriesFrom(input, _repeated_instList_codec);
          break;
        }
        case 34:
        case 32: {
          delInstList_.AddEntriesFrom(input, _repeated_delInstList_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScSceneGradeChangeNotify : pb::IMessage<ScSceneGradeChangeNotify> {
  private static readonly pb::MessageParser<ScSceneGradeChangeNotify> _parser = new pb::MessageParser<ScSceneGradeChangeNotify>(() => new ScSceneGradeChangeNotify());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSceneGradeChangeNotify> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[920]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneGradeChangeNotify() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneGradeChangeNotify(ScSceneGradeChangeNotify other) : this() {
    sceneNumId_ = other.sceneNumId_;
    grade_ = other.grade_;
    ts_ = other.ts_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneGradeChangeNotify Clone() {
    return new ScSceneGradeChangeNotify(this);
  }

  /// <summary>Field number for the "scene_num_id" field.</summary>
  public const int SceneNumIdFieldNumber = 1;
  private int sceneNumId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int SceneNumId {
    get { return sceneNumId_; }
    set {
      sceneNumId_ = value;
    }
  }

  /// <summary>Field number for the "grade" field.</summary>
  public const int GradeFieldNumber = 2;
  private int grade_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Grade {
    get { return grade_; }
    set {
      grade_ = value;
    }
  }

  /// <summary>Field number for the "ts" field.</summary>
  public const int TsFieldNumber = 3;
  private long ts_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long Ts {
    get { return ts_; }
    set {
      ts_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSceneGradeChangeNotify);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSceneGradeChangeNotify other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SceneNumId != other.SceneNumId) return false;
    if (Grade != other.Grade) return false;
    if (Ts != other.Ts) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SceneNumId != 0) hash ^= SceneNumId.GetHashCode();
    if (Grade != 0) hash ^= Grade.GetHashCode();
    if (Ts != 0L) hash ^= Ts.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SceneNumId != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(SceneNumId);
    }
    if (Grade != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(Grade);
    }
    if (Ts != 0L) {
      output.WriteRawTag(24);
      output.WriteInt64(Ts);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SceneNumId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(SceneNumId);
    }
    if (Grade != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Grade);
    }
    if (Ts != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(Ts);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSceneGradeChangeNotify other) {
    if (other == null) {
      return;
    }
    if (other.SceneNumId != 0) {
      SceneNumId = other.SceneNumId;
    }
    if (other.Grade != 0) {
      Grade = other.Grade;
    }
    if (other.Ts != 0L) {
      Ts = other.Ts;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          SceneNumId = input.ReadInt32();
          break;
        }
        case 16: {
          Grade = input.ReadInt32();
          break;
        }
        case 24: {
          Ts = input.ReadInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class ScSceneClientIdInfo : pb::IMessage<ScSceneClientIdInfo> {
  private static readonly pb::MessageParser<ScSceneClientIdInfo> _parser = new pb::MessageParser<ScSceneClientIdInfo>(() => new ScSceneClientIdInfo());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSceneClientIdInfo> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[921]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneClientIdInfo() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneClientIdInfo(ScSceneClientIdInfo other) : this() {
    roleIdx_ = other.roleIdx_;
    lastMaxIdx_ = other.lastMaxIdx_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneClientIdInfo Clone() {
    return new ScSceneClientIdInfo(this);
  }

  /// <summary>Field number for the "role_idx" field.</summary>
  public const int RoleIdxFieldNumber = 1;
  private uint roleIdx_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint RoleIdx {
    get { return roleIdx_; }
    set {
      roleIdx_ = value;
    }
  }

  /// <summary>Field number for the "last_max_idx" field.</summary>
  public const int LastMaxIdxFieldNumber = 2;
  private ulong lastMaxIdx_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong LastMaxIdx {
    get { return lastMaxIdx_; }
    set {
      lastMaxIdx_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSceneClientIdInfo);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSceneClientIdInfo other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (RoleIdx != other.RoleIdx) return false;
    if (LastMaxIdx != other.LastMaxIdx) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (RoleIdx != 0) hash ^= RoleIdx.GetHashCode();
    if (LastMaxIdx != 0UL) hash ^= LastMaxIdx.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (RoleIdx != 0) {
      output.WriteRawTag(8);
      output.WriteUInt32(RoleIdx);
    }
    if (LastMaxIdx != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(LastMaxIdx);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (RoleIdx != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(RoleIdx);
    }
    if (LastMaxIdx != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(LastMaxIdx);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSceneClientIdInfo other) {
    if (other == null) {
      return;
    }
    if (other.RoleIdx != 0) {
      RoleIdx = other.RoleIdx;
    }
    if (other.LastMaxIdx != 0UL) {
      LastMaxIdx = other.LastMaxIdx;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          RoleIdx = input.ReadUInt32();
          break;
        }
        case 16: {
          LastMaxIdx = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class ScSceneUpdateInteractiveMeta : pb::IMessage<ScSceneUpdateInteractiveMeta> {
  private static readonly pb::MessageParser<ScSceneUpdateInteractiveMeta> _parser = new pb::MessageParser<ScSceneUpdateInteractiveMeta>(() => new ScSceneUpdateInteractiveMeta());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSceneUpdateInteractiveMeta> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[922]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneUpdateInteractiveMeta() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneUpdateInteractiveMeta(ScSceneUpdateInteractiveMeta other) : this() {
    sceneNumId_ = other.sceneNumId_;
    id_ = other.id_;
    meta_ = other.meta_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneUpdateInteractiveMeta Clone() {
    return new ScSceneUpdateInteractiveMeta(this);
  }

  /// <summary>Field number for the "scene_num_id" field.</summary>
  public const int SceneNumIdFieldNumber = 1;
  private int sceneNumId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int SceneNumId {
    get { return sceneNumId_; }
    set {
      sceneNumId_ = value;
    }
  }

  /// <summary>Field number for the "id" field.</summary>
  public const int IdFieldNumber = 2;
  private ulong id_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong Id {
    get { return id_; }
    set {
      id_ = value;
    }
  }

  /// <summary>Field number for the "meta" field.</summary>
  public const int MetaFieldNumber = 3;
  private int meta_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Meta {
    get { return meta_; }
    set {
      meta_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSceneUpdateInteractiveMeta);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSceneUpdateInteractiveMeta other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SceneNumId != other.SceneNumId) return false;
    if (Id != other.Id) return false;
    if (Meta != other.Meta) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SceneNumId != 0) hash ^= SceneNumId.GetHashCode();
    if (Id != 0UL) hash ^= Id.GetHashCode();
    if (Meta != 0) hash ^= Meta.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SceneNumId != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(SceneNumId);
    }
    if (Id != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(Id);
    }
    if (Meta != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(Meta);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SceneNumId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(SceneNumId);
    }
    if (Id != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(Id);
    }
    if (Meta != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Meta);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSceneUpdateInteractiveMeta other) {
    if (other == null) {
      return;
    }
    if (other.SceneNumId != 0) {
      SceneNumId = other.SceneNumId;
    }
    if (other.Id != 0UL) {
      Id = other.Id;
    }
    if (other.Meta != 0) {
      Meta = other.Meta;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          SceneNumId = input.ReadInt32();
          break;
        }
        case 16: {
          Id = input.ReadUInt64();
          break;
        }
        case 24: {
          Meta = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class CsSceneUpdateScriptTaskProgress : pb::IMessage<CsSceneUpdateScriptTaskProgress> {
  private static readonly pb::MessageParser<CsSceneUpdateScriptTaskProgress> _parser = new pb::MessageParser<CsSceneUpdateScriptTaskProgress>(() => new CsSceneUpdateScriptTaskProgress());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsSceneUpdateScriptTaskProgress> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[923]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneUpdateScriptTaskProgress() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneUpdateScriptTaskProgress(CsSceneUpdateScriptTaskProgress other) : this() {
    sceneNumId_ = other.sceneNumId_;
    scriptId_ = other.scriptId_;
    taskId_ = other.taskId_;
    objectiveValueOps_ = other.objectiveValueOps_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneUpdateScriptTaskProgress Clone() {
    return new CsSceneUpdateScriptTaskProgress(this);
  }

  /// <summary>Field number for the "scene_num_id" field.</summary>
  public const int SceneNumIdFieldNumber = 1;
  private int sceneNumId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int SceneNumId {
    get { return sceneNumId_; }
    set {
      sceneNumId_ = value;
    }
  }

  /// <summary>Field number for the "script_id" field.</summary>
  public const int ScriptIdFieldNumber = 2;
  private ulong scriptId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong ScriptId {
    get { return scriptId_; }
    set {
      scriptId_ = value;
    }
  }

  /// <summary>Field number for the "task_id" field.</summary>
  public const int TaskIdFieldNumber = 3;
  private string taskId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string TaskId {
    get { return taskId_; }
    set {
      taskId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "objective_value_ops" field.</summary>
  public const int ObjectiveValueOpsFieldNumber = 4;
  private static readonly pb::FieldCodec<global::ScriptTaskObjectiveValueOp> _repeated_objectiveValueOps_codec
      = pb::FieldCodec.ForMessage(34, global::ScriptTaskObjectiveValueOp.Parser);
  private readonly pbc::RepeatedField<global::ScriptTaskObjectiveValueOp> objectiveValueOps_ = new pbc::RepeatedField<global::ScriptTaskObjectiveValueOp>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScriptTaskObjectiveValueOp> ObjectiveValueOps {
    get { return objectiveValueOps_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsSceneUpdateScriptTaskProgress);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsSceneUpdateScriptTaskProgress other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SceneNumId != other.SceneNumId) return false;
    if (ScriptId != other.ScriptId) return false;
    if (TaskId != other.TaskId) return false;
    if(!objectiveValueOps_.Equals(other.objectiveValueOps_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SceneNumId != 0) hash ^= SceneNumId.GetHashCode();
    if (ScriptId != 0UL) hash ^= ScriptId.GetHashCode();
    if (TaskId.Length != 0) hash ^= TaskId.GetHashCode();
    hash ^= objectiveValueOps_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SceneNumId != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(SceneNumId);
    }
    if (ScriptId != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(ScriptId);
    }
    if (TaskId.Length != 0) {
      output.WriteRawTag(26);
      output.WriteString(TaskId);
    }
    objectiveValueOps_.WriteTo(output, _repeated_objectiveValueOps_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SceneNumId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(SceneNumId);
    }
    if (ScriptId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(ScriptId);
    }
    if (TaskId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(TaskId);
    }
    size += objectiveValueOps_.CalculateSize(_repeated_objectiveValueOps_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsSceneUpdateScriptTaskProgress other) {
    if (other == null) {
      return;
    }
    if (other.SceneNumId != 0) {
      SceneNumId = other.SceneNumId;
    }
    if (other.ScriptId != 0UL) {
      ScriptId = other.ScriptId;
    }
    if (other.TaskId.Length != 0) {
      TaskId = other.TaskId;
    }
    objectiveValueOps_.Add(other.objectiveValueOps_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          SceneNumId = input.ReadInt32();
          break;
        }
        case 16: {
          ScriptId = input.ReadUInt64();
          break;
        }
        case 26: {
          TaskId = input.ReadString();
          break;
        }
        case 34: {
          objectiveValueOps_.AddEntriesFrom(input, _repeated_objectiveValueOps_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScriptTaskObjectiveValueOp : pb::IMessage<ScriptTaskObjectiveValueOp> {
  private static readonly pb::MessageParser<ScriptTaskObjectiveValueOp> _parser = new pb::MessageParser<ScriptTaskObjectiveValueOp>(() => new ScriptTaskObjectiveValueOp());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScriptTaskObjectiveValueOp> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[924]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScriptTaskObjectiveValueOp() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScriptTaskObjectiveValueOp(ScriptTaskObjectiveValueOp other) : this() {
    conditionId_ = other.conditionId_;
    value_ = other.value_;
    isAdd_ = other.isAdd_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScriptTaskObjectiveValueOp Clone() {
    return new ScriptTaskObjectiveValueOp(this);
  }

  /// <summary>Field number for the "condition_id" field.</summary>
  public const int ConditionIdFieldNumber = 1;
  private string conditionId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ConditionId {
    get { return conditionId_; }
    set {
      conditionId_ = 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]
  public int Value {
    get { return value_; }
    set {
      value_ = value;
    }
  }

  /// <summary>Field number for the "is_add" field.</summary>
  public const int IsAddFieldNumber = 3;
  private bool isAdd_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool IsAdd {
    get { return isAdd_; }
    set {
      isAdd_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScriptTaskObjectiveValueOp);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScriptTaskObjectiveValueOp other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ConditionId != other.ConditionId) return false;
    if (Value != other.Value) return false;
    if (IsAdd != other.IsAdd) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ConditionId.Length != 0) hash ^= ConditionId.GetHashCode();
    if (Value != 0) hash ^= Value.GetHashCode();
    if (IsAdd != false) hash ^= IsAdd.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ConditionId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(ConditionId);
    }
    if (Value != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(Value);
    }
    if (IsAdd != false) {
      output.WriteRawTag(24);
      output.WriteBool(IsAdd);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ConditionId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ConditionId);
    }
    if (Value != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Value);
    }
    if (IsAdd != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScriptTaskObjectiveValueOp other) {
    if (other == null) {
      return;
    }
    if (other.ConditionId.Length != 0) {
      ConditionId = other.ConditionId;
    }
    if (other.Value != 0) {
      Value = other.Value;
    }
    if (other.IsAdd != false) {
      IsAdd = other.IsAdd;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          ConditionId = input.ReadString();
          break;
        }
        case 16: {
          Value = input.ReadInt32();
          break;
        }
        case 24: {
          IsAdd = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class CsCheckSensitive : pb::IMessage<CsCheckSensitive> {
  private static readonly pb::MessageParser<CsCheckSensitive> _parser = new pb::MessageParser<CsCheckSensitive>(() => new CsCheckSensitive());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsCheckSensitive> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[925]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsCheckSensitive() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsCheckSensitive(CsCheckSensitive other) : this() {
    content_ = other.content_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsCheckSensitive Clone() {
    return new CsCheckSensitive(this);
  }

  /// <summary>Field number for the "content" field.</summary>
  public const int ContentFieldNumber = 1;
  private string content_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string Content {
    get { return content_; }
    set {
      content_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsCheckSensitive);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsCheckSensitive other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Content != other.Content) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Content.Length != 0) hash ^= Content.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Content.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(Content);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Content.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(Content);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsCheckSensitive other) {
    if (other == null) {
      return;
    }
    if (other.Content.Length != 0) {
      Content = other.Content;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          Content = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class ScCheckSensitive : pb::IMessage<ScCheckSensitive> {
  private static readonly pb::MessageParser<ScCheckSensitive> _parser = new pb::MessageParser<ScCheckSensitive>(() => new ScCheckSensitive());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScCheckSensitive> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[926]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScCheckSensitive() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScCheckSensitive(ScCheckSensitive other) : this() {
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScCheckSensitive Clone() {
    return new ScCheckSensitive(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScCheckSensitive);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScCheckSensitive other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScCheckSensitive other) {
    if (other == null) {
      return;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
      }
    }
  }

}

public sealed partial class CsSettlementSelectRequire : pb::IMessage<CsSettlementSelectRequire> {
  private static readonly pb::MessageParser<CsSettlementSelectRequire> _parser = new pb::MessageParser<CsSettlementSelectRequire>(() => new CsSettlementSelectRequire());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsSettlementSelectRequire> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[927]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSettlementSelectRequire() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSettlementSelectRequire(CsSettlementSelectRequire other) : this() {
    settlementId_ = other.settlementId_;
    settlementRequireId_ = other.settlementRequireId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSettlementSelectRequire Clone() {
    return new CsSettlementSelectRequire(this);
  }

  /// <summary>Field number for the "settlement_id" field.</summary>
  public const int SettlementIdFieldNumber = 1;
  private string settlementId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string SettlementId {
    get { return settlementId_; }
    set {
      settlementId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "settlement_require_id" field.</summary>
  public const int SettlementRequireIdFieldNumber = 2;
  private string settlementRequireId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string SettlementRequireId {
    get { return settlementRequireId_; }
    set {
      settlementRequireId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsSettlementSelectRequire);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsSettlementSelectRequire other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SettlementId != other.SettlementId) return false;
    if (SettlementRequireId != other.SettlementRequireId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SettlementId.Length != 0) hash ^= SettlementId.GetHashCode();
    if (SettlementRequireId.Length != 0) hash ^= SettlementRequireId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SettlementId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(SettlementId);
    }
    if (SettlementRequireId.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(SettlementRequireId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SettlementId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(SettlementId);
    }
    if (SettlementRequireId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(SettlementRequireId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsSettlementSelectRequire other) {
    if (other == null) {
      return;
    }
    if (other.SettlementId.Length != 0) {
      SettlementId = other.SettlementId;
    }
    if (other.SettlementRequireId.Length != 0) {
      SettlementRequireId = other.SettlementRequireId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          SettlementId = input.ReadString();
          break;
        }
        case 18: {
          SettlementRequireId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class ScSettlementSelectRequire : pb::IMessage<ScSettlementSelectRequire> {
  private static readonly pb::MessageParser<ScSettlementSelectRequire> _parser = new pb::MessageParser<ScSettlementSelectRequire>(() => new ScSettlementSelectRequire());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSettlementSelectRequire> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[928]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSettlementSelectRequire() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSettlementSelectRequire(ScSettlementSelectRequire other) : this() {
    settlementId_ = other.settlementId_;
    settlementRequireId_ = other.settlementRequireId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSettlementSelectRequire Clone() {
    return new ScSettlementSelectRequire(this);
  }

  /// <summary>Field number for the "settlement_id" field.</summary>
  public const int SettlementIdFieldNumber = 1;
  private string settlementId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string SettlementId {
    get { return settlementId_; }
    set {
      settlementId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "settlement_require_id" field.</summary>
  public const int SettlementRequireIdFieldNumber = 2;
  private string settlementRequireId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string SettlementRequireId {
    get { return settlementRequireId_; }
    set {
      settlementRequireId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSettlementSelectRequire);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSettlementSelectRequire other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SettlementId != other.SettlementId) return false;
    if (SettlementRequireId != other.SettlementRequireId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SettlementId.Length != 0) hash ^= SettlementId.GetHashCode();
    if (SettlementRequireId.Length != 0) hash ^= SettlementRequireId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SettlementId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(SettlementId);
    }
    if (SettlementRequireId.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(SettlementRequireId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SettlementId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(SettlementId);
    }
    if (SettlementRequireId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(SettlementRequireId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSettlementSelectRequire other) {
    if (other == null) {
      return;
    }
    if (other.SettlementId.Length != 0) {
      SettlementId = other.SettlementId;
    }
    if (other.SettlementRequireId.Length != 0) {
      SettlementRequireId = other.SettlementRequireId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          SettlementId = input.ReadString();
          break;
        }
        case 18: {
          SettlementRequireId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class Settlement : pb::IMessage<Settlement> {
  private static readonly pb::MessageParser<Settlement> _parser = new pb::MessageParser<Settlement>(() => new Settlement());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<Settlement> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[929]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public Settlement() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public Settlement(Settlement other) : this() {
    settlementId_ = other.settlementId_;
    level_ = other.level_;
    exp_ = other.exp_;
    requireId_ = other.requireId_;
    officerCharTemplateId_ = other.officerCharTemplateId_;
    reports_ = other.reports_.Clone();
    unlockTs_ = other.unlockTs_;
    autoSubmit_ = other.autoSubmit_;
    lastManualSubmitTime_ = other.lastManualSubmitTime_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public Settlement Clone() {
    return new Settlement(this);
  }

  /// <summary>Field number for the "settlement_id" field.</summary>
  public const int SettlementIdFieldNumber = 1;
  private string settlementId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string SettlementId {
    get { return settlementId_; }
    set {
      settlementId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "level" field.</summary>
  public const int LevelFieldNumber = 2;
  private int level_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Level {
    get { return level_; }
    set {
      level_ = value;
    }
  }

  /// <summary>Field number for the "exp" field.</summary>
  public const int ExpFieldNumber = 3;
  private long exp_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long Exp {
    get { return exp_; }
    set {
      exp_ = value;
    }
  }

  /// <summary>Field number for the "require_id" field.</summary>
  public const int RequireIdFieldNumber = 4;
  private string requireId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string RequireId {
    get { return requireId_; }
    set {
      requireId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "officer_char_template_id" field.</summary>
  public const int OfficerCharTemplateIdFieldNumber = 5;
  private string officerCharTemplateId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string OfficerCharTemplateId {
    get { return officerCharTemplateId_; }
    set {
      officerCharTemplateId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "reports" field.</summary>
  public const int ReportsFieldNumber = 6;
  private static readonly pbc::MapField<long, global::SettlementDayReport>.Codec _map_reports_codec
      = new pbc::MapField<long, global::SettlementDayReport>.Codec(pb::FieldCodec.ForInt64(8), pb::FieldCodec.ForMessage(18, global::SettlementDayReport.Parser), 50);
  private readonly pbc::MapField<long, global::SettlementDayReport> reports_ = new pbc::MapField<long, global::SettlementDayReport>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<long, global::SettlementDayReport> Reports {
    get { return reports_; }
  }

  /// <summary>Field number for the "unlock_ts" field.</summary>
  public const int UnlockTsFieldNumber = 7;
  private long unlockTs_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long UnlockTs {
    get { return unlockTs_; }
    set {
      unlockTs_ = value;
    }
  }

  /// <summary>Field number for the "auto_submit" field.</summary>
  public const int AutoSubmitFieldNumber = 8;
  private bool autoSubmit_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool AutoSubmit {
    get { return autoSubmit_; }
    set {
      autoSubmit_ = value;
    }
  }

  /// <summary>Field number for the "last_manual_submit_time" field.</summary>
  public const int LastManualSubmitTimeFieldNumber = 9;
  private long lastManualSubmitTime_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long LastManualSubmitTime {
    get { return lastManualSubmitTime_; }
    set {
      lastManualSubmitTime_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as Settlement);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(Settlement other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SettlementId != other.SettlementId) return false;
    if (Level != other.Level) return false;
    if (Exp != other.Exp) return false;
    if (RequireId != other.RequireId) return false;
    if (OfficerCharTemplateId != other.OfficerCharTemplateId) return false;
    if (!Reports.Equals(other.Reports)) return false;
    if (UnlockTs != other.UnlockTs) return false;
    if (AutoSubmit != other.AutoSubmit) return false;
    if (LastManualSubmitTime != other.LastManualSubmitTime) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SettlementId.Length != 0) hash ^= SettlementId.GetHashCode();
    if (Level != 0) hash ^= Level.GetHashCode();
    if (Exp != 0L) hash ^= Exp.GetHashCode();
    if (RequireId.Length != 0) hash ^= RequireId.GetHashCode();
    if (OfficerCharTemplateId.Length != 0) hash ^= OfficerCharTemplateId.GetHashCode();
    hash ^= Reports.GetHashCode();
    if (UnlockTs != 0L) hash ^= UnlockTs.GetHashCode();
    if (AutoSubmit != false) hash ^= AutoSubmit.GetHashCode();
    if (LastManualSubmitTime != 0L) hash ^= LastManualSubmitTime.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SettlementId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(SettlementId);
    }
    if (Level != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(Level);
    }
    if (Exp != 0L) {
      output.WriteRawTag(24);
      output.WriteInt64(Exp);
    }
    if (RequireId.Length != 0) {
      output.WriteRawTag(34);
      output.WriteString(RequireId);
    }
    if (OfficerCharTemplateId.Length != 0) {
      output.WriteRawTag(42);
      output.WriteString(OfficerCharTemplateId);
    }
    reports_.WriteTo(output, _map_reports_codec);
    if (UnlockTs != 0L) {
      output.WriteRawTag(56);
      output.WriteInt64(UnlockTs);
    }
    if (AutoSubmit != false) {
      output.WriteRawTag(64);
      output.WriteBool(AutoSubmit);
    }
    if (LastManualSubmitTime != 0L) {
      output.WriteRawTag(72);
      output.WriteInt64(LastManualSubmitTime);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SettlementId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(SettlementId);
    }
    if (Level != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Level);
    }
    if (Exp != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(Exp);
    }
    if (RequireId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(RequireId);
    }
    if (OfficerCharTemplateId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(OfficerCharTemplateId);
    }
    size += reports_.CalculateSize(_map_reports_codec);
    if (UnlockTs != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(UnlockTs);
    }
    if (AutoSubmit != false) {
      size += 1 + 1;
    }
    if (LastManualSubmitTime != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(LastManualSubmitTime);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(Settlement other) {
    if (other == null) {
      return;
    }
    if (other.SettlementId.Length != 0) {
      SettlementId = other.SettlementId;
    }
    if (other.Level != 0) {
      Level = other.Level;
    }
    if (other.Exp != 0L) {
      Exp = other.Exp;
    }
    if (other.RequireId.Length != 0) {
      RequireId = other.RequireId;
    }
    if (other.OfficerCharTemplateId.Length != 0) {
      OfficerCharTemplateId = other.OfficerCharTemplateId;
    }
    reports_.Add(other.reports_);
    if (other.UnlockTs != 0L) {
      UnlockTs = other.UnlockTs;
    }
    if (other.AutoSubmit != false) {
      AutoSubmit = other.AutoSubmit;
    }
    if (other.LastManualSubmitTime != 0L) {
      LastManualSubmitTime = other.LastManualSubmitTime;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          SettlementId = input.ReadString();
          break;
        }
        case 16: {
          Level = input.ReadInt32();
          break;
        }
        case 24: {
          Exp = input.ReadInt64();
          break;
        }
        case 34: {
          RequireId = input.ReadString();
          break;
        }
        case 42: {
          OfficerCharTemplateId = input.ReadString();
          break;
        }
        case 50: {
          reports_.AddEntriesFrom(input, _map_reports_codec);
          break;
        }
        case 56: {
          UnlockTs = input.ReadInt64();
          break;
        }
        case 64: {
          AutoSubmit = input.ReadBool();
          break;
        }
        case 72: {
          LastManualSubmitTime = input.ReadInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class SettlementDayReport : pb::IMessage<SettlementDayReport> {
  private static readonly pb::MessageParser<SettlementDayReport> _parser = new pb::MessageParser<SettlementDayReport>(() => new SettlementDayReport());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<SettlementDayReport> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[930]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SettlementDayReport() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SettlementDayReport(SettlementDayReport other) : this() {
    consume_ = other.consume_.Clone();
    output_ = other.output_.Clone();
    exp_ = other.exp_;
    levelUpCount_ = other.levelUpCount_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SettlementDayReport Clone() {
    return new SettlementDayReport(this);
  }

  /// <summary>Field number for the "consume" field.</summary>
  public const int ConsumeFieldNumber = 1;
  private static readonly pbc::MapField<string, long>.Codec _map_consume_codec
      = new pbc::MapField<string, long>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForInt64(16), 10);
  private readonly pbc::MapField<string, long> consume_ = new pbc::MapField<string, long>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<string, long> Consume {
    get { return consume_; }
  }

  /// <summary>Field number for the "output" field.</summary>
  public const int OutputFieldNumber = 2;
  private static readonly pbc::MapField<string, long>.Codec _map_output_codec
      = new pbc::MapField<string, long>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForInt64(16), 18);
  private readonly pbc::MapField<string, long> output_ = new pbc::MapField<string, long>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<string, long> Output {
    get { return output_; }
  }

  /// <summary>Field number for the "exp" field.</summary>
  public const int ExpFieldNumber = 3;
  private long exp_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long Exp {
    get { return exp_; }
    set {
      exp_ = value;
    }
  }

  /// <summary>Field number for the "level_up_count" field.</summary>
  public const int LevelUpCountFieldNumber = 4;
  private int levelUpCount_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int LevelUpCount {
    get { return levelUpCount_; }
    set {
      levelUpCount_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as SettlementDayReport);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(SettlementDayReport other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!Consume.Equals(other.Consume)) return false;
    if (!Output.Equals(other.Output)) return false;
    if (Exp != other.Exp) return false;
    if (LevelUpCount != other.LevelUpCount) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= Consume.GetHashCode();
    hash ^= Output.GetHashCode();
    if (Exp != 0L) hash ^= Exp.GetHashCode();
    if (LevelUpCount != 0) hash ^= LevelUpCount.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    consume_.WriteTo(output, _map_consume_codec);
    output_.WriteTo(output, _map_output_codec);
    if (Exp != 0L) {
      output.WriteRawTag(24);
      output.WriteInt64(Exp);
    }
    if (LevelUpCount != 0) {
      output.WriteRawTag(32);
      output.WriteInt32(LevelUpCount);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += consume_.CalculateSize(_map_consume_codec);
    size += output_.CalculateSize(_map_output_codec);
    if (Exp != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(Exp);
    }
    if (LevelUpCount != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(LevelUpCount);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(SettlementDayReport other) {
    if (other == null) {
      return;
    }
    consume_.Add(other.consume_);
    output_.Add(other.output_);
    if (other.Exp != 0L) {
      Exp = other.Exp;
    }
    if (other.LevelUpCount != 0) {
      LevelUpCount = other.LevelUpCount;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          consume_.AddEntriesFrom(input, _map_consume_codec);
          break;
        }
        case 18: {
          output_.AddEntriesFrom(input, _map_output_codec);
          break;
        }
        case 24: {
          Exp = input.ReadInt64();
          break;
        }
        case 32: {
          LevelUpCount = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScSettlementSyncAll : pb::IMessage<ScSettlementSyncAll> {
  private static readonly pb::MessageParser<ScSettlementSyncAll> _parser = new pb::MessageParser<ScSettlementSyncAll>(() => new ScSettlementSyncAll());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSettlementSyncAll> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[931]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSettlementSyncAll() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSettlementSyncAll(ScSettlementSyncAll other) : this() {
    settlements_ = other.settlements_.Clone();
    lastTickTime_ = other.lastTickTime_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSettlementSyncAll Clone() {
    return new ScSettlementSyncAll(this);
  }

  /// <summary>Field number for the "settlements" field.</summary>
  public const int SettlementsFieldNumber = 1;
  private static readonly pb::FieldCodec<global::Settlement> _repeated_settlements_codec
      = pb::FieldCodec.ForMessage(10, global::Settlement.Parser);
  private readonly pbc::RepeatedField<global::Settlement> settlements_ = new pbc::RepeatedField<global::Settlement>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::Settlement> Settlements {
    get { return settlements_; }
  }

  /// <summary>Field number for the "last_tick_time" field.</summary>
  public const int LastTickTimeFieldNumber = 2;
  private long lastTickTime_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long LastTickTime {
    get { return lastTickTime_; }
    set {
      lastTickTime_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSettlementSyncAll);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSettlementSyncAll other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!settlements_.Equals(other.settlements_)) return false;
    if (LastTickTime != other.LastTickTime) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= settlements_.GetHashCode();
    if (LastTickTime != 0L) hash ^= LastTickTime.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    settlements_.WriteTo(output, _repeated_settlements_codec);
    if (LastTickTime != 0L) {
      output.WriteRawTag(16);
      output.WriteInt64(LastTickTime);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += settlements_.CalculateSize(_repeated_settlements_codec);
    if (LastTickTime != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(LastTickTime);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSettlementSyncAll other) {
    if (other == null) {
      return;
    }
    settlements_.Add(other.settlements_);
    if (other.LastTickTime != 0L) {
      LastTickTime = other.LastTickTime;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          settlements_.AddEntriesFrom(input, _repeated_settlements_codec);
          break;
        }
        case 16: {
          LastTickTime = input.ReadInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class ScSettlementSyncModify : pb::IMessage<ScSettlementSyncModify> {
  private static readonly pb::MessageParser<ScSettlementSyncModify> _parser = new pb::MessageParser<ScSettlementSyncModify>(() => new ScSettlementSyncModify());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSettlementSyncModify> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[932]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSettlementSyncModify() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSettlementSyncModify(ScSettlementSyncModify other) : this() {
    settlementsModify_ = other.settlementsModify_.Clone();
    lastTickTime_ = other.lastTickTime_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSettlementSyncModify Clone() {
    return new ScSettlementSyncModify(this);
  }

  /// <summary>Field number for the "settlements_modify" field.</summary>
  public const int SettlementsModifyFieldNumber = 1;
  private static readonly pb::FieldCodec<global::Settlement> _repeated_settlementsModify_codec
      = pb::FieldCodec.ForMessage(10, global::Settlement.Parser);
  private readonly pbc::RepeatedField<global::Settlement> settlementsModify_ = new pbc::RepeatedField<global::Settlement>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::Settlement> SettlementsModify {
    get { return settlementsModify_; }
  }

  /// <summary>Field number for the "last_tick_time" field.</summary>
  public const int LastTickTimeFieldNumber = 2;
  private long lastTickTime_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long LastTickTime {
    get { return lastTickTime_; }
    set {
      lastTickTime_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSettlementSyncModify);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSettlementSyncModify other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!settlementsModify_.Equals(other.settlementsModify_)) return false;
    if (LastTickTime != other.LastTickTime) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= settlementsModify_.GetHashCode();
    if (LastTickTime != 0L) hash ^= LastTickTime.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    settlementsModify_.WriteTo(output, _repeated_settlementsModify_codec);
    if (LastTickTime != 0L) {
      output.WriteRawTag(16);
      output.WriteInt64(LastTickTime);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += settlementsModify_.CalculateSize(_repeated_settlementsModify_codec);
    if (LastTickTime != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(LastTickTime);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSettlementSyncModify other) {
    if (other == null) {
      return;
    }
    settlementsModify_.Add(other.settlementsModify_);
    if (other.LastTickTime != 0L) {
      LastTickTime = other.LastTickTime;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          settlementsModify_.AddEntriesFrom(input, _repeated_settlementsModify_codec);
          break;
        }
        case 16: {
          LastTickTime = input.ReadInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class CsSettlementSetOfficer : pb::IMessage<CsSettlementSetOfficer> {
  private static readonly pb::MessageParser<CsSettlementSetOfficer> _parser = new pb::MessageParser<CsSettlementSetOfficer>(() => new CsSettlementSetOfficer());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsSettlementSetOfficer> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[933]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSettlementSetOfficer() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSettlementSetOfficer(CsSettlementSetOfficer other) : this() {
    settlementId_ = other.settlementId_;
    officerTemplateId_ = other.officerTemplateId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSettlementSetOfficer Clone() {
    return new CsSettlementSetOfficer(this);
  }

  /// <summary>Field number for the "settlement_id" field.</summary>
  public const int SettlementIdFieldNumber = 1;
  private string settlementId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string SettlementId {
    get { return settlementId_; }
    set {
      settlementId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "officer_template_id" field.</summary>
  public const int OfficerTemplateIdFieldNumber = 2;
  private string officerTemplateId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string OfficerTemplateId {
    get { return officerTemplateId_; }
    set {
      officerTemplateId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsSettlementSetOfficer);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsSettlementSetOfficer other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SettlementId != other.SettlementId) return false;
    if (OfficerTemplateId != other.OfficerTemplateId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SettlementId.Length != 0) hash ^= SettlementId.GetHashCode();
    if (OfficerTemplateId.Length != 0) hash ^= OfficerTemplateId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SettlementId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(SettlementId);
    }
    if (OfficerTemplateId.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(OfficerTemplateId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SettlementId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(SettlementId);
    }
    if (OfficerTemplateId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(OfficerTemplateId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsSettlementSetOfficer other) {
    if (other == null) {
      return;
    }
    if (other.SettlementId.Length != 0) {
      SettlementId = other.SettlementId;
    }
    if (other.OfficerTemplateId.Length != 0) {
      OfficerTemplateId = other.OfficerTemplateId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          SettlementId = input.ReadString();
          break;
        }
        case 18: {
          OfficerTemplateId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class ScSettlementSetOfficer : pb::IMessage<ScSettlementSetOfficer> {
  private static readonly pb::MessageParser<ScSettlementSetOfficer> _parser = new pb::MessageParser<ScSettlementSetOfficer>(() => new ScSettlementSetOfficer());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSettlementSetOfficer> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[934]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSettlementSetOfficer() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSettlementSetOfficer(ScSettlementSetOfficer other) : this() {
    settlementId_ = other.settlementId_;
    officerTemplateId_ = other.officerTemplateId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSettlementSetOfficer Clone() {
    return new ScSettlementSetOfficer(this);
  }

  /// <summary>Field number for the "settlement_id" field.</summary>
  public const int SettlementIdFieldNumber = 1;
  private string settlementId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string SettlementId {
    get { return settlementId_; }
    set {
      settlementId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "officer_template_id" field.</summary>
  public const int OfficerTemplateIdFieldNumber = 2;
  private string officerTemplateId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string OfficerTemplateId {
    get { return officerTemplateId_; }
    set {
      officerTemplateId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSettlementSetOfficer);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSettlementSetOfficer other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SettlementId != other.SettlementId) return false;
    if (OfficerTemplateId != other.OfficerTemplateId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SettlementId.Length != 0) hash ^= SettlementId.GetHashCode();
    if (OfficerTemplateId.Length != 0) hash ^= OfficerTemplateId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SettlementId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(SettlementId);
    }
    if (OfficerTemplateId.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(OfficerTemplateId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SettlementId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(SettlementId);
    }
    if (OfficerTemplateId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(OfficerTemplateId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSettlementSetOfficer other) {
    if (other == null) {
      return;
    }
    if (other.SettlementId.Length != 0) {
      SettlementId = other.SettlementId;
    }
    if (other.OfficerTemplateId.Length != 0) {
      OfficerTemplateId = other.OfficerTemplateId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          SettlementId = input.ReadString();
          break;
        }
        case 18: {
          OfficerTemplateId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class ScSettlementFinishRequires : pb::IMessage<ScSettlementFinishRequires> {
  private static readonly pb::MessageParser<ScSettlementFinishRequires> _parser = new pb::MessageParser<ScSettlementFinishRequires>(() => new ScSettlementFinishRequires());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSettlementFinishRequires> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[935]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSettlementFinishRequires() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSettlementFinishRequires(ScSettlementFinishRequires other) : this() {
    nextFinishTime_ = other.nextFinishTime_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSettlementFinishRequires Clone() {
    return new ScSettlementFinishRequires(this);
  }

  /// <summary>Field number for the "next_finish_time" field.</summary>
  public const int NextFinishTimeFieldNumber = 1;
  private long nextFinishTime_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long NextFinishTime {
    get { return nextFinishTime_; }
    set {
      nextFinishTime_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSettlementFinishRequires);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSettlementFinishRequires other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (NextFinishTime != other.NextFinishTime) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (NextFinishTime != 0L) hash ^= NextFinishTime.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (NextFinishTime != 0L) {
      output.WriteRawTag(8);
      output.WriteInt64(NextFinishTime);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (NextFinishTime != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(NextFinishTime);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSettlementFinishRequires other) {
    if (other == null) {
      return;
    }
    if (other.NextFinishTime != 0L) {
      NextFinishTime = other.NextFinishTime;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          NextFinishTime = input.ReadInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class CsSettlementSetSubmitMode : pb::IMessage<CsSettlementSetSubmitMode> {
  private static readonly pb::MessageParser<CsSettlementSetSubmitMode> _parser = new pb::MessageParser<CsSettlementSetSubmitMode>(() => new CsSettlementSetSubmitMode());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsSettlementSetSubmitMode> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[936]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSettlementSetSubmitMode() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSettlementSetSubmitMode(CsSettlementSetSubmitMode other) : this() {
    settlementId_ = other.settlementId_;
    autoSubmit_ = other.autoSubmit_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSettlementSetSubmitMode Clone() {
    return new CsSettlementSetSubmitMode(this);
  }

  /// <summary>Field number for the "settlement_id" field.</summary>
  public const int SettlementIdFieldNumber = 1;
  private string settlementId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string SettlementId {
    get { return settlementId_; }
    set {
      settlementId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "auto_submit" field.</summary>
  public const int AutoSubmitFieldNumber = 2;
  private bool autoSubmit_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool AutoSubmit {
    get { return autoSubmit_; }
    set {
      autoSubmit_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsSettlementSetSubmitMode);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsSettlementSetSubmitMode other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SettlementId != other.SettlementId) return false;
    if (AutoSubmit != other.AutoSubmit) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SettlementId.Length != 0) hash ^= SettlementId.GetHashCode();
    if (AutoSubmit != false) hash ^= AutoSubmit.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SettlementId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(SettlementId);
    }
    if (AutoSubmit != false) {
      output.WriteRawTag(16);
      output.WriteBool(AutoSubmit);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SettlementId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(SettlementId);
    }
    if (AutoSubmit != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsSettlementSetSubmitMode other) {
    if (other == null) {
      return;
    }
    if (other.SettlementId.Length != 0) {
      SettlementId = other.SettlementId;
    }
    if (other.AutoSubmit != false) {
      AutoSubmit = other.AutoSubmit;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          SettlementId = input.ReadString();
          break;
        }
        case 16: {
          AutoSubmit = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class ScSettlementSetSubmitMode : pb::IMessage<ScSettlementSetSubmitMode> {
  private static readonly pb::MessageParser<ScSettlementSetSubmitMode> _parser = new pb::MessageParser<ScSettlementSetSubmitMode>(() => new ScSettlementSetSubmitMode());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSettlementSetSubmitMode> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[937]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSettlementSetSubmitMode() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSettlementSetSubmitMode(ScSettlementSetSubmitMode other) : this() {
    settlementId_ = other.settlementId_;
    autoSubmit_ = other.autoSubmit_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSettlementSetSubmitMode Clone() {
    return new ScSettlementSetSubmitMode(this);
  }

  /// <summary>Field number for the "settlement_id" field.</summary>
  public const int SettlementIdFieldNumber = 1;
  private string settlementId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string SettlementId {
    get { return settlementId_; }
    set {
      settlementId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "auto_submit" field.</summary>
  public const int AutoSubmitFieldNumber = 2;
  private bool autoSubmit_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool AutoSubmit {
    get { return autoSubmit_; }
    set {
      autoSubmit_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSettlementSetSubmitMode);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSettlementSetSubmitMode other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SettlementId != other.SettlementId) return false;
    if (AutoSubmit != other.AutoSubmit) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SettlementId.Length != 0) hash ^= SettlementId.GetHashCode();
    if (AutoSubmit != false) hash ^= AutoSubmit.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SettlementId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(SettlementId);
    }
    if (AutoSubmit != false) {
      output.WriteRawTag(16);
      output.WriteBool(AutoSubmit);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SettlementId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(SettlementId);
    }
    if (AutoSubmit != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSettlementSetSubmitMode other) {
    if (other == null) {
      return;
    }
    if (other.SettlementId.Length != 0) {
      SettlementId = other.SettlementId;
    }
    if (other.AutoSubmit != false) {
      AutoSubmit = other.AutoSubmit;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          SettlementId = input.ReadString();
          break;
        }
        case 16: {
          AutoSubmit = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class CsSettlementSubmitRequire : pb::IMessage<CsSettlementSubmitRequire> {
  private static readonly pb::MessageParser<CsSettlementSubmitRequire> _parser = new pb::MessageParser<CsSettlementSubmitRequire>(() => new CsSettlementSubmitRequire());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsSettlementSubmitRequire> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[938]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSettlementSubmitRequire() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSettlementSubmitRequire(CsSettlementSubmitRequire other) : this() {
    settlementId_ = other.settlementId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSettlementSubmitRequire Clone() {
    return new CsSettlementSubmitRequire(this);
  }

  /// <summary>Field number for the "settlement_id" field.</summary>
  public const int SettlementIdFieldNumber = 1;
  private string settlementId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string SettlementId {
    get { return settlementId_; }
    set {
      settlementId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsSettlementSubmitRequire);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsSettlementSubmitRequire other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SettlementId != other.SettlementId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SettlementId.Length != 0) hash ^= SettlementId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SettlementId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(SettlementId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SettlementId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(SettlementId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsSettlementSubmitRequire other) {
    if (other == null) {
      return;
    }
    if (other.SettlementId.Length != 0) {
      SettlementId = other.SettlementId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          SettlementId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class CsShopBuy : pb::IMessage<CsShopBuy> {
  private static readonly pb::MessageParser<CsShopBuy> _parser = new pb::MessageParser<CsShopBuy>(() => new CsShopBuy());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsShopBuy> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[939]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsShopBuy() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsShopBuy(CsShopBuy other) : this() {
    shopId_ = other.shopId_;
    goodsId_ = other.goodsId_;
    count_ = other.count_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsShopBuy Clone() {
    return new CsShopBuy(this);
  }

  /// <summary>Field number for the "shop_id" field.</summary>
  public const int ShopIdFieldNumber = 1;
  private string shopId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ShopId {
    get { return shopId_; }
    set {
      shopId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "goods_id" field.</summary>
  public const int GoodsIdFieldNumber = 2;
  private string goodsId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string GoodsId {
    get { return goodsId_; }
    set {
      goodsId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "count" field.</summary>
  public const int CountFieldNumber = 3;
  private int count_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Count {
    get { return count_; }
    set {
      count_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsShopBuy);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsShopBuy other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ShopId != other.ShopId) return false;
    if (GoodsId != other.GoodsId) return false;
    if (Count != other.Count) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ShopId.Length != 0) hash ^= ShopId.GetHashCode();
    if (GoodsId.Length != 0) hash ^= GoodsId.GetHashCode();
    if (Count != 0) hash ^= Count.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ShopId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(ShopId);
    }
    if (GoodsId.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(GoodsId);
    }
    if (Count != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(Count);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ShopId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ShopId);
    }
    if (GoodsId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(GoodsId);
    }
    if (Count != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Count);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsShopBuy other) {
    if (other == null) {
      return;
    }
    if (other.ShopId.Length != 0) {
      ShopId = other.ShopId;
    }
    if (other.GoodsId.Length != 0) {
      GoodsId = other.GoodsId;
    }
    if (other.Count != 0) {
      Count = other.Count;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          ShopId = input.ReadString();
          break;
        }
        case 18: {
          GoodsId = input.ReadString();
          break;
        }
        case 24: {
          Count = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class CsShopSwapMoney : pb::IMessage<CsShopSwapMoney> {
  private static readonly pb::MessageParser<CsShopSwapMoney> _parser = new pb::MessageParser<CsShopSwapMoney>(() => new CsShopSwapMoney());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsShopSwapMoney> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[940]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsShopSwapMoney() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsShopSwapMoney(CsShopSwapMoney other) : this() {
    sourceMoneyId_ = other.sourceMoneyId_;
    targetMoneyId_ = other.targetMoneyId_;
    swapSourceMoneyNum_ = other.swapSourceMoneyNum_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsShopSwapMoney Clone() {
    return new CsShopSwapMoney(this);
  }

  /// <summary>Field number for the "source_money_id" field.</summary>
  public const int SourceMoneyIdFieldNumber = 1;
  private string sourceMoneyId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string SourceMoneyId {
    get { return sourceMoneyId_; }
    set {
      sourceMoneyId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "target_money_id" field.</summary>
  public const int TargetMoneyIdFieldNumber = 2;
  private string targetMoneyId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string TargetMoneyId {
    get { return targetMoneyId_; }
    set {
      targetMoneyId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "swap_source_money_num" field.</summary>
  public const int SwapSourceMoneyNumFieldNumber = 3;
  private long swapSourceMoneyNum_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long SwapSourceMoneyNum {
    get { return swapSourceMoneyNum_; }
    set {
      swapSourceMoneyNum_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsShopSwapMoney);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsShopSwapMoney other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SourceMoneyId != other.SourceMoneyId) return false;
    if (TargetMoneyId != other.TargetMoneyId) return false;
    if (SwapSourceMoneyNum != other.SwapSourceMoneyNum) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SourceMoneyId.Length != 0) hash ^= SourceMoneyId.GetHashCode();
    if (TargetMoneyId.Length != 0) hash ^= TargetMoneyId.GetHashCode();
    if (SwapSourceMoneyNum != 0L) hash ^= SwapSourceMoneyNum.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SourceMoneyId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(SourceMoneyId);
    }
    if (TargetMoneyId.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(TargetMoneyId);
    }
    if (SwapSourceMoneyNum != 0L) {
      output.WriteRawTag(24);
      output.WriteInt64(SwapSourceMoneyNum);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SourceMoneyId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(SourceMoneyId);
    }
    if (TargetMoneyId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(TargetMoneyId);
    }
    if (SwapSourceMoneyNum != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(SwapSourceMoneyNum);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsShopSwapMoney other) {
    if (other == null) {
      return;
    }
    if (other.SourceMoneyId.Length != 0) {
      SourceMoneyId = other.SourceMoneyId;
    }
    if (other.TargetMoneyId.Length != 0) {
      TargetMoneyId = other.TargetMoneyId;
    }
    if (other.SwapSourceMoneyNum != 0L) {
      SwapSourceMoneyNum = other.SwapSourceMoneyNum;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          SourceMoneyId = input.ReadString();
          break;
        }
        case 18: {
          TargetMoneyId = input.ReadString();
          break;
        }
        case 24: {
          SwapSourceMoneyNum = input.ReadInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdShopDynamicGoods : pb::IMessage<ScdShopDynamicGoods> {
  private static readonly pb::MessageParser<ScdShopDynamicGoods> _parser = new pb::MessageParser<ScdShopDynamicGoods>(() => new ScdShopDynamicGoods());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdShopDynamicGoods> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[941]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdShopDynamicGoods() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdShopDynamicGoods(ScdShopDynamicGoods other) : this() {
    goodsId_ = other.goodsId_;
    goodsTemplateId_ = other.goodsTemplateId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdShopDynamicGoods Clone() {
    return new ScdShopDynamicGoods(this);
  }

  /// <summary>Field number for the "goods_id" field.</summary>
  public const int GoodsIdFieldNumber = 1;
  private string goodsId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string GoodsId {
    get { return goodsId_; }
    set {
      goodsId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "goods_template_id" field.</summary>
  public const int GoodsTemplateIdFieldNumber = 2;
  private string goodsTemplateId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string GoodsTemplateId {
    get { return goodsTemplateId_; }
    set {
      goodsTemplateId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdShopDynamicGoods);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdShopDynamicGoods other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (GoodsId != other.GoodsId) return false;
    if (GoodsTemplateId != other.GoodsTemplateId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (GoodsId.Length != 0) hash ^= GoodsId.GetHashCode();
    if (GoodsTemplateId.Length != 0) hash ^= GoodsTemplateId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (GoodsId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(GoodsId);
    }
    if (GoodsTemplateId.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(GoodsTemplateId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (GoodsId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(GoodsId);
    }
    if (GoodsTemplateId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(GoodsTemplateId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdShopDynamicGoods other) {
    if (other == null) {
      return;
    }
    if (other.GoodsId.Length != 0) {
      GoodsId = other.GoodsId;
    }
    if (other.GoodsTemplateId.Length != 0) {
      GoodsTemplateId = other.GoodsTemplateId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          GoodsId = input.ReadString();
          break;
        }
        case 18: {
          GoodsTemplateId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdShopRandomRefresh : pb::IMessage<ScdShopRandomRefresh> {
  private static readonly pb::MessageParser<ScdShopRandomRefresh> _parser = new pb::MessageParser<ScdShopRandomRefresh>(() => new ScdShopRandomRefresh());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdShopRandomRefresh> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[942]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdShopRandomRefresh() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdShopRandomRefresh(ScdShopRandomRefresh other) : this() {
    dynamicGoods_ = other.dynamicGoods_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdShopRandomRefresh Clone() {
    return new ScdShopRandomRefresh(this);
  }

  /// <summary>Field number for the "dynamic_goods" field.</summary>
  public const int DynamicGoodsFieldNumber = 1;
  private static readonly pb::FieldCodec<global::ScdShopDynamicGoods> _repeated_dynamicGoods_codec
      = pb::FieldCodec.ForMessage(10, global::ScdShopDynamicGoods.Parser);
  private readonly pbc::RepeatedField<global::ScdShopDynamicGoods> dynamicGoods_ = new pbc::RepeatedField<global::ScdShopDynamicGoods>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdShopDynamicGoods> DynamicGoods {
    get { return dynamicGoods_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdShopRandomRefresh);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdShopRandomRefresh other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!dynamicGoods_.Equals(other.dynamicGoods_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= dynamicGoods_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    dynamicGoods_.WriteTo(output, _repeated_dynamicGoods_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += dynamicGoods_.CalculateSize(_repeated_dynamicGoods_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdShopRandomRefresh other) {
    if (other == null) {
      return;
    }
    dynamicGoods_.Add(other.dynamicGoods_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          dynamicGoods_.AddEntriesFrom(input, _repeated_dynamicGoods_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScdShopDiscount : pb::IMessage<ScdShopDiscount> {
  private static readonly pb::MessageParser<ScdShopDiscount> _parser = new pb::MessageParser<ScdShopDiscount>(() => new ScdShopDiscount());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdShopDiscount> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[943]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdShopDiscount() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdShopDiscount(ScdShopDiscount other) : this() {
    goodsId_ = other.goodsId_;
    discount_ = other.discount_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdShopDiscount Clone() {
    return new ScdShopDiscount(this);
  }

  /// <summary>Field number for the "goods_id" field.</summary>
  public const int GoodsIdFieldNumber = 1;
  private string goodsId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string GoodsId {
    get { return goodsId_; }
    set {
      goodsId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "discount" field.</summary>
  public const int DiscountFieldNumber = 2;
  private float discount_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public float Discount {
    get { return discount_; }
    set {
      discount_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdShopDiscount);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdShopDiscount other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (GoodsId != other.GoodsId) return false;
    if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(Discount, other.Discount)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (GoodsId.Length != 0) hash ^= GoodsId.GetHashCode();
    if (Discount != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(Discount);
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (GoodsId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(GoodsId);
    }
    if (Discount != 0F) {
      output.WriteRawTag(21);
      output.WriteFloat(Discount);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (GoodsId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(GoodsId);
    }
    if (Discount != 0F) {
      size += 1 + 4;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdShopDiscount other) {
    if (other == null) {
      return;
    }
    if (other.GoodsId.Length != 0) {
      GoodsId = other.GoodsId;
    }
    if (other.Discount != 0F) {
      Discount = other.Discount;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          GoodsId = input.ReadString();
          break;
        }
        case 21: {
          Discount = input.ReadFloat();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdShopUnlockConditions : pb::IMessage<ScdShopUnlockConditions> {
  private static readonly pb::MessageParser<ScdShopUnlockConditions> _parser = new pb::MessageParser<ScdShopUnlockConditions>(() => new ScdShopUnlockConditions());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdShopUnlockConditions> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[944]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdShopUnlockConditions() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdShopUnlockConditions(ScdShopUnlockConditions other) : this() {
    id_ = other.id_;
    unlockConditionValues_ = other.unlockConditionValues_.Clone();
    unlockConditionFlags_ = other.unlockConditionFlags_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdShopUnlockConditions Clone() {
    return new ScdShopUnlockConditions(this);
  }

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

  /// <summary>Field number for the "unlock_condition_values" field.</summary>
  public const int UnlockConditionValuesFieldNumber = 2;
  private static readonly pbc::MapField<string, int>.Codec _map_unlockConditionValues_codec
      = new pbc::MapField<string, int>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForInt32(16), 18);
  private readonly pbc::MapField<string, int> unlockConditionValues_ = new pbc::MapField<string, int>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<string, int> UnlockConditionValues {
    get { return unlockConditionValues_; }
  }

  /// <summary>Field number for the "unlock_condition_flags" field.</summary>
  public const int UnlockConditionFlagsFieldNumber = 3;
  private static readonly pbc::MapField<string, bool>.Codec _map_unlockConditionFlags_codec
      = new pbc::MapField<string, bool>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForBool(16), 26);
  private readonly pbc::MapField<string, bool> unlockConditionFlags_ = new pbc::MapField<string, bool>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<string, bool> UnlockConditionFlags {
    get { return unlockConditionFlags_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdShopUnlockConditions);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdShopUnlockConditions other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Id != other.Id) return false;
    if (!UnlockConditionValues.Equals(other.UnlockConditionValues)) return false;
    if (!UnlockConditionFlags.Equals(other.UnlockConditionFlags)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Id.Length != 0) hash ^= Id.GetHashCode();
    hash ^= UnlockConditionValues.GetHashCode();
    hash ^= UnlockConditionFlags.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Id.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(Id);
    }
    unlockConditionValues_.WriteTo(output, _map_unlockConditionValues_codec);
    unlockConditionFlags_.WriteTo(output, _map_unlockConditionFlags_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Id.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(Id);
    }
    size += unlockConditionValues_.CalculateSize(_map_unlockConditionValues_codec);
    size += unlockConditionFlags_.CalculateSize(_map_unlockConditionFlags_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdShopUnlockConditions other) {
    if (other == null) {
      return;
    }
    if (other.Id.Length != 0) {
      Id = other.Id;
    }
    unlockConditionValues_.Add(other.unlockConditionValues_);
    unlockConditionFlags_.Add(other.unlockConditionFlags_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          Id = input.ReadString();
          break;
        }
        case 18: {
          unlockConditionValues_.AddEntriesFrom(input, _map_unlockConditionValues_codec);
          break;
        }
        case 26: {
          unlockConditionFlags_.AddEntriesFrom(input, _map_unlockConditionFlags_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScdShop : pb::IMessage<ScdShop> {
  private static readonly pb::MessageParser<ScdShop> _parser = new pb::MessageParser<ScdShop>(() => new ScdShop());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdShop> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[945]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdShop() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdShop(ScdShop other) : this() {
    shopId_ = other.shopId_;
    shopRefreshType_ = other.shopRefreshType_;
    unlockConditionValues_ = other.unlockConditionValues_.Clone();
    unlockConditionFlags_ = other.unlockConditionFlags_.Clone();
    discounts_ = other.discounts_.Clone();
    goodsUnlockConditions_ = other.goodsUnlockConditions_.Clone();
    isDynamicGood_ = other.isDynamicGood_;
    isDynamicDiscount_ = other.isDynamicDiscount_;
    switch (other.RefreshDataCase) {
      case RefreshDataOneofCase.RandomRefresh:
        RandomRefresh = other.RandomRefresh.Clone();
        break;
    }

    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdShop Clone() {
    return new ScdShop(this);
  }

  /// <summary>Field number for the "shop_id" field.</summary>
  public const int ShopIdFieldNumber = 1;
  private string shopId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ShopId {
    get { return shopId_; }
    set {
      shopId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "shop_refresh_type" field.</summary>
  public const int ShopRefreshTypeFieldNumber = 2;
  private int shopRefreshType_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ShopRefreshType {
    get { return shopRefreshType_; }
    set {
      shopRefreshType_ = value;
    }
  }

  /// <summary>Field number for the "unlock_condition_values" field.</summary>
  public const int UnlockConditionValuesFieldNumber = 3;
  private static readonly pbc::MapField<string, int>.Codec _map_unlockConditionValues_codec
      = new pbc::MapField<string, int>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForInt32(16), 26);
  private readonly pbc::MapField<string, int> unlockConditionValues_ = new pbc::MapField<string, int>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<string, int> UnlockConditionValues {
    get { return unlockConditionValues_; }
  }

  /// <summary>Field number for the "unlock_condition_flags" field.</summary>
  public const int UnlockConditionFlagsFieldNumber = 4;
  private static readonly pbc::MapField<string, bool>.Codec _map_unlockConditionFlags_codec
      = new pbc::MapField<string, bool>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForBool(16), 34);
  private readonly pbc::MapField<string, bool> unlockConditionFlags_ = new pbc::MapField<string, bool>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<string, bool> UnlockConditionFlags {
    get { return unlockConditionFlags_; }
  }

  /// <summary>Field number for the "discounts" field.</summary>
  public const int DiscountsFieldNumber = 5;
  private static readonly pb::FieldCodec<global::ScdShopDiscount> _repeated_discounts_codec
      = pb::FieldCodec.ForMessage(42, global::ScdShopDiscount.Parser);
  private readonly pbc::RepeatedField<global::ScdShopDiscount> discounts_ = new pbc::RepeatedField<global::ScdShopDiscount>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdShopDiscount> Discounts {
    get { return discounts_; }
  }

  /// <summary>Field number for the "goods_unlock_conditions" field.</summary>
  public const int GoodsUnlockConditionsFieldNumber = 6;
  private static readonly pb::FieldCodec<global::ScdShopUnlockConditions> _repeated_goodsUnlockConditions_codec
      = pb::FieldCodec.ForMessage(50, global::ScdShopUnlockConditions.Parser);
  private readonly pbc::RepeatedField<global::ScdShopUnlockConditions> goodsUnlockConditions_ = new pbc::RepeatedField<global::ScdShopUnlockConditions>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdShopUnlockConditions> GoodsUnlockConditions {
    get { return goodsUnlockConditions_; }
  }

  /// <summary>Field number for the "is_dynamic_good" field.</summary>
  public const int IsDynamicGoodFieldNumber = 7;
  private bool isDynamicGood_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool IsDynamicGood {
    get { return isDynamicGood_; }
    set {
      isDynamicGood_ = value;
    }
  }

  /// <summary>Field number for the "is_dynamic_discount" field.</summary>
  public const int IsDynamicDiscountFieldNumber = 8;
  private bool isDynamicDiscount_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool IsDynamicDiscount {
    get { return isDynamicDiscount_; }
    set {
      isDynamicDiscount_ = value;
    }
  }

  /// <summary>Field number for the "random_refresh" field.</summary>
  public const int RandomRefreshFieldNumber = 21;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdShopRandomRefresh RandomRefresh {
    get { return refreshDataCase_ == RefreshDataOneofCase.RandomRefresh ? (global::ScdShopRandomRefresh) refreshData_ : null; }
    set {
      refreshData_ = value;
      refreshDataCase_ = value == null ? RefreshDataOneofCase.None : RefreshDataOneofCase.RandomRefresh;
    }
  }

  private object refreshData_;
  /// <summary>Enum of possible cases for the "refresh_data" oneof.</summary>
  public enum RefreshDataOneofCase {
    None = 0,
    RandomRefresh = 21,
  }
  private RefreshDataOneofCase refreshDataCase_ = RefreshDataOneofCase.None;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public RefreshDataOneofCase RefreshDataCase {
    get { return refreshDataCase_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void ClearRefreshData() {
    refreshDataCase_ = RefreshDataOneofCase.None;
    refreshData_ = null;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdShop);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdShop other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ShopId != other.ShopId) return false;
    if (ShopRefreshType != other.ShopRefreshType) return false;
    if (!UnlockConditionValues.Equals(other.UnlockConditionValues)) return false;
    if (!UnlockConditionFlags.Equals(other.UnlockConditionFlags)) return false;
    if(!discounts_.Equals(other.discounts_)) return false;
    if(!goodsUnlockConditions_.Equals(other.goodsUnlockConditions_)) return false;
    if (IsDynamicGood != other.IsDynamicGood) return false;
    if (IsDynamicDiscount != other.IsDynamicDiscount) return false;
    if (!object.Equals(RandomRefresh, other.RandomRefresh)) return false;
    if (RefreshDataCase != other.RefreshDataCase) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ShopId.Length != 0) hash ^= ShopId.GetHashCode();
    if (ShopRefreshType != 0) hash ^= ShopRefreshType.GetHashCode();
    hash ^= UnlockConditionValues.GetHashCode();
    hash ^= UnlockConditionFlags.GetHashCode();
    hash ^= discounts_.GetHashCode();
    hash ^= goodsUnlockConditions_.GetHashCode();
    if (IsDynamicGood != false) hash ^= IsDynamicGood.GetHashCode();
    if (IsDynamicDiscount != false) hash ^= IsDynamicDiscount.GetHashCode();
    if (refreshDataCase_ == RefreshDataOneofCase.RandomRefresh) hash ^= RandomRefresh.GetHashCode();
    hash ^= (int) refreshDataCase_;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ShopId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(ShopId);
    }
    if (ShopRefreshType != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(ShopRefreshType);
    }
    unlockConditionValues_.WriteTo(output, _map_unlockConditionValues_codec);
    unlockConditionFlags_.WriteTo(output, _map_unlockConditionFlags_codec);
    discounts_.WriteTo(output, _repeated_discounts_codec);
    goodsUnlockConditions_.WriteTo(output, _repeated_goodsUnlockConditions_codec);
    if (IsDynamicGood != false) {
      output.WriteRawTag(56);
      output.WriteBool(IsDynamicGood);
    }
    if (IsDynamicDiscount != false) {
      output.WriteRawTag(64);
      output.WriteBool(IsDynamicDiscount);
    }
    if (refreshDataCase_ == RefreshDataOneofCase.RandomRefresh) {
      output.WriteRawTag(170, 1);
      output.WriteMessage(RandomRefresh);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ShopId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ShopId);
    }
    if (ShopRefreshType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ShopRefreshType);
    }
    size += unlockConditionValues_.CalculateSize(_map_unlockConditionValues_codec);
    size += unlockConditionFlags_.CalculateSize(_map_unlockConditionFlags_codec);
    size += discounts_.CalculateSize(_repeated_discounts_codec);
    size += goodsUnlockConditions_.CalculateSize(_repeated_goodsUnlockConditions_codec);
    if (IsDynamicGood != false) {
      size += 1 + 1;
    }
    if (IsDynamicDiscount != false) {
      size += 1 + 1;
    }
    if (refreshDataCase_ == RefreshDataOneofCase.RandomRefresh) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(RandomRefresh);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdShop other) {
    if (other == null) {
      return;
    }
    if (other.ShopId.Length != 0) {
      ShopId = other.ShopId;
    }
    if (other.ShopRefreshType != 0) {
      ShopRefreshType = other.ShopRefreshType;
    }
    unlockConditionValues_.Add(other.unlockConditionValues_);
    unlockConditionFlags_.Add(other.unlockConditionFlags_);
    discounts_.Add(other.discounts_);
    goodsUnlockConditions_.Add(other.goodsUnlockConditions_);
    if (other.IsDynamicGood != false) {
      IsDynamicGood = other.IsDynamicGood;
    }
    if (other.IsDynamicDiscount != false) {
      IsDynamicDiscount = other.IsDynamicDiscount;
    }
    switch (other.RefreshDataCase) {
      case RefreshDataOneofCase.RandomRefresh:
        if (RandomRefresh == null) {
          RandomRefresh = new global::ScdShopRandomRefresh();
        }
        RandomRefresh.MergeFrom(other.RandomRefresh);
        break;
    }

    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          ShopId = input.ReadString();
          break;
        }
        case 16: {
          ShopRefreshType = input.ReadInt32();
          break;
        }
        case 26: {
          unlockConditionValues_.AddEntriesFrom(input, _map_unlockConditionValues_codec);
          break;
        }
        case 34: {
          unlockConditionFlags_.AddEntriesFrom(input, _map_unlockConditionFlags_codec);
          break;
        }
        case 42: {
          discounts_.AddEntriesFrom(input, _repeated_discounts_codec);
          break;
        }
        case 50: {
          goodsUnlockConditions_.AddEntriesFrom(input, _repeated_goodsUnlockConditions_codec);
          break;
        }
        case 56: {
          IsDynamicGood = input.ReadBool();
          break;
        }
        case 64: {
          IsDynamicDiscount = input.ReadBool();
          break;
        }
        case 170: {
          global::ScdShopRandomRefresh subBuilder = new global::ScdShopRandomRefresh();
          if (refreshDataCase_ == RefreshDataOneofCase.RandomRefresh) {
            subBuilder.MergeFrom(RandomRefresh);
          }
          input.ReadMessage(subBuilder);
          RandomRefresh = subBuilder;
          break;
        }
      }
    }
  }

}

public sealed partial class ScdShopFrequencyLimit : pb::IMessage<ScdShopFrequencyLimit> {
  private static readonly pb::MessageParser<ScdShopFrequencyLimit> _parser = new pb::MessageParser<ScdShopFrequencyLimit>(() => new ScdShopFrequencyLimit());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdShopFrequencyLimit> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[946]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdShopFrequencyLimit() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdShopFrequencyLimit(ScdShopFrequencyLimit other) : this() {
    frequencyLimitId_ = other.frequencyLimitId_;
    count_ = other.count_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdShopFrequencyLimit Clone() {
    return new ScdShopFrequencyLimit(this);
  }

  /// <summary>Field number for the "frequency_limit_id" field.</summary>
  public const int FrequencyLimitIdFieldNumber = 1;
  private string frequencyLimitId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string FrequencyLimitId {
    get { return frequencyLimitId_; }
    set {
      frequencyLimitId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "count" field.</summary>
  public const int CountFieldNumber = 2;
  private int count_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Count {
    get { return count_; }
    set {
      count_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdShopFrequencyLimit);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdShopFrequencyLimit other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (FrequencyLimitId != other.FrequencyLimitId) return false;
    if (Count != other.Count) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (FrequencyLimitId.Length != 0) hash ^= FrequencyLimitId.GetHashCode();
    if (Count != 0) hash ^= Count.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (FrequencyLimitId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(FrequencyLimitId);
    }
    if (Count != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(Count);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (FrequencyLimitId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(FrequencyLimitId);
    }
    if (Count != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Count);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdShopFrequencyLimit other) {
    if (other == null) {
      return;
    }
    if (other.FrequencyLimitId.Length != 0) {
      FrequencyLimitId = other.FrequencyLimitId;
    }
    if (other.Count != 0) {
      Count = other.Count;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          FrequencyLimitId = input.ReadString();
          break;
        }
        case 16: {
          Count = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScShopSync : pb::IMessage<ScShopSync> {
  private static readonly pb::MessageParser<ScShopSync> _parser = new pb::MessageParser<ScShopSync>(() => new ScShopSync());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScShopSync> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[947]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScShopSync() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScShopSync(ScShopSync other) : this() {
    shopGroupConditions_ = other.shopGroupConditions_.Clone();
    shops_ = other.shops_.Clone();
    frequencyLimits_ = other.frequencyLimits_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScShopSync Clone() {
    return new ScShopSync(this);
  }

  /// <summary>Field number for the "shop_group_conditions" field.</summary>
  public const int ShopGroupConditionsFieldNumber = 1;
  private static readonly pb::FieldCodec<global::ScdShopUnlockConditions> _repeated_shopGroupConditions_codec
      = pb::FieldCodec.ForMessage(10, global::ScdShopUnlockConditions.Parser);
  private readonly pbc::RepeatedField<global::ScdShopUnlockConditions> shopGroupConditions_ = new pbc::RepeatedField<global::ScdShopUnlockConditions>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdShopUnlockConditions> ShopGroupConditions {
    get { return shopGroupConditions_; }
  }

  /// <summary>Field number for the "shops" field.</summary>
  public const int ShopsFieldNumber = 2;
  private static readonly pb::FieldCodec<global::ScdShop> _repeated_shops_codec
      = pb::FieldCodec.ForMessage(18, global::ScdShop.Parser);
  private readonly pbc::RepeatedField<global::ScdShop> shops_ = new pbc::RepeatedField<global::ScdShop>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdShop> Shops {
    get { return shops_; }
  }

  /// <summary>Field number for the "frequency_limits" field.</summary>
  public const int FrequencyLimitsFieldNumber = 3;
  private static readonly pb::FieldCodec<global::ScdShopFrequencyLimit> _repeated_frequencyLimits_codec
      = pb::FieldCodec.ForMessage(26, global::ScdShopFrequencyLimit.Parser);
  private readonly pbc::RepeatedField<global::ScdShopFrequencyLimit> frequencyLimits_ = new pbc::RepeatedField<global::ScdShopFrequencyLimit>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdShopFrequencyLimit> FrequencyLimits {
    get { return frequencyLimits_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScShopSync);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScShopSync other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!shopGroupConditions_.Equals(other.shopGroupConditions_)) return false;
    if(!shops_.Equals(other.shops_)) return false;
    if(!frequencyLimits_.Equals(other.frequencyLimits_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= shopGroupConditions_.GetHashCode();
    hash ^= shops_.GetHashCode();
    hash ^= frequencyLimits_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    shopGroupConditions_.WriteTo(output, _repeated_shopGroupConditions_codec);
    shops_.WriteTo(output, _repeated_shops_codec);
    frequencyLimits_.WriteTo(output, _repeated_frequencyLimits_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += shopGroupConditions_.CalculateSize(_repeated_shopGroupConditions_codec);
    size += shops_.CalculateSize(_repeated_shops_codec);
    size += frequencyLimits_.CalculateSize(_repeated_frequencyLimits_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScShopSync other) {
    if (other == null) {
      return;
    }
    shopGroupConditions_.Add(other.shopGroupConditions_);
    shops_.Add(other.shops_);
    frequencyLimits_.Add(other.frequencyLimits_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          shopGroupConditions_.AddEntriesFrom(input, _repeated_shopGroupConditions_codec);
          break;
        }
        case 18: {
          shops_.AddEntriesFrom(input, _repeated_shops_codec);
          break;
        }
        case 26: {
          frequencyLimits_.AddEntriesFrom(input, _repeated_frequencyLimits_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScShopSyncShopGroupCondition : pb::IMessage<ScShopSyncShopGroupCondition> {
  private static readonly pb::MessageParser<ScShopSyncShopGroupCondition> _parser = new pb::MessageParser<ScShopSyncShopGroupCondition>(() => new ScShopSyncShopGroupCondition());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScShopSyncShopGroupCondition> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[948]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScShopSyncShopGroupCondition() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScShopSyncShopGroupCondition(ScShopSyncShopGroupCondition other) : this() {
    shopGroupConditions_ = other.shopGroupConditions_ != null ? other.shopGroupConditions_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScShopSyncShopGroupCondition Clone() {
    return new ScShopSyncShopGroupCondition(this);
  }

  /// <summary>Field number for the "shop_group_conditions" field.</summary>
  public const int ShopGroupConditionsFieldNumber = 1;
  private global::ScdShopUnlockConditions shopGroupConditions_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdShopUnlockConditions ShopGroupConditions {
    get { return shopGroupConditions_; }
    set {
      shopGroupConditions_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScShopSyncShopGroupCondition);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScShopSyncShopGroupCondition other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!object.Equals(ShopGroupConditions, other.ShopGroupConditions)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (shopGroupConditions_ != null) hash ^= ShopGroupConditions.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (shopGroupConditions_ != null) {
      output.WriteRawTag(10);
      output.WriteMessage(ShopGroupConditions);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (shopGroupConditions_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(ShopGroupConditions);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScShopSyncShopGroupCondition other) {
    if (other == null) {
      return;
    }
    if (other.shopGroupConditions_ != null) {
      if (shopGroupConditions_ == null) {
        shopGroupConditions_ = new global::ScdShopUnlockConditions();
      }
      ShopGroupConditions.MergeFrom(other.ShopGroupConditions);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          if (shopGroupConditions_ == null) {
            shopGroupConditions_ = new global::ScdShopUnlockConditions();
          }
          input.ReadMessage(shopGroupConditions_);
          break;
        }
      }
    }
  }

}

public sealed partial class ScShopModifyShop : pb::IMessage<ScShopModifyShop> {
  private static readonly pb::MessageParser<ScShopModifyShop> _parser = new pb::MessageParser<ScShopModifyShop>(() => new ScShopModifyShop());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScShopModifyShop> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[949]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScShopModifyShop() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScShopModifyShop(ScShopModifyShop other) : this() {
    shops_ = other.shops_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScShopModifyShop Clone() {
    return new ScShopModifyShop(this);
  }

  /// <summary>Field number for the "shops" field.</summary>
  public const int ShopsFieldNumber = 1;
  private static readonly pb::FieldCodec<global::ScdShop> _repeated_shops_codec
      = pb::FieldCodec.ForMessage(10, global::ScdShop.Parser);
  private readonly pbc::RepeatedField<global::ScdShop> shops_ = new pbc::RepeatedField<global::ScdShop>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdShop> Shops {
    get { return shops_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScShopModifyShop);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScShopModifyShop other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!shops_.Equals(other.shops_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= shops_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    shops_.WriteTo(output, _repeated_shops_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += shops_.CalculateSize(_repeated_shops_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScShopModifyShop other) {
    if (other == null) {
      return;
    }
    shops_.Add(other.shops_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          shops_.AddEntriesFrom(input, _repeated_shops_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScShopSyncShopCondition : pb::IMessage<ScShopSyncShopCondition> {
  private static readonly pb::MessageParser<ScShopSyncShopCondition> _parser = new pb::MessageParser<ScShopSyncShopCondition>(() => new ScShopSyncShopCondition());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScShopSyncShopCondition> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[950]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScShopSyncShopCondition() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScShopSyncShopCondition(ScShopSyncShopCondition other) : this() {
    shopConditions_ = other.shopConditions_ != null ? other.shopConditions_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScShopSyncShopCondition Clone() {
    return new ScShopSyncShopCondition(this);
  }

  /// <summary>Field number for the "shop_conditions" field.</summary>
  public const int ShopConditionsFieldNumber = 1;
  private global::ScdShopUnlockConditions shopConditions_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdShopUnlockConditions ShopConditions {
    get { return shopConditions_; }
    set {
      shopConditions_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScShopSyncShopCondition);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScShopSyncShopCondition other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!object.Equals(ShopConditions, other.ShopConditions)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (shopConditions_ != null) hash ^= ShopConditions.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (shopConditions_ != null) {
      output.WriteRawTag(10);
      output.WriteMessage(ShopConditions);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (shopConditions_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(ShopConditions);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScShopSyncShopCondition other) {
    if (other == null) {
      return;
    }
    if (other.shopConditions_ != null) {
      if (shopConditions_ == null) {
        shopConditions_ = new global::ScdShopUnlockConditions();
      }
      ShopConditions.MergeFrom(other.ShopConditions);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          if (shopConditions_ == null) {
            shopConditions_ = new global::ScdShopUnlockConditions();
          }
          input.ReadMessage(shopConditions_);
          break;
        }
      }
    }
  }

}

public sealed partial class ScShopSyncGoodsCondition : pb::IMessage<ScShopSyncGoodsCondition> {
  private static readonly pb::MessageParser<ScShopSyncGoodsCondition> _parser = new pb::MessageParser<ScShopSyncGoodsCondition>(() => new ScShopSyncGoodsCondition());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScShopSyncGoodsCondition> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[951]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScShopSyncGoodsCondition() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScShopSyncGoodsCondition(ScShopSyncGoodsCondition other) : this() {
    goodsConditions_ = other.goodsConditions_ != null ? other.goodsConditions_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScShopSyncGoodsCondition Clone() {
    return new ScShopSyncGoodsCondition(this);
  }

  /// <summary>Field number for the "goods_conditions" field.</summary>
  public const int GoodsConditionsFieldNumber = 1;
  private global::ScdShopUnlockConditions goodsConditions_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdShopUnlockConditions GoodsConditions {
    get { return goodsConditions_; }
    set {
      goodsConditions_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScShopSyncGoodsCondition);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScShopSyncGoodsCondition other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!object.Equals(GoodsConditions, other.GoodsConditions)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (goodsConditions_ != null) hash ^= GoodsConditions.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (goodsConditions_ != null) {
      output.WriteRawTag(10);
      output.WriteMessage(GoodsConditions);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (goodsConditions_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(GoodsConditions);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScShopSyncGoodsCondition other) {
    if (other == null) {
      return;
    }
    if (other.goodsConditions_ != null) {
      if (goodsConditions_ == null) {
        goodsConditions_ = new global::ScdShopUnlockConditions();
      }
      GoodsConditions.MergeFrom(other.GoodsConditions);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          if (goodsConditions_ == null) {
            goodsConditions_ = new global::ScdShopUnlockConditions();
          }
          input.ReadMessage(goodsConditions_);
          break;
        }
      }
    }
  }

}

public sealed partial class ScShopModifyFrequencyLimit : pb::IMessage<ScShopModifyFrequencyLimit> {
  private static readonly pb::MessageParser<ScShopModifyFrequencyLimit> _parser = new pb::MessageParser<ScShopModifyFrequencyLimit>(() => new ScShopModifyFrequencyLimit());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScShopModifyFrequencyLimit> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[952]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScShopModifyFrequencyLimit() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScShopModifyFrequencyLimit(ScShopModifyFrequencyLimit other) : this() {
    frequencyLimits_ = other.frequencyLimits_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScShopModifyFrequencyLimit Clone() {
    return new ScShopModifyFrequencyLimit(this);
  }

  /// <summary>Field number for the "frequency_limits" field.</summary>
  public const int FrequencyLimitsFieldNumber = 1;
  private static readonly pb::FieldCodec<global::ScdShopFrequencyLimit> _repeated_frequencyLimits_codec
      = pb::FieldCodec.ForMessage(10, global::ScdShopFrequencyLimit.Parser);
  private readonly pbc::RepeatedField<global::ScdShopFrequencyLimit> frequencyLimits_ = new pbc::RepeatedField<global::ScdShopFrequencyLimit>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdShopFrequencyLimit> FrequencyLimits {
    get { return frequencyLimits_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScShopModifyFrequencyLimit);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScShopModifyFrequencyLimit other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!frequencyLimits_.Equals(other.frequencyLimits_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= frequencyLimits_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    frequencyLimits_.WriteTo(output, _repeated_frequencyLimits_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += frequencyLimits_.CalculateSize(_repeated_frequencyLimits_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScShopModifyFrequencyLimit other) {
    if (other == null) {
      return;
    }
    frequencyLimits_.Add(other.frequencyLimits_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          frequencyLimits_.AddEntriesFrom(input, _repeated_frequencyLimits_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScShopDeleteFrequencyLimit : pb::IMessage<ScShopDeleteFrequencyLimit> {
  private static readonly pb::MessageParser<ScShopDeleteFrequencyLimit> _parser = new pb::MessageParser<ScShopDeleteFrequencyLimit>(() => new ScShopDeleteFrequencyLimit());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScShopDeleteFrequencyLimit> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[953]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScShopDeleteFrequencyLimit() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScShopDeleteFrequencyLimit(ScShopDeleteFrequencyLimit other) : this() {
    frequencyLimits_ = other.frequencyLimits_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScShopDeleteFrequencyLimit Clone() {
    return new ScShopDeleteFrequencyLimit(this);
  }

  /// <summary>Field number for the "frequency_limits" field.</summary>
  public const int FrequencyLimitsFieldNumber = 1;
  private static readonly pb::FieldCodec<string> _repeated_frequencyLimits_codec
      = pb::FieldCodec.ForString(10);
  private readonly pbc::RepeatedField<string> frequencyLimits_ = new pbc::RepeatedField<string>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<string> FrequencyLimits {
    get { return frequencyLimits_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScShopDeleteFrequencyLimit);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScShopDeleteFrequencyLimit other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!frequencyLimits_.Equals(other.frequencyLimits_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= frequencyLimits_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    frequencyLimits_.WriteTo(output, _repeated_frequencyLimits_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += frequencyLimits_.CalculateSize(_repeated_frequencyLimits_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScShopDeleteFrequencyLimit other) {
    if (other == null) {
      return;
    }
    frequencyLimits_.Add(other.frequencyLimits_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          frequencyLimits_.AddEntriesFrom(input, _repeated_frequencyLimits_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScShopBuyResp : pb::IMessage<ScShopBuyResp> {
  private static readonly pb::MessageParser<ScShopBuyResp> _parser = new pb::MessageParser<ScShopBuyResp>(() => new ScShopBuyResp());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScShopBuyResp> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[954]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScShopBuyResp() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScShopBuyResp(ScShopBuyResp other) : this() {
    shopId_ = other.shopId_;
    goodsId_ = other.goodsId_;
    count_ = other.count_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScShopBuyResp Clone() {
    return new ScShopBuyResp(this);
  }

  /// <summary>Field number for the "shop_id" field.</summary>
  public const int ShopIdFieldNumber = 1;
  private string shopId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ShopId {
    get { return shopId_; }
    set {
      shopId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "goods_id" field.</summary>
  public const int GoodsIdFieldNumber = 2;
  private string goodsId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string GoodsId {
    get { return goodsId_; }
    set {
      goodsId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "count" field.</summary>
  public const int CountFieldNumber = 3;
  private int count_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Count {
    get { return count_; }
    set {
      count_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScShopBuyResp);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScShopBuyResp other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ShopId != other.ShopId) return false;
    if (GoodsId != other.GoodsId) return false;
    if (Count != other.Count) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ShopId.Length != 0) hash ^= ShopId.GetHashCode();
    if (GoodsId.Length != 0) hash ^= GoodsId.GetHashCode();
    if (Count != 0) hash ^= Count.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ShopId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(ShopId);
    }
    if (GoodsId.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(GoodsId);
    }
    if (Count != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(Count);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ShopId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ShopId);
    }
    if (GoodsId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(GoodsId);
    }
    if (Count != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Count);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScShopBuyResp other) {
    if (other == null) {
      return;
    }
    if (other.ShopId.Length != 0) {
      ShopId = other.ShopId;
    }
    if (other.GoodsId.Length != 0) {
      GoodsId = other.GoodsId;
    }
    if (other.Count != 0) {
      Count = other.Count;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          ShopId = input.ReadString();
          break;
        }
        case 18: {
          GoodsId = input.ReadString();
          break;
        }
        case 24: {
          Count = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScShopSwapMoney : pb::IMessage<ScShopSwapMoney> {
  private static readonly pb::MessageParser<ScShopSwapMoney> _parser = new pb::MessageParser<ScShopSwapMoney>(() => new ScShopSwapMoney());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScShopSwapMoney> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[955]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScShopSwapMoney() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScShopSwapMoney(ScShopSwapMoney other) : this() {
    sourceMoneyId_ = other.sourceMoneyId_;
    targetMoneyId_ = other.targetMoneyId_;
    costSourceMoneyNum_ = other.costSourceMoneyNum_;
    getTargetMoneyNum_ = other.getTargetMoneyNum_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScShopSwapMoney Clone() {
    return new ScShopSwapMoney(this);
  }

  /// <summary>Field number for the "source_money_id" field.</summary>
  public const int SourceMoneyIdFieldNumber = 1;
  private string sourceMoneyId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string SourceMoneyId {
    get { return sourceMoneyId_; }
    set {
      sourceMoneyId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "target_money_id" field.</summary>
  public const int TargetMoneyIdFieldNumber = 2;
  private string targetMoneyId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string TargetMoneyId {
    get { return targetMoneyId_; }
    set {
      targetMoneyId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "cost_source_money_num" field.</summary>
  public const int CostSourceMoneyNumFieldNumber = 3;
  private long costSourceMoneyNum_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long CostSourceMoneyNum {
    get { return costSourceMoneyNum_; }
    set {
      costSourceMoneyNum_ = value;
    }
  }

  /// <summary>Field number for the "get_target_money_num" field.</summary>
  public const int GetTargetMoneyNumFieldNumber = 4;
  private long getTargetMoneyNum_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long GetTargetMoneyNum {
    get { return getTargetMoneyNum_; }
    set {
      getTargetMoneyNum_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScShopSwapMoney);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScShopSwapMoney other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SourceMoneyId != other.SourceMoneyId) return false;
    if (TargetMoneyId != other.TargetMoneyId) return false;
    if (CostSourceMoneyNum != other.CostSourceMoneyNum) return false;
    if (GetTargetMoneyNum != other.GetTargetMoneyNum) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SourceMoneyId.Length != 0) hash ^= SourceMoneyId.GetHashCode();
    if (TargetMoneyId.Length != 0) hash ^= TargetMoneyId.GetHashCode();
    if (CostSourceMoneyNum != 0L) hash ^= CostSourceMoneyNum.GetHashCode();
    if (GetTargetMoneyNum != 0L) hash ^= GetTargetMoneyNum.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SourceMoneyId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(SourceMoneyId);
    }
    if (TargetMoneyId.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(TargetMoneyId);
    }
    if (CostSourceMoneyNum != 0L) {
      output.WriteRawTag(24);
      output.WriteInt64(CostSourceMoneyNum);
    }
    if (GetTargetMoneyNum != 0L) {
      output.WriteRawTag(32);
      output.WriteInt64(GetTargetMoneyNum);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SourceMoneyId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(SourceMoneyId);
    }
    if (TargetMoneyId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(TargetMoneyId);
    }
    if (CostSourceMoneyNum != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(CostSourceMoneyNum);
    }
    if (GetTargetMoneyNum != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(GetTargetMoneyNum);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScShopSwapMoney other) {
    if (other == null) {
      return;
    }
    if (other.SourceMoneyId.Length != 0) {
      SourceMoneyId = other.SourceMoneyId;
    }
    if (other.TargetMoneyId.Length != 0) {
      TargetMoneyId = other.TargetMoneyId;
    }
    if (other.CostSourceMoneyNum != 0L) {
      CostSourceMoneyNum = other.CostSourceMoneyNum;
    }
    if (other.GetTargetMoneyNum != 0L) {
      GetTargetMoneyNum = other.GetTargetMoneyNum;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          SourceMoneyId = input.ReadString();
          break;
        }
        case 18: {
          TargetMoneyId = input.ReadString();
          break;
        }
        case 24: {
          CostSourceMoneyNum = input.ReadInt64();
          break;
        }
        case 32: {
          GetTargetMoneyNum = input.ReadInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class CsCastSkill : pb::IMessage<CsCastSkill> {
  private static readonly pb::MessageParser<CsCastSkill> _parser = new pb::MessageParser<CsCastSkill>(() => new CsCastSkill());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsCastSkill> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[956]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsCastSkill() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsCastSkill(CsCastSkill other) : this() {
    skillSeraialId_ = other.skillSeraialId_;
    attackerObjId_ = other.attackerObjId_;
    skillId_ = other.skillId_;
    attackerPosition_ = other.attackerPosition_ != null ? other.attackerPosition_.Clone() : null;
    attackerRotation_ = other.attackerRotation_ != null ? other.attackerRotation_.Clone() : null;
    timeStamp_ = other.timeStamp_;
    scaledTimeStamp_ = other.scaledTimeStamp_;
    targetObjIdList_ = other.targetObjIdList_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsCastSkill Clone() {
    return new CsCastSkill(this);
  }

  /// <summary>Field number for the "skill_seraial_id" field.</summary>
  public const int SkillSeraialIdFieldNumber = 1;
  private ulong skillSeraialId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong SkillSeraialId {
    get { return skillSeraialId_; }
    set {
      skillSeraialId_ = value;
    }
  }

  /// <summary>Field number for the "attacker_obj_id" field.</summary>
  public const int AttackerObjIdFieldNumber = 2;
  private ulong attackerObjId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong AttackerObjId {
    get { return attackerObjId_; }
    set {
      attackerObjId_ = value;
    }
  }

  /// <summary>Field number for the "skill_id" field.</summary>
  public const int SkillIdFieldNumber = 3;
  private string skillId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string SkillId {
    get { return skillId_; }
    set {
      skillId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "attacker_position" field.</summary>
  public const int AttackerPositionFieldNumber = 4;
  private global::Vector attackerPosition_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::Vector AttackerPosition {
    get { return attackerPosition_; }
    set {
      attackerPosition_ = value;
    }
  }

  /// <summary>Field number for the "attacker_rotation" field.</summary>
  public const int AttackerRotationFieldNumber = 5;
  private global::Vector attackerRotation_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::Vector AttackerRotation {
    get { return attackerRotation_; }
    set {
      attackerRotation_ = value;
    }
  }

  /// <summary>Field number for the "time_stamp" field.</summary>
  public const int TimeStampFieldNumber = 6;
  private long timeStamp_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long TimeStamp {
    get { return timeStamp_; }
    set {
      timeStamp_ = value;
    }
  }

  /// <summary>Field number for the "scaled_time_stamp" field.</summary>
  public const int ScaledTimeStampFieldNumber = 7;
  private long scaledTimeStamp_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long ScaledTimeStamp {
    get { return scaledTimeStamp_; }
    set {
      scaledTimeStamp_ = value;
    }
  }

  /// <summary>Field number for the "target_obj_id_list" field.</summary>
  public const int TargetObjIdListFieldNumber = 8;
  private static readonly pb::FieldCodec<ulong> _repeated_targetObjIdList_codec
      = pb::FieldCodec.ForUInt64(66);
  private readonly pbc::RepeatedField<ulong> targetObjIdList_ = new pbc::RepeatedField<ulong>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<ulong> TargetObjIdList {
    get { return targetObjIdList_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsCastSkill);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsCastSkill other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SkillSeraialId != other.SkillSeraialId) return false;
    if (AttackerObjId != other.AttackerObjId) return false;
    if (SkillId != other.SkillId) return false;
    if (!object.Equals(AttackerPosition, other.AttackerPosition)) return false;
    if (!object.Equals(AttackerRotation, other.AttackerRotation)) return false;
    if (TimeStamp != other.TimeStamp) return false;
    if (ScaledTimeStamp != other.ScaledTimeStamp) return false;
    if(!targetObjIdList_.Equals(other.targetObjIdList_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SkillSeraialId != 0UL) hash ^= SkillSeraialId.GetHashCode();
    if (AttackerObjId != 0UL) hash ^= AttackerObjId.GetHashCode();
    if (SkillId.Length != 0) hash ^= SkillId.GetHashCode();
    if (attackerPosition_ != null) hash ^= AttackerPosition.GetHashCode();
    if (attackerRotation_ != null) hash ^= AttackerRotation.GetHashCode();
    if (TimeStamp != 0L) hash ^= TimeStamp.GetHashCode();
    if (ScaledTimeStamp != 0L) hash ^= ScaledTimeStamp.GetHashCode();
    hash ^= targetObjIdList_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SkillSeraialId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(SkillSeraialId);
    }
    if (AttackerObjId != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(AttackerObjId);
    }
    if (SkillId.Length != 0) {
      output.WriteRawTag(26);
      output.WriteString(SkillId);
    }
    if (attackerPosition_ != null) {
      output.WriteRawTag(34);
      output.WriteMessage(AttackerPosition);
    }
    if (attackerRotation_ != null) {
      output.WriteRawTag(42);
      output.WriteMessage(AttackerRotation);
    }
    if (TimeStamp != 0L) {
      output.WriteRawTag(48);
      output.WriteInt64(TimeStamp);
    }
    if (ScaledTimeStamp != 0L) {
      output.WriteRawTag(56);
      output.WriteInt64(ScaledTimeStamp);
    }
    targetObjIdList_.WriteTo(output, _repeated_targetObjIdList_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SkillSeraialId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(SkillSeraialId);
    }
    if (AttackerObjId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(AttackerObjId);
    }
    if (SkillId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(SkillId);
    }
    if (attackerPosition_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(AttackerPosition);
    }
    if (attackerRotation_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(AttackerRotation);
    }
    if (TimeStamp != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(TimeStamp);
    }
    if (ScaledTimeStamp != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(ScaledTimeStamp);
    }
    size += targetObjIdList_.CalculateSize(_repeated_targetObjIdList_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsCastSkill other) {
    if (other == null) {
      return;
    }
    if (other.SkillSeraialId != 0UL) {
      SkillSeraialId = other.SkillSeraialId;
    }
    if (other.AttackerObjId != 0UL) {
      AttackerObjId = other.AttackerObjId;
    }
    if (other.SkillId.Length != 0) {
      SkillId = other.SkillId;
    }
    if (other.attackerPosition_ != null) {
      if (attackerPosition_ == null) {
        attackerPosition_ = new global::Vector();
      }
      AttackerPosition.MergeFrom(other.AttackerPosition);
    }
    if (other.attackerRotation_ != null) {
      if (attackerRotation_ == null) {
        attackerRotation_ = new global::Vector();
      }
      AttackerRotation.MergeFrom(other.AttackerRotation);
    }
    if (other.TimeStamp != 0L) {
      TimeStamp = other.TimeStamp;
    }
    if (other.ScaledTimeStamp != 0L) {
      ScaledTimeStamp = other.ScaledTimeStamp;
    }
    targetObjIdList_.Add(other.targetObjIdList_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          SkillSeraialId = input.ReadUInt64();
          break;
        }
        case 16: {
          AttackerObjId = input.ReadUInt64();
          break;
        }
        case 26: {
          SkillId = input.ReadString();
          break;
        }
        case 34: {
          if (attackerPosition_ == null) {
            attackerPosition_ = new global::Vector();
          }
          input.ReadMessage(attackerPosition_);
          break;
        }
        case 42: {
          if (attackerRotation_ == null) {
            attackerRotation_ = new global::Vector();
          }
          input.ReadMessage(attackerRotation_);
          break;
        }
        case 48: {
          TimeStamp = input.ReadInt64();
          break;
        }
        case 56: {
          ScaledTimeStamp = input.ReadInt64();
          break;
        }
        case 66:
        case 64: {
          targetObjIdList_.AddEntriesFrom(input, _repeated_targetObjIdList_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class CsCastSkillEnd : pb::IMessage<CsCastSkillEnd> {
  private static readonly pb::MessageParser<CsCastSkillEnd> _parser = new pb::MessageParser<CsCastSkillEnd>(() => new CsCastSkillEnd());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsCastSkillEnd> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[957]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsCastSkillEnd() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsCastSkillEnd(CsCastSkillEnd other) : this() {
    skillSeraialId_ = other.skillSeraialId_;
    attackerObjId_ = other.attackerObjId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsCastSkillEnd Clone() {
    return new CsCastSkillEnd(this);
  }

  /// <summary>Field number for the "skill_seraial_id" field.</summary>
  public const int SkillSeraialIdFieldNumber = 1;
  private ulong skillSeraialId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong SkillSeraialId {
    get { return skillSeraialId_; }
    set {
      skillSeraialId_ = value;
    }
  }

  /// <summary>Field number for the "attacker_obj_id" field.</summary>
  public const int AttackerObjIdFieldNumber = 2;
  private ulong attackerObjId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong AttackerObjId {
    get { return attackerObjId_; }
    set {
      attackerObjId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsCastSkillEnd);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsCastSkillEnd other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SkillSeraialId != other.SkillSeraialId) return false;
    if (AttackerObjId != other.AttackerObjId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SkillSeraialId != 0UL) hash ^= SkillSeraialId.GetHashCode();
    if (AttackerObjId != 0UL) hash ^= AttackerObjId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SkillSeraialId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(SkillSeraialId);
    }
    if (AttackerObjId != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(AttackerObjId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SkillSeraialId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(SkillSeraialId);
    }
    if (AttackerObjId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(AttackerObjId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsCastSkillEnd other) {
    if (other == null) {
      return;
    }
    if (other.SkillSeraialId != 0UL) {
      SkillSeraialId = other.SkillSeraialId;
    }
    if (other.AttackerObjId != 0UL) {
      AttackerObjId = other.AttackerObjId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          SkillSeraialId = input.ReadUInt64();
          break;
        }
        case 16: {
          AttackerObjId = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class CsCastSkillEffect : pb::IMessage<CsCastSkillEffect> {
  private static readonly pb::MessageParser<CsCastSkillEffect> _parser = new pb::MessageParser<CsCastSkillEffect>(() => new CsCastSkillEffect());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsCastSkillEffect> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[958]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsCastSkillEffect() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsCastSkillEffect(CsCastSkillEffect other) : this() {
    skillSeraialId_ = other.skillSeraialId_;
    skillStageIdx_ = other.skillStageIdx_;
    attackerObjId_ = other.attackerObjId_;
    timeStamp_ = other.timeStamp_;
    scaledTimeStamp_ = other.scaledTimeStamp_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsCastSkillEffect Clone() {
    return new CsCastSkillEffect(this);
  }

  /// <summary>Field number for the "skill_seraial_id" field.</summary>
  public const int SkillSeraialIdFieldNumber = 1;
  private ulong skillSeraialId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong SkillSeraialId {
    get { return skillSeraialId_; }
    set {
      skillSeraialId_ = value;
    }
  }

  /// <summary>Field number for the "skill_stage_idx" field.</summary>
  public const int SkillStageIdxFieldNumber = 2;
  private ulong skillStageIdx_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong SkillStageIdx {
    get { return skillStageIdx_; }
    set {
      skillStageIdx_ = value;
    }
  }

  /// <summary>Field number for the "attacker_obj_id" field.</summary>
  public const int AttackerObjIdFieldNumber = 3;
  private ulong attackerObjId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong AttackerObjId {
    get { return attackerObjId_; }
    set {
      attackerObjId_ = value;
    }
  }

  /// <summary>Field number for the "time_stamp" field.</summary>
  public const int TimeStampFieldNumber = 4;
  private long timeStamp_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long TimeStamp {
    get { return timeStamp_; }
    set {
      timeStamp_ = value;
    }
  }

  /// <summary>Field number for the "scaled_time_stamp" field.</summary>
  public const int ScaledTimeStampFieldNumber = 5;
  private long scaledTimeStamp_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long ScaledTimeStamp {
    get { return scaledTimeStamp_; }
    set {
      scaledTimeStamp_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsCastSkillEffect);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsCastSkillEffect other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SkillSeraialId != other.SkillSeraialId) return false;
    if (SkillStageIdx != other.SkillStageIdx) return false;
    if (AttackerObjId != other.AttackerObjId) return false;
    if (TimeStamp != other.TimeStamp) return false;
    if (ScaledTimeStamp != other.ScaledTimeStamp) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SkillSeraialId != 0UL) hash ^= SkillSeraialId.GetHashCode();
    if (SkillStageIdx != 0UL) hash ^= SkillStageIdx.GetHashCode();
    if (AttackerObjId != 0UL) hash ^= AttackerObjId.GetHashCode();
    if (TimeStamp != 0L) hash ^= TimeStamp.GetHashCode();
    if (ScaledTimeStamp != 0L) hash ^= ScaledTimeStamp.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SkillSeraialId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(SkillSeraialId);
    }
    if (SkillStageIdx != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(SkillStageIdx);
    }
    if (AttackerObjId != 0UL) {
      output.WriteRawTag(24);
      output.WriteUInt64(AttackerObjId);
    }
    if (TimeStamp != 0L) {
      output.WriteRawTag(32);
      output.WriteInt64(TimeStamp);
    }
    if (ScaledTimeStamp != 0L) {
      output.WriteRawTag(40);
      output.WriteInt64(ScaledTimeStamp);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SkillSeraialId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(SkillSeraialId);
    }
    if (SkillStageIdx != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(SkillStageIdx);
    }
    if (AttackerObjId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(AttackerObjId);
    }
    if (TimeStamp != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(TimeStamp);
    }
    if (ScaledTimeStamp != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(ScaledTimeStamp);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsCastSkillEffect other) {
    if (other == null) {
      return;
    }
    if (other.SkillSeraialId != 0UL) {
      SkillSeraialId = other.SkillSeraialId;
    }
    if (other.SkillStageIdx != 0UL) {
      SkillStageIdx = other.SkillStageIdx;
    }
    if (other.AttackerObjId != 0UL) {
      AttackerObjId = other.AttackerObjId;
    }
    if (other.TimeStamp != 0L) {
      TimeStamp = other.TimeStamp;
    }
    if (other.ScaledTimeStamp != 0L) {
      ScaledTimeStamp = other.ScaledTimeStamp;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          SkillSeraialId = input.ReadUInt64();
          break;
        }
        case 16: {
          SkillStageIdx = input.ReadUInt64();
          break;
        }
        case 24: {
          AttackerObjId = input.ReadUInt64();
          break;
        }
        case 32: {
          TimeStamp = input.ReadInt64();
          break;
        }
        case 40: {
          ScaledTimeStamp = input.ReadInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class ScCastSkill : pb::IMessage<ScCastSkill> {
  private static readonly pb::MessageParser<ScCastSkill> _parser = new pb::MessageParser<ScCastSkill>(() => new ScCastSkill());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScCastSkill> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[959]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScCastSkill() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScCastSkill(ScCastSkill other) : this() {
    skillSeraialId_ = other.skillSeraialId_;
    attackerObjId_ = other.attackerObjId_;
    timeStamp_ = other.timeStamp_;
    scaledTimeStamp_ = other.scaledTimeStamp_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScCastSkill Clone() {
    return new ScCastSkill(this);
  }

  /// <summary>Field number for the "skill_seraial_id" field.</summary>
  public const int SkillSeraialIdFieldNumber = 1;
  private ulong skillSeraialId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong SkillSeraialId {
    get { return skillSeraialId_; }
    set {
      skillSeraialId_ = value;
    }
  }

  /// <summary>Field number for the "attacker_obj_id" field.</summary>
  public const int AttackerObjIdFieldNumber = 2;
  private ulong attackerObjId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong AttackerObjId {
    get { return attackerObjId_; }
    set {
      attackerObjId_ = value;
    }
  }

  /// <summary>Field number for the "time_stamp" field.</summary>
  public const int TimeStampFieldNumber = 6;
  private long timeStamp_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long TimeStamp {
    get { return timeStamp_; }
    set {
      timeStamp_ = value;
    }
  }

  /// <summary>Field number for the "scaled_time_stamp" field.</summary>
  public const int ScaledTimeStampFieldNumber = 7;
  private long scaledTimeStamp_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long ScaledTimeStamp {
    get { return scaledTimeStamp_; }
    set {
      scaledTimeStamp_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScCastSkill);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScCastSkill other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SkillSeraialId != other.SkillSeraialId) return false;
    if (AttackerObjId != other.AttackerObjId) return false;
    if (TimeStamp != other.TimeStamp) return false;
    if (ScaledTimeStamp != other.ScaledTimeStamp) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SkillSeraialId != 0UL) hash ^= SkillSeraialId.GetHashCode();
    if (AttackerObjId != 0UL) hash ^= AttackerObjId.GetHashCode();
    if (TimeStamp != 0L) hash ^= TimeStamp.GetHashCode();
    if (ScaledTimeStamp != 0L) hash ^= ScaledTimeStamp.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SkillSeraialId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(SkillSeraialId);
    }
    if (AttackerObjId != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(AttackerObjId);
    }
    if (TimeStamp != 0L) {
      output.WriteRawTag(48);
      output.WriteInt64(TimeStamp);
    }
    if (ScaledTimeStamp != 0L) {
      output.WriteRawTag(56);
      output.WriteInt64(ScaledTimeStamp);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SkillSeraialId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(SkillSeraialId);
    }
    if (AttackerObjId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(AttackerObjId);
    }
    if (TimeStamp != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(TimeStamp);
    }
    if (ScaledTimeStamp != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(ScaledTimeStamp);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScCastSkill other) {
    if (other == null) {
      return;
    }
    if (other.SkillSeraialId != 0UL) {
      SkillSeraialId = other.SkillSeraialId;
    }
    if (other.AttackerObjId != 0UL) {
      AttackerObjId = other.AttackerObjId;
    }
    if (other.TimeStamp != 0L) {
      TimeStamp = other.TimeStamp;
    }
    if (other.ScaledTimeStamp != 0L) {
      ScaledTimeStamp = other.ScaledTimeStamp;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          SkillSeraialId = input.ReadUInt64();
          break;
        }
        case 16: {
          AttackerObjId = input.ReadUInt64();
          break;
        }
        case 48: {
          TimeStamp = input.ReadInt64();
          break;
        }
        case 56: {
          ScaledTimeStamp = input.ReadInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class ScSyncHp : pb::IMessage<ScSyncHp> {
  private static readonly pb::MessageParser<ScSyncHp> _parser = new pb::MessageParser<ScSyncHp>(() => new ScSyncHp());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSyncHp> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[960]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncHp() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncHp(ScSyncHp other) : this() {
    objId_ = other.objId_;
    hp_ = other.hp_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncHp Clone() {
    return new ScSyncHp(this);
  }

  /// <summary>Field number for the "obj_id" field.</summary>
  public const int ObjIdFieldNumber = 1;
  private ulong objId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong ObjId {
    get { return objId_; }
    set {
      objId_ = value;
    }
  }

  /// <summary>Field number for the "hp" field.</summary>
  public const int HpFieldNumber = 2;
  private int hp_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Hp {
    get { return hp_; }
    set {
      hp_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSyncHp);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSyncHp other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ObjId != other.ObjId) return false;
    if (Hp != other.Hp) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ObjId != 0UL) hash ^= ObjId.GetHashCode();
    if (Hp != 0) hash ^= Hp.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ObjId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(ObjId);
    }
    if (Hp != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(Hp);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ObjId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(ObjId);
    }
    if (Hp != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Hp);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSyncHp other) {
    if (other == null) {
      return;
    }
    if (other.ObjId != 0UL) {
      ObjId = other.ObjId;
    }
    if (other.Hp != 0) {
      Hp = other.Hp;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ObjId = input.ReadUInt64();
          break;
        }
        case 16: {
          Hp = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScSyncPoise : pb::IMessage<ScSyncPoise> {
  private static readonly pb::MessageParser<ScSyncPoise> _parser = new pb::MessageParser<ScSyncPoise>(() => new ScSyncPoise());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSyncPoise> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[961]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncPoise() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncPoise(ScSyncPoise other) : this() {
    objId_ = other.objId_;
    poise_ = other.poise_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncPoise Clone() {
    return new ScSyncPoise(this);
  }

  /// <summary>Field number for the "obj_id" field.</summary>
  public const int ObjIdFieldNumber = 1;
  private ulong objId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong ObjId {
    get { return objId_; }
    set {
      objId_ = value;
    }
  }

  /// <summary>Field number for the "poise" field.</summary>
  public const int PoiseFieldNumber = 2;
  private int poise_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Poise {
    get { return poise_; }
    set {
      poise_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSyncPoise);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSyncPoise other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ObjId != other.ObjId) return false;
    if (Poise != other.Poise) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ObjId != 0UL) hash ^= ObjId.GetHashCode();
    if (Poise != 0) hash ^= Poise.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ObjId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(ObjId);
    }
    if (Poise != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(Poise);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ObjId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(ObjId);
    }
    if (Poise != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Poise);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSyncPoise other) {
    if (other == null) {
      return;
    }
    if (other.ObjId != 0UL) {
      ObjId = other.ObjId;
    }
    if (other.Poise != 0) {
      Poise = other.Poise;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ObjId = input.ReadUInt64();
          break;
        }
        case 16: {
          Poise = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScSyncUltimateSpCellCnt : pb::IMessage<ScSyncUltimateSpCellCnt> {
  private static readonly pb::MessageParser<ScSyncUltimateSpCellCnt> _parser = new pb::MessageParser<ScSyncUltimateSpCellCnt>(() => new ScSyncUltimateSpCellCnt());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSyncUltimateSpCellCnt> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[962]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncUltimateSpCellCnt() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncUltimateSpCellCnt(ScSyncUltimateSpCellCnt other) : this() {
    objId_ = other.objId_;
    ultimateSpCellCnt_ = other.ultimateSpCellCnt_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncUltimateSpCellCnt Clone() {
    return new ScSyncUltimateSpCellCnt(this);
  }

  /// <summary>Field number for the "obj_id" field.</summary>
  public const int ObjIdFieldNumber = 1;
  private ulong objId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong ObjId {
    get { return objId_; }
    set {
      objId_ = value;
    }
  }

  /// <summary>Field number for the "ultimate_sp_cell_cnt" field.</summary>
  public const int UltimateSpCellCntFieldNumber = 2;
  private int ultimateSpCellCnt_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int UltimateSpCellCnt {
    get { return ultimateSpCellCnt_; }
    set {
      ultimateSpCellCnt_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSyncUltimateSpCellCnt);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSyncUltimateSpCellCnt other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ObjId != other.ObjId) return false;
    if (UltimateSpCellCnt != other.UltimateSpCellCnt) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ObjId != 0UL) hash ^= ObjId.GetHashCode();
    if (UltimateSpCellCnt != 0) hash ^= UltimateSpCellCnt.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ObjId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(ObjId);
    }
    if (UltimateSpCellCnt != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(UltimateSpCellCnt);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ObjId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(ObjId);
    }
    if (UltimateSpCellCnt != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(UltimateSpCellCnt);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSyncUltimateSpCellCnt other) {
    if (other == null) {
      return;
    }
    if (other.ObjId != 0UL) {
      ObjId = other.ObjId;
    }
    if (other.UltimateSpCellCnt != 0) {
      UltimateSpCellCnt = other.UltimateSpCellCnt;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ObjId = input.ReadUInt64();
          break;
        }
        case 16: {
          UltimateSpCellCnt = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class SnsMoment : pb::IMessage<SnsMoment> {
  private static readonly pb::MessageParser<SnsMoment> _parser = new pb::MessageParser<SnsMoment>(() => new SnsMoment());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<SnsMoment> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[963]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SnsMoment() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SnsMoment(SnsMoment other) : this() {
    momentId_ = other.momentId_;
    timestamp_ = other.timestamp_;
    read_ = other.read_;
    option_ = other.option_.Clone();
    like_ = other.like_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SnsMoment Clone() {
    return new SnsMoment(this);
  }

  /// <summary>Field number for the "moment_id" field.</summary>
  public const int MomentIdFieldNumber = 1;
  private string momentId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string MomentId {
    get { return momentId_; }
    set {
      momentId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "timestamp" field.</summary>
  public const int TimestampFieldNumber = 2;
  private long timestamp_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long Timestamp {
    get { return timestamp_; }
    set {
      timestamp_ = value;
    }
  }

  /// <summary>Field number for the "read" field.</summary>
  public const int ReadFieldNumber = 3;
  private bool read_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Read {
    get { return read_; }
    set {
      read_ = value;
    }
  }

  /// <summary>Field number for the "option" field.</summary>
  public const int OptionFieldNumber = 4;
  private static readonly pb::FieldCodec<int> _repeated_option_codec
      = pb::FieldCodec.ForInt32(34);
  private readonly pbc::RepeatedField<int> option_ = new pbc::RepeatedField<int>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<int> Option {
    get { return option_; }
  }

  /// <summary>Field number for the "like" field.</summary>
  public const int LikeFieldNumber = 5;
  private bool like_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Like {
    get { return like_; }
    set {
      like_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as SnsMoment);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(SnsMoment other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (MomentId != other.MomentId) return false;
    if (Timestamp != other.Timestamp) return false;
    if (Read != other.Read) return false;
    if(!option_.Equals(other.option_)) return false;
    if (Like != other.Like) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (MomentId.Length != 0) hash ^= MomentId.GetHashCode();
    if (Timestamp != 0L) hash ^= Timestamp.GetHashCode();
    if (Read != false) hash ^= Read.GetHashCode();
    hash ^= option_.GetHashCode();
    if (Like != false) hash ^= Like.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (MomentId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(MomentId);
    }
    if (Timestamp != 0L) {
      output.WriteRawTag(16);
      output.WriteInt64(Timestamp);
    }
    if (Read != false) {
      output.WriteRawTag(24);
      output.WriteBool(Read);
    }
    option_.WriteTo(output, _repeated_option_codec);
    if (Like != false) {
      output.WriteRawTag(40);
      output.WriteBool(Like);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (MomentId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(MomentId);
    }
    if (Timestamp != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(Timestamp);
    }
    if (Read != false) {
      size += 1 + 1;
    }
    size += option_.CalculateSize(_repeated_option_codec);
    if (Like != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(SnsMoment other) {
    if (other == null) {
      return;
    }
    if (other.MomentId.Length != 0) {
      MomentId = other.MomentId;
    }
    if (other.Timestamp != 0L) {
      Timestamp = other.Timestamp;
    }
    if (other.Read != false) {
      Read = other.Read;
    }
    option_.Add(other.option_);
    if (other.Like != false) {
      Like = other.Like;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          MomentId = input.ReadString();
          break;
        }
        case 16: {
          Timestamp = input.ReadInt64();
          break;
        }
        case 24: {
          Read = input.ReadBool();
          break;
        }
        case 34:
        case 32: {
          option_.AddEntriesFrom(input, _repeated_option_codec);
          break;
        }
        case 40: {
          Like = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class SnsChatInfo : pb::IMessage<SnsChatInfo> {
  private static readonly pb::MessageParser<SnsChatInfo> _parser = new pb::MessageParser<SnsChatInfo>(() => new SnsChatInfo());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<SnsChatInfo> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[964]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SnsChatInfo() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SnsChatInfo(SnsChatInfo other) : this() {
    chatId_ = other.chatId_;
    chatType_ = other.chatType_;
    timestamp_ = other.timestamp_;
    memberNum_ = other.memberNum_;
    dialogs_ = other.dialogs_.Clone();
    signatureId_ = other.signatureId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SnsChatInfo Clone() {
    return new SnsChatInfo(this);
  }

  /// <summary>Field number for the "chat_id" field.</summary>
  public const int ChatIdFieldNumber = 1;
  private string chatId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ChatId {
    get { return chatId_; }
    set {
      chatId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "chat_type" field.</summary>
  public const int ChatTypeFieldNumber = 2;
  private int chatType_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ChatType {
    get { return chatType_; }
    set {
      chatType_ = value;
    }
  }

  /// <summary>Field number for the "timestamp" field.</summary>
  public const int TimestampFieldNumber = 3;
  private long timestamp_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long Timestamp {
    get { return timestamp_; }
    set {
      timestamp_ = value;
    }
  }

  /// <summary>Field number for the "member_num" field.</summary>
  public const int MemberNumFieldNumber = 4;
  private int memberNum_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int MemberNum {
    get { return memberNum_; }
    set {
      memberNum_ = value;
    }
  }

  /// <summary>Field number for the "dialogs" field.</summary>
  public const int DialogsFieldNumber = 5;
  private static readonly pb::FieldCodec<global::SnsDialogInfo> _repeated_dialogs_codec
      = pb::FieldCodec.ForMessage(42, global::SnsDialogInfo.Parser);
  private readonly pbc::RepeatedField<global::SnsDialogInfo> dialogs_ = new pbc::RepeatedField<global::SnsDialogInfo>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::SnsDialogInfo> Dialogs {
    get { return dialogs_; }
  }

  /// <summary>Field number for the "signature_id" field.</summary>
  public const int SignatureIdFieldNumber = 6;
  private string signatureId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string SignatureId {
    get { return signatureId_; }
    set {
      signatureId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as SnsChatInfo);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(SnsChatInfo other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ChatId != other.ChatId) return false;
    if (ChatType != other.ChatType) return false;
    if (Timestamp != other.Timestamp) return false;
    if (MemberNum != other.MemberNum) return false;
    if(!dialogs_.Equals(other.dialogs_)) return false;
    if (SignatureId != other.SignatureId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ChatId.Length != 0) hash ^= ChatId.GetHashCode();
    if (ChatType != 0) hash ^= ChatType.GetHashCode();
    if (Timestamp != 0L) hash ^= Timestamp.GetHashCode();
    if (MemberNum != 0) hash ^= MemberNum.GetHashCode();
    hash ^= dialogs_.GetHashCode();
    if (SignatureId.Length != 0) hash ^= SignatureId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ChatId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(ChatId);
    }
    if (ChatType != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(ChatType);
    }
    if (Timestamp != 0L) {
      output.WriteRawTag(24);
      output.WriteInt64(Timestamp);
    }
    if (MemberNum != 0) {
      output.WriteRawTag(32);
      output.WriteInt32(MemberNum);
    }
    dialogs_.WriteTo(output, _repeated_dialogs_codec);
    if (SignatureId.Length != 0) {
      output.WriteRawTag(50);
      output.WriteString(SignatureId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ChatId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ChatId);
    }
    if (ChatType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ChatType);
    }
    if (Timestamp != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(Timestamp);
    }
    if (MemberNum != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(MemberNum);
    }
    size += dialogs_.CalculateSize(_repeated_dialogs_codec);
    if (SignatureId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(SignatureId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(SnsChatInfo other) {
    if (other == null) {
      return;
    }
    if (other.ChatId.Length != 0) {
      ChatId = other.ChatId;
    }
    if (other.ChatType != 0) {
      ChatType = other.ChatType;
    }
    if (other.Timestamp != 0L) {
      Timestamp = other.Timestamp;
    }
    if (other.MemberNum != 0) {
      MemberNum = other.MemberNum;
    }
    dialogs_.Add(other.dialogs_);
    if (other.SignatureId.Length != 0) {
      SignatureId = other.SignatureId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          ChatId = input.ReadString();
          break;
        }
        case 16: {
          ChatType = input.ReadInt32();
          break;
        }
        case 24: {
          Timestamp = input.ReadInt64();
          break;
        }
        case 32: {
          MemberNum = input.ReadInt32();
          break;
        }
        case 42: {
          dialogs_.AddEntriesFrom(input, _repeated_dialogs_codec);
          break;
        }
        case 50: {
          SignatureId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class SnsDialogInfo : pb::IMessage<SnsDialogInfo> {
  private static readonly pb::MessageParser<SnsDialogInfo> _parser = new pb::MessageParser<SnsDialogInfo>(() => new SnsDialogInfo());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<SnsDialogInfo> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[965]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SnsDialogInfo() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SnsDialogInfo(SnsDialogInfo other) : this() {
    dialogId_ = other.dialogId_;
    timestamp_ = other.timestamp_;
    curContentId_ = other.curContentId_;
    chatId_ = other.chatId_;
    options_ = other.options_.Clone();
    dialogType_ = other.dialogType_;
    isEnd_ = other.isEnd_;
    isRead_ = other.isRead_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SnsDialogInfo Clone() {
    return new SnsDialogInfo(this);
  }

  /// <summary>Field number for the "dialog_id" field.</summary>
  public const int DialogIdFieldNumber = 1;
  private string dialogId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string DialogId {
    get { return dialogId_; }
    set {
      dialogId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "timestamp" field.</summary>
  public const int TimestampFieldNumber = 2;
  private long timestamp_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long Timestamp {
    get { return timestamp_; }
    set {
      timestamp_ = value;
    }
  }

  /// <summary>Field number for the "cur_content_id" field.</summary>
  public const int CurContentIdFieldNumber = 3;
  private string curContentId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string CurContentId {
    get { return curContentId_; }
    set {
      curContentId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "chat_id" field.</summary>
  public const int ChatIdFieldNumber = 5;
  private string chatId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ChatId {
    get { return chatId_; }
    set {
      chatId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "options" field.</summary>
  public const int OptionsFieldNumber = 4;
  private static readonly pb::FieldCodec<int> _repeated_options_codec
      = pb::FieldCodec.ForInt32(34);
  private readonly pbc::RepeatedField<int> options_ = new pbc::RepeatedField<int>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<int> Options {
    get { return options_; }
  }

  /// <summary>Field number for the "dialog_type" field.</summary>
  public const int DialogTypeFieldNumber = 6;
  private int dialogType_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int DialogType {
    get { return dialogType_; }
    set {
      dialogType_ = value;
    }
  }

  /// <summary>Field number for the "is_end" field.</summary>
  public const int IsEndFieldNumber = 7;
  private bool isEnd_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool IsEnd {
    get { return isEnd_; }
    set {
      isEnd_ = value;
    }
  }

  /// <summary>Field number for the "is_read" field.</summary>
  public const int IsReadFieldNumber = 8;
  private bool isRead_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool IsRead {
    get { return isRead_; }
    set {
      isRead_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as SnsDialogInfo);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(SnsDialogInfo other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (DialogId != other.DialogId) return false;
    if (Timestamp != other.Timestamp) return false;
    if (CurContentId != other.CurContentId) return false;
    if (ChatId != other.ChatId) return false;
    if(!options_.Equals(other.options_)) return false;
    if (DialogType != other.DialogType) return false;
    if (IsEnd != other.IsEnd) return false;
    if (IsRead != other.IsRead) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (DialogId.Length != 0) hash ^= DialogId.GetHashCode();
    if (Timestamp != 0L) hash ^= Timestamp.GetHashCode();
    if (CurContentId.Length != 0) hash ^= CurContentId.GetHashCode();
    if (ChatId.Length != 0) hash ^= ChatId.GetHashCode();
    hash ^= options_.GetHashCode();
    if (DialogType != 0) hash ^= DialogType.GetHashCode();
    if (IsEnd != false) hash ^= IsEnd.GetHashCode();
    if (IsRead != false) hash ^= IsRead.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (DialogId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(DialogId);
    }
    if (Timestamp != 0L) {
      output.WriteRawTag(16);
      output.WriteInt64(Timestamp);
    }
    if (CurContentId.Length != 0) {
      output.WriteRawTag(26);
      output.WriteString(CurContentId);
    }
    options_.WriteTo(output, _repeated_options_codec);
    if (ChatId.Length != 0) {
      output.WriteRawTag(42);
      output.WriteString(ChatId);
    }
    if (DialogType != 0) {
      output.WriteRawTag(48);
      output.WriteInt32(DialogType);
    }
    if (IsEnd != false) {
      output.WriteRawTag(56);
      output.WriteBool(IsEnd);
    }
    if (IsRead != false) {
      output.WriteRawTag(64);
      output.WriteBool(IsRead);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (DialogId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(DialogId);
    }
    if (Timestamp != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(Timestamp);
    }
    if (CurContentId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(CurContentId);
    }
    if (ChatId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ChatId);
    }
    size += options_.CalculateSize(_repeated_options_codec);
    if (DialogType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(DialogType);
    }
    if (IsEnd != false) {
      size += 1 + 1;
    }
    if (IsRead != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(SnsDialogInfo other) {
    if (other == null) {
      return;
    }
    if (other.DialogId.Length != 0) {
      DialogId = other.DialogId;
    }
    if (other.Timestamp != 0L) {
      Timestamp = other.Timestamp;
    }
    if (other.CurContentId.Length != 0) {
      CurContentId = other.CurContentId;
    }
    if (other.ChatId.Length != 0) {
      ChatId = other.ChatId;
    }
    options_.Add(other.options_);
    if (other.DialogType != 0) {
      DialogType = other.DialogType;
    }
    if (other.IsEnd != false) {
      IsEnd = other.IsEnd;
    }
    if (other.IsRead != false) {
      IsRead = other.IsRead;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          DialogId = input.ReadString();
          break;
        }
        case 16: {
          Timestamp = input.ReadInt64();
          break;
        }
        case 26: {
          CurContentId = input.ReadString();
          break;
        }
        case 34:
        case 32: {
          options_.AddEntriesFrom(input, _repeated_options_codec);
          break;
        }
        case 42: {
          ChatId = input.ReadString();
          break;
        }
        case 48: {
          DialogType = input.ReadInt32();
          break;
        }
        case 56: {
          IsEnd = input.ReadBool();
          break;
        }
        case 64: {
          IsRead = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class CsSnsGetList : pb::IMessage<CsSnsGetList> {
  private static readonly pb::MessageParser<CsSnsGetList> _parser = new pb::MessageParser<CsSnsGetList>(() => new CsSnsGetList());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsSnsGetList> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[966]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSnsGetList() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSnsGetList(CsSnsGetList other) : this() {
    snsType_ = other.snsType_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSnsGetList Clone() {
    return new CsSnsGetList(this);
  }

  /// <summary>Field number for the "sns_type" field.</summary>
  public const int SnsTypeFieldNumber = 1;
  private global::SnsGetType snsType_ = 0;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::SnsGetType SnsType {
    get { return snsType_; }
    set {
      snsType_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsSnsGetList);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsSnsGetList other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SnsType != other.SnsType) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SnsType != 0) hash ^= SnsType.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SnsType != 0) {
      output.WriteRawTag(8);
      output.WriteEnum((int) SnsType);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SnsType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) SnsType);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsSnsGetList other) {
    if (other == null) {
      return;
    }
    if (other.SnsType != 0) {
      SnsType = other.SnsType;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          snsType_ = (global::SnsGetType) input.ReadEnum();
          break;
        }
      }
    }
  }

}

public sealed partial class ScSnsGetMomentList : pb::IMessage<ScSnsGetMomentList> {
  private static readonly pb::MessageParser<ScSnsGetMomentList> _parser = new pb::MessageParser<ScSnsGetMomentList>(() => new ScSnsGetMomentList());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSnsGetMomentList> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[967]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSnsGetMomentList() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSnsGetMomentList(ScSnsGetMomentList other) : this() {
    momentList_ = other.momentList_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSnsGetMomentList Clone() {
    return new ScSnsGetMomentList(this);
  }

  /// <summary>Field number for the "moment_list" field.</summary>
  public const int MomentListFieldNumber = 1;
  private static readonly pb::FieldCodec<global::SnsMoment> _repeated_momentList_codec
      = pb::FieldCodec.ForMessage(10, global::SnsMoment.Parser);
  private readonly pbc::RepeatedField<global::SnsMoment> momentList_ = new pbc::RepeatedField<global::SnsMoment>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::SnsMoment> MomentList {
    get { return momentList_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSnsGetMomentList);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSnsGetMomentList other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!momentList_.Equals(other.momentList_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= momentList_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    momentList_.WriteTo(output, _repeated_momentList_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += momentList_.CalculateSize(_repeated_momentList_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSnsGetMomentList other) {
    if (other == null) {
      return;
    }
    momentList_.Add(other.momentList_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          momentList_.AddEntriesFrom(input, _repeated_momentList_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScSnsGetChatList : pb::IMessage<ScSnsGetChatList> {
  private static readonly pb::MessageParser<ScSnsGetChatList> _parser = new pb::MessageParser<ScSnsGetChatList>(() => new ScSnsGetChatList());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSnsGetChatList> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[968]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSnsGetChatList() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSnsGetChatList(ScSnsGetChatList other) : this() {
    chatList_ = other.chatList_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSnsGetChatList Clone() {
    return new ScSnsGetChatList(this);
  }

  /// <summary>Field number for the "chat_list" field.</summary>
  public const int ChatListFieldNumber = 1;
  private static readonly pb::FieldCodec<global::SnsChatInfo> _repeated_chatList_codec
      = pb::FieldCodec.ForMessage(10, global::SnsChatInfo.Parser);
  private readonly pbc::RepeatedField<global::SnsChatInfo> chatList_ = new pbc::RepeatedField<global::SnsChatInfo>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::SnsChatInfo> ChatList {
    get { return chatList_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSnsGetChatList);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSnsGetChatList other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!chatList_.Equals(other.chatList_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= chatList_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    chatList_.WriteTo(output, _repeated_chatList_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += chatList_.CalculateSize(_repeated_chatList_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSnsGetChatList other) {
    if (other == null) {
      return;
    }
    chatList_.Add(other.chatList_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          chatList_.AddEntriesFrom(input, _repeated_chatList_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScSyncSnsChatModify : pb::IMessage<ScSyncSnsChatModify> {
  private static readonly pb::MessageParser<ScSyncSnsChatModify> _parser = new pb::MessageParser<ScSyncSnsChatModify>(() => new ScSyncSnsChatModify());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSyncSnsChatModify> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[969]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncSnsChatModify() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncSnsChatModify(ScSyncSnsChatModify other) : this() {
    chatId_ = other.chatId_;
    chatType_ = other.chatType_;
    memberNum_ = other.memberNum_;
    signatureId_ = other.signatureId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncSnsChatModify Clone() {
    return new ScSyncSnsChatModify(this);
  }

  /// <summary>Field number for the "chat_id" field.</summary>
  public const int ChatIdFieldNumber = 1;
  private string chatId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ChatId {
    get { return chatId_; }
    set {
      chatId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "chat_type" field.</summary>
  public const int ChatTypeFieldNumber = 2;
  private int chatType_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ChatType {
    get { return chatType_; }
    set {
      chatType_ = value;
    }
  }

  /// <summary>Field number for the "member_num" field.</summary>
  public const int MemberNumFieldNumber = 3;
  private int memberNum_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int MemberNum {
    get { return memberNum_; }
    set {
      memberNum_ = value;
    }
  }

  /// <summary>Field number for the "signature_id" field.</summary>
  public const int SignatureIdFieldNumber = 4;
  private string signatureId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string SignatureId {
    get { return signatureId_; }
    set {
      signatureId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSyncSnsChatModify);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSyncSnsChatModify other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ChatId != other.ChatId) return false;
    if (ChatType != other.ChatType) return false;
    if (MemberNum != other.MemberNum) return false;
    if (SignatureId != other.SignatureId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ChatId.Length != 0) hash ^= ChatId.GetHashCode();
    if (ChatType != 0) hash ^= ChatType.GetHashCode();
    if (MemberNum != 0) hash ^= MemberNum.GetHashCode();
    if (SignatureId.Length != 0) hash ^= SignatureId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ChatId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(ChatId);
    }
    if (ChatType != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(ChatType);
    }
    if (MemberNum != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(MemberNum);
    }
    if (SignatureId.Length != 0) {
      output.WriteRawTag(34);
      output.WriteString(SignatureId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ChatId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ChatId);
    }
    if (ChatType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ChatType);
    }
    if (MemberNum != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(MemberNum);
    }
    if (SignatureId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(SignatureId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSyncSnsChatModify other) {
    if (other == null) {
      return;
    }
    if (other.ChatId.Length != 0) {
      ChatId = other.ChatId;
    }
    if (other.ChatType != 0) {
      ChatType = other.ChatType;
    }
    if (other.MemberNum != 0) {
      MemberNum = other.MemberNum;
    }
    if (other.SignatureId.Length != 0) {
      SignatureId = other.SignatureId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          ChatId = input.ReadString();
          break;
        }
        case 16: {
          ChatType = input.ReadInt32();
          break;
        }
        case 24: {
          MemberNum = input.ReadInt32();
          break;
        }
        case 34: {
          SignatureId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class CsSnsMomentRead : pb::IMessage<CsSnsMomentRead> {
  private static readonly pb::MessageParser<CsSnsMomentRead> _parser = new pb::MessageParser<CsSnsMomentRead>(() => new CsSnsMomentRead());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsSnsMomentRead> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[970]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSnsMomentRead() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSnsMomentRead(CsSnsMomentRead other) : this() {
    momentId_ = other.momentId_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSnsMomentRead Clone() {
    return new CsSnsMomentRead(this);
  }

  /// <summary>Field number for the "moment_id" field.</summary>
  public const int MomentIdFieldNumber = 1;
  private static readonly pb::FieldCodec<string> _repeated_momentId_codec
      = pb::FieldCodec.ForString(10);
  private readonly pbc::RepeatedField<string> momentId_ = new pbc::RepeatedField<string>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<string> MomentId {
    get { return momentId_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsSnsMomentRead);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsSnsMomentRead other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!momentId_.Equals(other.momentId_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= momentId_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    momentId_.WriteTo(output, _repeated_momentId_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += momentId_.CalculateSize(_repeated_momentId_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsSnsMomentRead other) {
    if (other == null) {
      return;
    }
    momentId_.Add(other.momentId_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          momentId_.AddEntriesFrom(input, _repeated_momentId_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScSnsMomentRead : pb::IMessage<ScSnsMomentRead> {
  private static readonly pb::MessageParser<ScSnsMomentRead> _parser = new pb::MessageParser<ScSnsMomentRead>(() => new ScSnsMomentRead());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSnsMomentRead> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[971]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSnsMomentRead() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSnsMomentRead(ScSnsMomentRead other) : this() {
    momentId_ = other.momentId_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSnsMomentRead Clone() {
    return new ScSnsMomentRead(this);
  }

  /// <summary>Field number for the "moment_id" field.</summary>
  public const int MomentIdFieldNumber = 1;
  private static readonly pb::FieldCodec<string> _repeated_momentId_codec
      = pb::FieldCodec.ForString(10);
  private readonly pbc::RepeatedField<string> momentId_ = new pbc::RepeatedField<string>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<string> MomentId {
    get { return momentId_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSnsMomentRead);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSnsMomentRead other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!momentId_.Equals(other.momentId_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= momentId_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    momentId_.WriteTo(output, _repeated_momentId_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += momentId_.CalculateSize(_repeated_momentId_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSnsMomentRead other) {
    if (other == null) {
      return;
    }
    momentId_.Add(other.momentId_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          momentId_.AddEntriesFrom(input, _repeated_momentId_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScSyncSnsAddDialog : pb::IMessage<ScSyncSnsAddDialog> {
  private static readonly pb::MessageParser<ScSyncSnsAddDialog> _parser = new pb::MessageParser<ScSyncSnsAddDialog>(() => new ScSyncSnsAddDialog());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSyncSnsAddDialog> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[972]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncSnsAddDialog() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncSnsAddDialog(ScSyncSnsAddDialog other) : this() {
    chatId_ = other.chatId_;
    chatType_ = other.chatType_;
    timestamp_ = other.timestamp_;
    dialogInfo_ = other.dialogInfo_ != null ? other.dialogInfo_.Clone() : null;
    memberNum_ = other.memberNum_;
    signatureId_ = other.signatureId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncSnsAddDialog Clone() {
    return new ScSyncSnsAddDialog(this);
  }

  /// <summary>Field number for the "chat_id" field.</summary>
  public const int ChatIdFieldNumber = 1;
  private string chatId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ChatId {
    get { return chatId_; }
    set {
      chatId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "chat_type" field.</summary>
  public const int ChatTypeFieldNumber = 2;
  private int chatType_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ChatType {
    get { return chatType_; }
    set {
      chatType_ = value;
    }
  }

  /// <summary>Field number for the "timestamp" field.</summary>
  public const int TimestampFieldNumber = 3;
  private long timestamp_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long Timestamp {
    get { return timestamp_; }
    set {
      timestamp_ = value;
    }
  }

  /// <summary>Field number for the "dialog_info" field.</summary>
  public const int DialogInfoFieldNumber = 4;
  private global::SnsDialogInfo dialogInfo_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::SnsDialogInfo DialogInfo {
    get { return dialogInfo_; }
    set {
      dialogInfo_ = value;
    }
  }

  /// <summary>Field number for the "member_num" field.</summary>
  public const int MemberNumFieldNumber = 5;
  private int memberNum_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int MemberNum {
    get { return memberNum_; }
    set {
      memberNum_ = value;
    }
  }

  /// <summary>Field number for the "signature_id" field.</summary>
  public const int SignatureIdFieldNumber = 6;
  private string signatureId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string SignatureId {
    get { return signatureId_; }
    set {
      signatureId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSyncSnsAddDialog);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSyncSnsAddDialog other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ChatId != other.ChatId) return false;
    if (ChatType != other.ChatType) return false;
    if (Timestamp != other.Timestamp) return false;
    if (!object.Equals(DialogInfo, other.DialogInfo)) return false;
    if (MemberNum != other.MemberNum) return false;
    if (SignatureId != other.SignatureId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ChatId.Length != 0) hash ^= ChatId.GetHashCode();
    if (ChatType != 0) hash ^= ChatType.GetHashCode();
    if (Timestamp != 0L) hash ^= Timestamp.GetHashCode();
    if (dialogInfo_ != null) hash ^= DialogInfo.GetHashCode();
    if (MemberNum != 0) hash ^= MemberNum.GetHashCode();
    if (SignatureId.Length != 0) hash ^= SignatureId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ChatId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(ChatId);
    }
    if (ChatType != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(ChatType);
    }
    if (Timestamp != 0L) {
      output.WriteRawTag(24);
      output.WriteInt64(Timestamp);
    }
    if (dialogInfo_ != null) {
      output.WriteRawTag(34);
      output.WriteMessage(DialogInfo);
    }
    if (MemberNum != 0) {
      output.WriteRawTag(40);
      output.WriteInt32(MemberNum);
    }
    if (SignatureId.Length != 0) {
      output.WriteRawTag(50);
      output.WriteString(SignatureId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ChatId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ChatId);
    }
    if (ChatType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ChatType);
    }
    if (Timestamp != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(Timestamp);
    }
    if (dialogInfo_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(DialogInfo);
    }
    if (MemberNum != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(MemberNum);
    }
    if (SignatureId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(SignatureId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSyncSnsAddDialog other) {
    if (other == null) {
      return;
    }
    if (other.ChatId.Length != 0) {
      ChatId = other.ChatId;
    }
    if (other.ChatType != 0) {
      ChatType = other.ChatType;
    }
    if (other.Timestamp != 0L) {
      Timestamp = other.Timestamp;
    }
    if (other.dialogInfo_ != null) {
      if (dialogInfo_ == null) {
        dialogInfo_ = new global::SnsDialogInfo();
      }
      DialogInfo.MergeFrom(other.DialogInfo);
    }
    if (other.MemberNum != 0) {
      MemberNum = other.MemberNum;
    }
    if (other.SignatureId.Length != 0) {
      SignatureId = other.SignatureId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          ChatId = input.ReadString();
          break;
        }
        case 16: {
          ChatType = input.ReadInt32();
          break;
        }
        case 24: {
          Timestamp = input.ReadInt64();
          break;
        }
        case 34: {
          if (dialogInfo_ == null) {
            dialogInfo_ = new global::SnsDialogInfo();
          }
          input.ReadMessage(dialogInfo_);
          break;
        }
        case 40: {
          MemberNum = input.ReadInt32();
          break;
        }
        case 50: {
          SignatureId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class ScSyncSnsAddMoment : pb::IMessage<ScSyncSnsAddMoment> {
  private static readonly pb::MessageParser<ScSyncSnsAddMoment> _parser = new pb::MessageParser<ScSyncSnsAddMoment>(() => new ScSyncSnsAddMoment());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSyncSnsAddMoment> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[973]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncSnsAddMoment() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncSnsAddMoment(ScSyncSnsAddMoment other) : this() {
    momentInfo_ = other.momentInfo_ != null ? other.momentInfo_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncSnsAddMoment Clone() {
    return new ScSyncSnsAddMoment(this);
  }

  /// <summary>Field number for the "moment_info" field.</summary>
  public const int MomentInfoFieldNumber = 1;
  private global::SnsMoment momentInfo_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::SnsMoment MomentInfo {
    get { return momentInfo_; }
    set {
      momentInfo_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSyncSnsAddMoment);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSyncSnsAddMoment other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!object.Equals(MomentInfo, other.MomentInfo)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (momentInfo_ != null) hash ^= MomentInfo.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (momentInfo_ != null) {
      output.WriteRawTag(10);
      output.WriteMessage(MomentInfo);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (momentInfo_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(MomentInfo);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSyncSnsAddMoment other) {
    if (other == null) {
      return;
    }
    if (other.momentInfo_ != null) {
      if (momentInfo_ == null) {
        momentInfo_ = new global::SnsMoment();
      }
      MomentInfo.MergeFrom(other.MomentInfo);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          if (momentInfo_ == null) {
            momentInfo_ = new global::SnsMoment();
          }
          input.ReadMessage(momentInfo_);
          break;
        }
      }
    }
  }

}

public sealed partial class CsSnsMomentOption : pb::IMessage<CsSnsMomentOption> {
  private static readonly pb::MessageParser<CsSnsMomentOption> _parser = new pb::MessageParser<CsSnsMomentOption>(() => new CsSnsMomentOption());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsSnsMomentOption> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[974]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSnsMomentOption() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSnsMomentOption(CsSnsMomentOption other) : this() {
    momentId_ = other.momentId_;
    option_ = other.option_.Clone();
    like_ = other.like_;
    optionType_ = other.optionType_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSnsMomentOption Clone() {
    return new CsSnsMomentOption(this);
  }

  /// <summary>Field number for the "moment_id" field.</summary>
  public const int MomentIdFieldNumber = 1;
  private string momentId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string MomentId {
    get { return momentId_; }
    set {
      momentId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "option" field.</summary>
  public const int OptionFieldNumber = 2;
  private static readonly pb::FieldCodec<int> _repeated_option_codec
      = pb::FieldCodec.ForInt32(18);
  private readonly pbc::RepeatedField<int> option_ = new pbc::RepeatedField<int>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<int> Option {
    get { return option_; }
  }

  /// <summary>Field number for the "like" field.</summary>
  public const int LikeFieldNumber = 3;
  private bool like_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Like {
    get { return like_; }
    set {
      like_ = value;
    }
  }

  /// <summary>Field number for the "option_type" field.</summary>
  public const int OptionTypeFieldNumber = 4;
  private global::SnsMomentOption optionType_ = 0;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::SnsMomentOption OptionType {
    get { return optionType_; }
    set {
      optionType_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsSnsMomentOption);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsSnsMomentOption other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (MomentId != other.MomentId) return false;
    if(!option_.Equals(other.option_)) return false;
    if (Like != other.Like) return false;
    if (OptionType != other.OptionType) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (MomentId.Length != 0) hash ^= MomentId.GetHashCode();
    hash ^= option_.GetHashCode();
    if (Like != false) hash ^= Like.GetHashCode();
    if (OptionType != 0) hash ^= OptionType.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (MomentId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(MomentId);
    }
    option_.WriteTo(output, _repeated_option_codec);
    if (Like != false) {
      output.WriteRawTag(24);
      output.WriteBool(Like);
    }
    if (OptionType != 0) {
      output.WriteRawTag(32);
      output.WriteEnum((int) OptionType);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (MomentId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(MomentId);
    }
    size += option_.CalculateSize(_repeated_option_codec);
    if (Like != false) {
      size += 1 + 1;
    }
    if (OptionType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) OptionType);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsSnsMomentOption other) {
    if (other == null) {
      return;
    }
    if (other.MomentId.Length != 0) {
      MomentId = other.MomentId;
    }
    option_.Add(other.option_);
    if (other.Like != false) {
      Like = other.Like;
    }
    if (other.OptionType != 0) {
      OptionType = other.OptionType;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          MomentId = input.ReadString();
          break;
        }
        case 18:
        case 16: {
          option_.AddEntriesFrom(input, _repeated_option_codec);
          break;
        }
        case 24: {
          Like = input.ReadBool();
          break;
        }
        case 32: {
          optionType_ = (global::SnsMomentOption) input.ReadEnum();
          break;
        }
      }
    }
  }

}

public sealed partial class ScSnsMomentOption : pb::IMessage<ScSnsMomentOption> {
  private static readonly pb::MessageParser<ScSnsMomentOption> _parser = new pb::MessageParser<ScSnsMomentOption>(() => new ScSnsMomentOption());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSnsMomentOption> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[975]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSnsMomentOption() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSnsMomentOption(ScSnsMomentOption other) : this() {
    momentId_ = other.momentId_;
    option_ = other.option_.Clone();
    like_ = other.like_;
    optionType_ = other.optionType_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSnsMomentOption Clone() {
    return new ScSnsMomentOption(this);
  }

  /// <summary>Field number for the "moment_id" field.</summary>
  public const int MomentIdFieldNumber = 1;
  private string momentId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string MomentId {
    get { return momentId_; }
    set {
      momentId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "option" field.</summary>
  public const int OptionFieldNumber = 2;
  private static readonly pb::FieldCodec<int> _repeated_option_codec
      = pb::FieldCodec.ForInt32(18);
  private readonly pbc::RepeatedField<int> option_ = new pbc::RepeatedField<int>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<int> Option {
    get { return option_; }
  }

  /// <summary>Field number for the "like" field.</summary>
  public const int LikeFieldNumber = 3;
  private bool like_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Like {
    get { return like_; }
    set {
      like_ = value;
    }
  }

  /// <summary>Field number for the "option_type" field.</summary>
  public const int OptionTypeFieldNumber = 4;
  private global::SnsMomentOption optionType_ = 0;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::SnsMomentOption OptionType {
    get { return optionType_; }
    set {
      optionType_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSnsMomentOption);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSnsMomentOption other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (MomentId != other.MomentId) return false;
    if(!option_.Equals(other.option_)) return false;
    if (Like != other.Like) return false;
    if (OptionType != other.OptionType) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (MomentId.Length != 0) hash ^= MomentId.GetHashCode();
    hash ^= option_.GetHashCode();
    if (Like != false) hash ^= Like.GetHashCode();
    if (OptionType != 0) hash ^= OptionType.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (MomentId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(MomentId);
    }
    option_.WriteTo(output, _repeated_option_codec);
    if (Like != false) {
      output.WriteRawTag(24);
      output.WriteBool(Like);
    }
    if (OptionType != 0) {
      output.WriteRawTag(32);
      output.WriteEnum((int) OptionType);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (MomentId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(MomentId);
    }
    size += option_.CalculateSize(_repeated_option_codec);
    if (Like != false) {
      size += 1 + 1;
    }
    if (OptionType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) OptionType);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSnsMomentOption other) {
    if (other == null) {
      return;
    }
    if (other.MomentId.Length != 0) {
      MomentId = other.MomentId;
    }
    option_.Add(other.option_);
    if (other.Like != false) {
      Like = other.Like;
    }
    if (other.OptionType != 0) {
      OptionType = other.OptionType;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          MomentId = input.ReadString();
          break;
        }
        case 18:
        case 16: {
          option_.AddEntriesFrom(input, _repeated_option_codec);
          break;
        }
        case 24: {
          Like = input.ReadBool();
          break;
        }
        case 32: {
          optionType_ = (global::SnsMomentOption) input.ReadEnum();
          break;
        }
      }
    }
  }

}

public sealed partial class CsSnsChatDialogOption : pb::IMessage<CsSnsChatDialogOption> {
  private static readonly pb::MessageParser<CsSnsChatDialogOption> _parser = new pb::MessageParser<CsSnsChatDialogOption>(() => new CsSnsChatDialogOption());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsSnsChatDialogOption> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[976]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSnsChatDialogOption() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSnsChatDialogOption(CsSnsChatDialogOption other) : this() {
    chatId_ = other.chatId_;
    dialogId_ = other.dialogId_;
    curContentId_ = other.curContentId_;
    jumpContentId_ = other.jumpContentId_;
    option_ = other.option_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSnsChatDialogOption Clone() {
    return new CsSnsChatDialogOption(this);
  }

  /// <summary>Field number for the "chat_id" field.</summary>
  public const int ChatIdFieldNumber = 1;
  private string chatId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ChatId {
    get { return chatId_; }
    set {
      chatId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "dialog_id" field.</summary>
  public const int DialogIdFieldNumber = 2;
  private string dialogId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string DialogId {
    get { return dialogId_; }
    set {
      dialogId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "cur_content_id" field.</summary>
  public const int CurContentIdFieldNumber = 3;
  private string curContentId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string CurContentId {
    get { return curContentId_; }
    set {
      curContentId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "jump_content_id" field.</summary>
  public const int JumpContentIdFieldNumber = 4;
  private string jumpContentId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string JumpContentId {
    get { return jumpContentId_; }
    set {
      jumpContentId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "option" field.</summary>
  public const int OptionFieldNumber = 5;
  private int option_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Option {
    get { return option_; }
    set {
      option_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsSnsChatDialogOption);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsSnsChatDialogOption other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ChatId != other.ChatId) return false;
    if (DialogId != other.DialogId) return false;
    if (CurContentId != other.CurContentId) return false;
    if (JumpContentId != other.JumpContentId) return false;
    if (Option != other.Option) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ChatId.Length != 0) hash ^= ChatId.GetHashCode();
    if (DialogId.Length != 0) hash ^= DialogId.GetHashCode();
    if (CurContentId.Length != 0) hash ^= CurContentId.GetHashCode();
    if (JumpContentId.Length != 0) hash ^= JumpContentId.GetHashCode();
    if (Option != 0) hash ^= Option.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ChatId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(ChatId);
    }
    if (DialogId.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(DialogId);
    }
    if (CurContentId.Length != 0) {
      output.WriteRawTag(26);
      output.WriteString(CurContentId);
    }
    if (JumpContentId.Length != 0) {
      output.WriteRawTag(34);
      output.WriteString(JumpContentId);
    }
    if (Option != 0) {
      output.WriteRawTag(40);
      output.WriteInt32(Option);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ChatId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ChatId);
    }
    if (DialogId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(DialogId);
    }
    if (CurContentId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(CurContentId);
    }
    if (JumpContentId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(JumpContentId);
    }
    if (Option != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Option);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsSnsChatDialogOption other) {
    if (other == null) {
      return;
    }
    if (other.ChatId.Length != 0) {
      ChatId = other.ChatId;
    }
    if (other.DialogId.Length != 0) {
      DialogId = other.DialogId;
    }
    if (other.CurContentId.Length != 0) {
      CurContentId = other.CurContentId;
    }
    if (other.JumpContentId.Length != 0) {
      JumpContentId = other.JumpContentId;
    }
    if (other.Option != 0) {
      Option = other.Option;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          ChatId = input.ReadString();
          break;
        }
        case 18: {
          DialogId = input.ReadString();
          break;
        }
        case 26: {
          CurContentId = input.ReadString();
          break;
        }
        case 34: {
          JumpContentId = input.ReadString();
          break;
        }
        case 40: {
          Option = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScSyncSnsDialogModify : pb::IMessage<ScSyncSnsDialogModify> {
  private static readonly pb::MessageParser<ScSyncSnsDialogModify> _parser = new pb::MessageParser<ScSyncSnsDialogModify>(() => new ScSyncSnsDialogModify());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSyncSnsDialogModify> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[977]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncSnsDialogModify() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncSnsDialogModify(ScSyncSnsDialogModify other) : this() {
    chatId_ = other.chatId_;
    dialogInfo_ = other.dialogInfo_ != null ? other.dialogInfo_.Clone() : null;
    setOption_ = other.setOption_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncSnsDialogModify Clone() {
    return new ScSyncSnsDialogModify(this);
  }

  /// <summary>Field number for the "chat_id" field.</summary>
  public const int ChatIdFieldNumber = 1;
  private string chatId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ChatId {
    get { return chatId_; }
    set {
      chatId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "dialog_info" field.</summary>
  public const int DialogInfoFieldNumber = 2;
  private global::SnsDialogInfo dialogInfo_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::SnsDialogInfo DialogInfo {
    get { return dialogInfo_; }
    set {
      dialogInfo_ = value;
    }
  }

  /// <summary>Field number for the "set_option" field.</summary>
  public const int SetOptionFieldNumber = 3;
  private bool setOption_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool SetOption {
    get { return setOption_; }
    set {
      setOption_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSyncSnsDialogModify);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSyncSnsDialogModify other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ChatId != other.ChatId) return false;
    if (!object.Equals(DialogInfo, other.DialogInfo)) return false;
    if (SetOption != other.SetOption) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ChatId.Length != 0) hash ^= ChatId.GetHashCode();
    if (dialogInfo_ != null) hash ^= DialogInfo.GetHashCode();
    if (SetOption != false) hash ^= SetOption.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ChatId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(ChatId);
    }
    if (dialogInfo_ != null) {
      output.WriteRawTag(18);
      output.WriteMessage(DialogInfo);
    }
    if (SetOption != false) {
      output.WriteRawTag(24);
      output.WriteBool(SetOption);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ChatId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ChatId);
    }
    if (dialogInfo_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(DialogInfo);
    }
    if (SetOption != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSyncSnsDialogModify other) {
    if (other == null) {
      return;
    }
    if (other.ChatId.Length != 0) {
      ChatId = other.ChatId;
    }
    if (other.dialogInfo_ != null) {
      if (dialogInfo_ == null) {
        dialogInfo_ = new global::SnsDialogInfo();
      }
      DialogInfo.MergeFrom(other.DialogInfo);
    }
    if (other.SetOption != false) {
      SetOption = other.SetOption;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          ChatId = input.ReadString();
          break;
        }
        case 18: {
          if (dialogInfo_ == null) {
            dialogInfo_ = new global::SnsDialogInfo();
          }
          input.ReadMessage(dialogInfo_);
          break;
        }
        case 24: {
          SetOption = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class CsSnsFinishDialog : pb::IMessage<CsSnsFinishDialog> {
  private static readonly pb::MessageParser<CsSnsFinishDialog> _parser = new pb::MessageParser<CsSnsFinishDialog>(() => new CsSnsFinishDialog());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsSnsFinishDialog> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[978]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSnsFinishDialog() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSnsFinishDialog(CsSnsFinishDialog other) : this() {
    chatId_ = other.chatId_;
    dialogId_ = other.dialogId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSnsFinishDialog Clone() {
    return new CsSnsFinishDialog(this);
  }

  /// <summary>Field number for the "chat_id" field.</summary>
  public const int ChatIdFieldNumber = 1;
  private string chatId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ChatId {
    get { return chatId_; }
    set {
      chatId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "dialog_id" field.</summary>
  public const int DialogIdFieldNumber = 2;
  private string dialogId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string DialogId {
    get { return dialogId_; }
    set {
      dialogId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsSnsFinishDialog);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsSnsFinishDialog other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ChatId != other.ChatId) return false;
    if (DialogId != other.DialogId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ChatId.Length != 0) hash ^= ChatId.GetHashCode();
    if (DialogId.Length != 0) hash ^= DialogId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ChatId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(ChatId);
    }
    if (DialogId.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(DialogId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ChatId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ChatId);
    }
    if (DialogId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(DialogId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsSnsFinishDialog other) {
    if (other == null) {
      return;
    }
    if (other.ChatId.Length != 0) {
      ChatId = other.ChatId;
    }
    if (other.DialogId.Length != 0) {
      DialogId = other.DialogId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          ChatId = input.ReadString();
          break;
        }
        case 18: {
          DialogId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class CsSnsReadDialog : pb::IMessage<CsSnsReadDialog> {
  private static readonly pb::MessageParser<CsSnsReadDialog> _parser = new pb::MessageParser<CsSnsReadDialog>(() => new CsSnsReadDialog());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsSnsReadDialog> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[979]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSnsReadDialog() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSnsReadDialog(CsSnsReadDialog other) : this() {
    chatId_ = other.chatId_;
    dialogId_ = other.dialogId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSnsReadDialog Clone() {
    return new CsSnsReadDialog(this);
  }

  /// <summary>Field number for the "chat_id" field.</summary>
  public const int ChatIdFieldNumber = 1;
  private string chatId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ChatId {
    get { return chatId_; }
    set {
      chatId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "dialog_id" field.</summary>
  public const int DialogIdFieldNumber = 2;
  private string dialogId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string DialogId {
    get { return dialogId_; }
    set {
      dialogId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsSnsReadDialog);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsSnsReadDialog other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ChatId != other.ChatId) return false;
    if (DialogId != other.DialogId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ChatId.Length != 0) hash ^= ChatId.GetHashCode();
    if (DialogId.Length != 0) hash ^= DialogId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ChatId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(ChatId);
    }
    if (DialogId.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(DialogId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ChatId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ChatId);
    }
    if (DialogId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(DialogId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsSnsReadDialog other) {
    if (other == null) {
      return;
    }
    if (other.ChatId.Length != 0) {
      ChatId = other.ChatId;
    }
    if (other.DialogId.Length != 0) {
      DialogId = other.DialogId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          ChatId = input.ReadString();
          break;
        }
        case 18: {
          DialogId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class ScSnsReadDialog : pb::IMessage<ScSnsReadDialog> {
  private static readonly pb::MessageParser<ScSnsReadDialog> _parser = new pb::MessageParser<ScSnsReadDialog>(() => new ScSnsReadDialog());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSnsReadDialog> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[980]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSnsReadDialog() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSnsReadDialog(ScSnsReadDialog other) : this() {
    chatId_ = other.chatId_;
    dialogId_ = other.dialogId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSnsReadDialog Clone() {
    return new ScSnsReadDialog(this);
  }

  /// <summary>Field number for the "chat_id" field.</summary>
  public const int ChatIdFieldNumber = 1;
  private string chatId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ChatId {
    get { return chatId_; }
    set {
      chatId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "dialog_id" field.</summary>
  public const int DialogIdFieldNumber = 2;
  private string dialogId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string DialogId {
    get { return dialogId_; }
    set {
      dialogId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSnsReadDialog);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSnsReadDialog other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ChatId != other.ChatId) return false;
    if (DialogId != other.DialogId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ChatId.Length != 0) hash ^= ChatId.GetHashCode();
    if (DialogId.Length != 0) hash ^= DialogId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ChatId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(ChatId);
    }
    if (DialogId.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(DialogId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ChatId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ChatId);
    }
    if (DialogId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(DialogId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSnsReadDialog other) {
    if (other == null) {
      return;
    }
    if (other.ChatId.Length != 0) {
      ChatId = other.ChatId;
    }
    if (other.DialogId.Length != 0) {
      DialogId = other.DialogId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          ChatId = input.ReadString();
          break;
        }
        case 18: {
          DialogId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdSpaceshipControlCenter : pb::IMessage<ScdSpaceshipControlCenter> {
  private static readonly pb::MessageParser<ScdSpaceshipControlCenter> _parser = new pb::MessageParser<ScdSpaceshipControlCenter>(() => new ScdSpaceshipControlCenter());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdSpaceshipControlCenter> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[981]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdSpaceshipControlCenter() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdSpaceshipControlCenter(ScdSpaceshipControlCenter other) : this() {
    reports_ = other.reports_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdSpaceshipControlCenter Clone() {
    return new ScdSpaceshipControlCenter(this);
  }

  /// <summary>Field number for the "reports" field.</summary>
  public const int ReportsFieldNumber = 1;
  private static readonly pbc::MapField<long, global::ScdSpaceshipReport>.Codec _map_reports_codec
      = new pbc::MapField<long, global::ScdSpaceshipReport>.Codec(pb::FieldCodec.ForInt64(8), pb::FieldCodec.ForMessage(18, global::ScdSpaceshipReport.Parser), 10);
  private readonly pbc::MapField<long, global::ScdSpaceshipReport> reports_ = new pbc::MapField<long, global::ScdSpaceshipReport>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<long, global::ScdSpaceshipReport> Reports {
    get { return reports_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdSpaceshipControlCenter);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdSpaceshipControlCenter other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!Reports.Equals(other.Reports)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= Reports.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    reports_.WriteTo(output, _map_reports_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += reports_.CalculateSize(_map_reports_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdSpaceshipControlCenter other) {
    if (other == null) {
      return;
    }
    reports_.Add(other.reports_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          reports_.AddEntriesFrom(input, _map_reports_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScdSpaceshipReport : pb::IMessage<ScdSpaceshipReport> {
  private static readonly pb::MessageParser<ScdSpaceshipReport> _parser = new pb::MessageParser<ScdSpaceshipReport>(() => new ScdSpaceshipReport());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdSpaceshipReport> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[982]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdSpaceshipReport() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdSpaceshipReport(ScdSpaceshipReport other) : this() {
    charWorkRecord_ = other.charWorkRecord_.Clone();
    output_ = other.output_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdSpaceshipReport Clone() {
    return new ScdSpaceshipReport(this);
  }

  /// <summary>Field number for the "char_work_record" field.</summary>
  public const int CharWorkRecordFieldNumber = 1;
  private static readonly pb::FieldCodec<int> _repeated_charWorkRecord_codec
      = pb::FieldCodec.ForInt32(10);
  private readonly pbc::RepeatedField<int> charWorkRecord_ = new pbc::RepeatedField<int>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<int> CharWorkRecord {
    get { return charWorkRecord_; }
  }

  /// <summary>Field number for the "output" field.</summary>
  public const int OutputFieldNumber = 2;
  private static readonly pbc::MapField<int, int>.Codec _map_output_codec
      = new pbc::MapField<int, int>.Codec(pb::FieldCodec.ForInt32(8), pb::FieldCodec.ForInt32(16), 18);
  private readonly pbc::MapField<int, int> output_ = new pbc::MapField<int, int>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<int, int> Output {
    get { return output_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdSpaceshipReport);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdSpaceshipReport other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!charWorkRecord_.Equals(other.charWorkRecord_)) return false;
    if (!Output.Equals(other.Output)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= charWorkRecord_.GetHashCode();
    hash ^= Output.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    charWorkRecord_.WriteTo(output, _repeated_charWorkRecord_codec);
    output_.WriteTo(output, _map_output_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += charWorkRecord_.CalculateSize(_repeated_charWorkRecord_codec);
    size += output_.CalculateSize(_map_output_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdSpaceshipReport other) {
    if (other == null) {
      return;
    }
    charWorkRecord_.Add(other.charWorkRecord_);
    output_.Add(other.output_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10:
        case 8: {
          charWorkRecord_.AddEntriesFrom(input, _repeated_charWorkRecord_codec);
          break;
        }
        case 18: {
          output_.AddEntriesFrom(input, _map_output_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScdSpaceshipManufacturingStation : pb::IMessage<ScdSpaceshipManufacturingStation> {
  private static readonly pb::MessageParser<ScdSpaceshipManufacturingStation> _parser = new pb::MessageParser<ScdSpaceshipManufacturingStation>(() => new ScdSpaceshipManufacturingStation());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdSpaceshipManufacturingStation> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[983]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdSpaceshipManufacturingStation() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdSpaceshipManufacturingStation(ScdSpaceshipManufacturingStation other) : this() {
    remainProduceOrder_ = other.remainProduceOrder_ != null ? other.remainProduceOrder_.Clone() : null;
    productMap_ = other.productMap_.Clone();
    reports_ = other.reports_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdSpaceshipManufacturingStation Clone() {
    return new ScdSpaceshipManufacturingStation(this);
  }

  /// <summary>Field number for the "remain_produce_order" field.</summary>
  public const int RemainProduceOrderFieldNumber = 1;
  private global::SpaceshipManufacturingOrder remainProduceOrder_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::SpaceshipManufacturingOrder RemainProduceOrder {
    get { return remainProduceOrder_; }
    set {
      remainProduceOrder_ = value;
    }
  }

  /// <summary>Field number for the "product_map" field.</summary>
  public const int ProductMapFieldNumber = 2;
  private static readonly pbc::MapField<string, int>.Codec _map_productMap_codec
      = new pbc::MapField<string, int>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForInt32(16), 18);
  private readonly pbc::MapField<string, int> productMap_ = new pbc::MapField<string, int>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<string, int> ProductMap {
    get { return productMap_; }
  }

  /// <summary>Field number for the "reports" field.</summary>
  public const int ReportsFieldNumber = 3;
  private static readonly pbc::MapField<long, global::ScdSpaceshipReport>.Codec _map_reports_codec
      = new pbc::MapField<long, global::ScdSpaceshipReport>.Codec(pb::FieldCodec.ForInt64(8), pb::FieldCodec.ForMessage(18, global::ScdSpaceshipReport.Parser), 26);
  private readonly pbc::MapField<long, global::ScdSpaceshipReport> reports_ = new pbc::MapField<long, global::ScdSpaceshipReport>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<long, global::ScdSpaceshipReport> Reports {
    get { return reports_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdSpaceshipManufacturingStation);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdSpaceshipManufacturingStation other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!object.Equals(RemainProduceOrder, other.RemainProduceOrder)) return false;
    if (!ProductMap.Equals(other.ProductMap)) return false;
    if (!Reports.Equals(other.Reports)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (remainProduceOrder_ != null) hash ^= RemainProduceOrder.GetHashCode();
    hash ^= ProductMap.GetHashCode();
    hash ^= Reports.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (remainProduceOrder_ != null) {
      output.WriteRawTag(10);
      output.WriteMessage(RemainProduceOrder);
    }
    productMap_.WriteTo(output, _map_productMap_codec);
    reports_.WriteTo(output, _map_reports_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (remainProduceOrder_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(RemainProduceOrder);
    }
    size += productMap_.CalculateSize(_map_productMap_codec);
    size += reports_.CalculateSize(_map_reports_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdSpaceshipManufacturingStation other) {
    if (other == null) {
      return;
    }
    if (other.remainProduceOrder_ != null) {
      if (remainProduceOrder_ == null) {
        remainProduceOrder_ = new global::SpaceshipManufacturingOrder();
      }
      RemainProduceOrder.MergeFrom(other.RemainProduceOrder);
    }
    productMap_.Add(other.productMap_);
    reports_.Add(other.reports_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          if (remainProduceOrder_ == null) {
            remainProduceOrder_ = new global::SpaceshipManufacturingOrder();
          }
          input.ReadMessage(remainProduceOrder_);
          break;
        }
        case 18: {
          productMap_.AddEntriesFrom(input, _map_productMap_codec);
          break;
        }
        case 26: {
          reports_.AddEntriesFrom(input, _map_reports_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class SpaceshipManufacturingOrder : pb::IMessage<SpaceshipManufacturingOrder> {
  private static readonly pb::MessageParser<SpaceshipManufacturingOrder> _parser = new pb::MessageParser<SpaceshipManufacturingOrder>(() => new SpaceshipManufacturingOrder());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<SpaceshipManufacturingOrder> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[984]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SpaceshipManufacturingOrder() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SpaceshipManufacturingOrder(SpaceshipManufacturingOrder other) : this() {
    formulaId_ = other.formulaId_;
    remainProduceCount_ = other.remainProduceCount_;
    currentProgress_ = other.currentProgress_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SpaceshipManufacturingOrder Clone() {
    return new SpaceshipManufacturingOrder(this);
  }

  /// <summary>Field number for the "formula_id" field.</summary>
  public const int FormulaIdFieldNumber = 1;
  private string formulaId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string FormulaId {
    get { return formulaId_; }
    set {
      formulaId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "remain_produce_count" field.</summary>
  public const int RemainProduceCountFieldNumber = 2;
  private int remainProduceCount_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int RemainProduceCount {
    get { return remainProduceCount_; }
    set {
      remainProduceCount_ = value;
    }
  }

  /// <summary>Field number for the "current_progress" field.</summary>
  public const int CurrentProgressFieldNumber = 3;
  private int currentProgress_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CurrentProgress {
    get { return currentProgress_; }
    set {
      currentProgress_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as SpaceshipManufacturingOrder);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(SpaceshipManufacturingOrder other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (FormulaId != other.FormulaId) return false;
    if (RemainProduceCount != other.RemainProduceCount) return false;
    if (CurrentProgress != other.CurrentProgress) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (FormulaId.Length != 0) hash ^= FormulaId.GetHashCode();
    if (RemainProduceCount != 0) hash ^= RemainProduceCount.GetHashCode();
    if (CurrentProgress != 0) hash ^= CurrentProgress.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (FormulaId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(FormulaId);
    }
    if (RemainProduceCount != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(RemainProduceCount);
    }
    if (CurrentProgress != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(CurrentProgress);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (FormulaId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(FormulaId);
    }
    if (RemainProduceCount != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(RemainProduceCount);
    }
    if (CurrentProgress != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(CurrentProgress);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(SpaceshipManufacturingOrder other) {
    if (other == null) {
      return;
    }
    if (other.FormulaId.Length != 0) {
      FormulaId = other.FormulaId;
    }
    if (other.RemainProduceCount != 0) {
      RemainProduceCount = other.RemainProduceCount;
    }
    if (other.CurrentProgress != 0) {
      CurrentProgress = other.CurrentProgress;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          FormulaId = input.ReadString();
          break;
        }
        case 16: {
          RemainProduceCount = input.ReadInt32();
          break;
        }
        case 24: {
          CurrentProgress = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdSpaceshipRoomAttrSource : pb::IMessage<ScdSpaceshipRoomAttrSource> {
  private static readonly pb::MessageParser<ScdSpaceshipRoomAttrSource> _parser = new pb::MessageParser<ScdSpaceshipRoomAttrSource>(() => new ScdSpaceshipRoomAttrSource());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdSpaceshipRoomAttrSource> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[985]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdSpaceshipRoomAttrSource() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdSpaceshipRoomAttrSource(ScdSpaceshipRoomAttrSource other) : this() {
    charId_ = other.charId_;
    index_ = other.index_;
    skillId_ = other.skillId_;
    sourceType_ = other.sourceType_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdSpaceshipRoomAttrSource Clone() {
    return new ScdSpaceshipRoomAttrSource(this);
  }

  /// <summary>Field number for the "char_id" field.</summary>
  public const int CharIdFieldNumber = 1;
  private string charId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string CharId {
    get { return charId_; }
    set {
      charId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "index" field.</summary>
  public const int IndexFieldNumber = 2;
  private int index_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Index {
    get { return index_; }
    set {
      index_ = value;
    }
  }

  /// <summary>Field number for the "skill_id" field.</summary>
  public const int SkillIdFieldNumber = 3;
  private string skillId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string SkillId {
    get { return skillId_; }
    set {
      skillId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "source_type" field.</summary>
  public const int SourceTypeFieldNumber = 4;
  private int sourceType_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int SourceType {
    get { return sourceType_; }
    set {
      sourceType_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdSpaceshipRoomAttrSource);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdSpaceshipRoomAttrSource other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (CharId != other.CharId) return false;
    if (Index != other.Index) return false;
    if (SkillId != other.SkillId) return false;
    if (SourceType != other.SourceType) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (CharId.Length != 0) hash ^= CharId.GetHashCode();
    if (Index != 0) hash ^= Index.GetHashCode();
    if (SkillId.Length != 0) hash ^= SkillId.GetHashCode();
    if (SourceType != 0) hash ^= SourceType.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (CharId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(CharId);
    }
    if (Index != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(Index);
    }
    if (SkillId.Length != 0) {
      output.WriteRawTag(26);
      output.WriteString(SkillId);
    }
    if (SourceType != 0) {
      output.WriteRawTag(32);
      output.WriteInt32(SourceType);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (CharId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(CharId);
    }
    if (Index != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Index);
    }
    if (SkillId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(SkillId);
    }
    if (SourceType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(SourceType);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdSpaceshipRoomAttrSource other) {
    if (other == null) {
      return;
    }
    if (other.CharId.Length != 0) {
      CharId = other.CharId;
    }
    if (other.Index != 0) {
      Index = other.Index;
    }
    if (other.SkillId.Length != 0) {
      SkillId = other.SkillId;
    }
    if (other.SourceType != 0) {
      SourceType = other.SourceType;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          CharId = input.ReadString();
          break;
        }
        case 16: {
          Index = input.ReadInt32();
          break;
        }
        case 26: {
          SkillId = input.ReadString();
          break;
        }
        case 32: {
          SourceType = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdSpaceshipRoomAttrUnit : pb::IMessage<ScdSpaceshipRoomAttrUnit> {
  private static readonly pb::MessageParser<ScdSpaceshipRoomAttrUnit> _parser = new pb::MessageParser<ScdSpaceshipRoomAttrUnit>(() => new ScdSpaceshipRoomAttrUnit());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdSpaceshipRoomAttrUnit> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[986]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdSpaceshipRoomAttrUnit() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdSpaceshipRoomAttrUnit(ScdSpaceshipRoomAttrUnit other) : this() {
    type_ = other.type_;
    value_ = other.value_;
    isNotWorking_ = other.isNotWorking_;
    source_ = other.source_ != null ? other.source_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdSpaceshipRoomAttrUnit Clone() {
    return new ScdSpaceshipRoomAttrUnit(this);
  }

  /// <summary>Field number for the "type" field.</summary>
  public const int TypeFieldNumber = 1;
  private int type_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Type {
    get { return type_; }
    set {
      type_ = value;
    }
  }

  /// <summary>Field number for the "value" field.</summary>
  public const int ValueFieldNumber = 2;
  private float value_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public float Value {
    get { return value_; }
    set {
      value_ = value;
    }
  }

  /// <summary>Field number for the "is_not_working" field.</summary>
  public const int IsNotWorkingFieldNumber = 3;
  private bool isNotWorking_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool IsNotWorking {
    get { return isNotWorking_; }
    set {
      isNotWorking_ = value;
    }
  }

  /// <summary>Field number for the "source" field.</summary>
  public const int SourceFieldNumber = 4;
  private global::ScdSpaceshipRoomAttrSource source_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdSpaceshipRoomAttrSource Source {
    get { return source_; }
    set {
      source_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdSpaceshipRoomAttrUnit);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdSpaceshipRoomAttrUnit other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Type != other.Type) return false;
    if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(Value, other.Value)) return false;
    if (IsNotWorking != other.IsNotWorking) return false;
    if (!object.Equals(Source, other.Source)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Type != 0) hash ^= Type.GetHashCode();
    if (Value != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(Value);
    if (IsNotWorking != false) hash ^= IsNotWorking.GetHashCode();
    if (source_ != null) hash ^= Source.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Type != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(Type);
    }
    if (Value != 0F) {
      output.WriteRawTag(21);
      output.WriteFloat(Value);
    }
    if (IsNotWorking != false) {
      output.WriteRawTag(24);
      output.WriteBool(IsNotWorking);
    }
    if (source_ != null) {
      output.WriteRawTag(34);
      output.WriteMessage(Source);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Type != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Type);
    }
    if (Value != 0F) {
      size += 1 + 4;
    }
    if (IsNotWorking != false) {
      size += 1 + 1;
    }
    if (source_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Source);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdSpaceshipRoomAttrUnit other) {
    if (other == null) {
      return;
    }
    if (other.Type != 0) {
      Type = other.Type;
    }
    if (other.Value != 0F) {
      Value = other.Value;
    }
    if (other.IsNotWorking != false) {
      IsNotWorking = other.IsNotWorking;
    }
    if (other.source_ != null) {
      if (source_ == null) {
        source_ = new global::ScdSpaceshipRoomAttrSource();
      }
      Source.MergeFrom(other.Source);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Type = input.ReadInt32();
          break;
        }
        case 21: {
          Value = input.ReadFloat();
          break;
        }
        case 24: {
          IsNotWorking = input.ReadBool();
          break;
        }
        case 34: {
          if (source_ == null) {
            source_ = new global::ScdSpaceshipRoomAttrSource();
          }
          input.ReadMessage(source_);
          break;
        }
      }
    }
  }

}

public sealed partial class ScdSpaceshipRoomAttr : pb::IMessage<ScdSpaceshipRoomAttr> {
  private static readonly pb::MessageParser<ScdSpaceshipRoomAttr> _parser = new pb::MessageParser<ScdSpaceshipRoomAttr>(() => new ScdSpaceshipRoomAttr());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdSpaceshipRoomAttr> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[987]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdSpaceshipRoomAttr() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdSpaceshipRoomAttr(ScdSpaceshipRoomAttr other) : this() {
    value_ = other.value_;
    theoreticalValue_ = other.theoreticalValue_;
    baseAttrs_ = other.baseAttrs_.Clone();
    percentAttrs_ = other.percentAttrs_.Clone();
    absAdditionAttrs_ = other.absAdditionAttrs_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdSpaceshipRoomAttr Clone() {
    return new ScdSpaceshipRoomAttr(this);
  }

  /// <summary>Field number for the "value" field.</summary>
  public const int ValueFieldNumber = 1;
  private float value_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public float Value {
    get { return value_; }
    set {
      value_ = value;
    }
  }

  /// <summary>Field number for the "theoretical_value" field.</summary>
  public const int TheoreticalValueFieldNumber = 2;
  private float theoreticalValue_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public float TheoreticalValue {
    get { return theoreticalValue_; }
    set {
      theoreticalValue_ = value;
    }
  }

  /// <summary>Field number for the "base_attrs" field.</summary>
  public const int BaseAttrsFieldNumber = 3;
  private static readonly pb::FieldCodec<global::ScdSpaceshipRoomAttrUnit> _repeated_baseAttrs_codec
      = pb::FieldCodec.ForMessage(26, global::ScdSpaceshipRoomAttrUnit.Parser);
  private readonly pbc::RepeatedField<global::ScdSpaceshipRoomAttrUnit> baseAttrs_ = new pbc::RepeatedField<global::ScdSpaceshipRoomAttrUnit>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdSpaceshipRoomAttrUnit> BaseAttrs {
    get { return baseAttrs_; }
  }

  /// <summary>Field number for the "percent_attrs" field.</summary>
  public const int PercentAttrsFieldNumber = 4;
  private static readonly pb::FieldCodec<global::ScdSpaceshipRoomAttrUnit> _repeated_percentAttrs_codec
      = pb::FieldCodec.ForMessage(34, global::ScdSpaceshipRoomAttrUnit.Parser);
  private readonly pbc::RepeatedField<global::ScdSpaceshipRoomAttrUnit> percentAttrs_ = new pbc::RepeatedField<global::ScdSpaceshipRoomAttrUnit>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdSpaceshipRoomAttrUnit> PercentAttrs {
    get { return percentAttrs_; }
  }

  /// <summary>Field number for the "abs_addition_attrs" field.</summary>
  public const int AbsAdditionAttrsFieldNumber = 5;
  private static readonly pb::FieldCodec<global::ScdSpaceshipRoomAttrUnit> _repeated_absAdditionAttrs_codec
      = pb::FieldCodec.ForMessage(42, global::ScdSpaceshipRoomAttrUnit.Parser);
  private readonly pbc::RepeatedField<global::ScdSpaceshipRoomAttrUnit> absAdditionAttrs_ = new pbc::RepeatedField<global::ScdSpaceshipRoomAttrUnit>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdSpaceshipRoomAttrUnit> AbsAdditionAttrs {
    get { return absAdditionAttrs_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdSpaceshipRoomAttr);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdSpaceshipRoomAttr other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(Value, other.Value)) return false;
    if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(TheoreticalValue, other.TheoreticalValue)) return false;
    if(!baseAttrs_.Equals(other.baseAttrs_)) return false;
    if(!percentAttrs_.Equals(other.percentAttrs_)) return false;
    if(!absAdditionAttrs_.Equals(other.absAdditionAttrs_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Value != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(Value);
    if (TheoreticalValue != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(TheoreticalValue);
    hash ^= baseAttrs_.GetHashCode();
    hash ^= percentAttrs_.GetHashCode();
    hash ^= absAdditionAttrs_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Value != 0F) {
      output.WriteRawTag(13);
      output.WriteFloat(Value);
    }
    if (TheoreticalValue != 0F) {
      output.WriteRawTag(21);
      output.WriteFloat(TheoreticalValue);
    }
    baseAttrs_.WriteTo(output, _repeated_baseAttrs_codec);
    percentAttrs_.WriteTo(output, _repeated_percentAttrs_codec);
    absAdditionAttrs_.WriteTo(output, _repeated_absAdditionAttrs_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Value != 0F) {
      size += 1 + 4;
    }
    if (TheoreticalValue != 0F) {
      size += 1 + 4;
    }
    size += baseAttrs_.CalculateSize(_repeated_baseAttrs_codec);
    size += percentAttrs_.CalculateSize(_repeated_percentAttrs_codec);
    size += absAdditionAttrs_.CalculateSize(_repeated_absAdditionAttrs_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdSpaceshipRoomAttr other) {
    if (other == null) {
      return;
    }
    if (other.Value != 0F) {
      Value = other.Value;
    }
    if (other.TheoreticalValue != 0F) {
      TheoreticalValue = other.TheoreticalValue;
    }
    baseAttrs_.Add(other.baseAttrs_);
    percentAttrs_.Add(other.percentAttrs_);
    absAdditionAttrs_.Add(other.absAdditionAttrs_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 13: {
          Value = input.ReadFloat();
          break;
        }
        case 21: {
          TheoreticalValue = input.ReadFloat();
          break;
        }
        case 26: {
          baseAttrs_.AddEntriesFrom(input, _repeated_baseAttrs_codec);
          break;
        }
        case 34: {
          percentAttrs_.AddEntriesFrom(input, _repeated_percentAttrs_codec);
          break;
        }
        case 42: {
          absAdditionAttrs_.AddEntriesFrom(input, _repeated_absAdditionAttrs_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScdSpaceshipRoom : pb::IMessage<ScdSpaceshipRoom> {
  private static readonly pb::MessageParser<ScdSpaceshipRoom> _parser = new pb::MessageParser<ScdSpaceshipRoom>(() => new ScdSpaceshipRoom());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdSpaceshipRoom> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[988]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdSpaceshipRoom() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdSpaceshipRoom(ScdSpaceshipRoom other) : this() {
    id_ = other.id_;
    type_ = other.type_;
    level_ = other.level_;
    levelUpConditonValues_ = other.levelUpConditonValues_.Clone();
    levelUpConditionFlags_ = other.levelUpConditionFlags_.Clone();
    stationedCharList_ = other.stationedCharList_.Clone();
    attrsMap_ = other.attrsMap_.Clone();
    hasCharWorking_ = other.hasCharWorking_;
    switch (other.RoomDataCase) {
      case RoomDataOneofCase.ControlCenter:
        ControlCenter = other.ControlCenter.Clone();
        break;
      case RoomDataOneofCase.ManufacturingStation:
        ManufacturingStation = other.ManufacturingStation.Clone();
        break;
      case RoomDataOneofCase.GrowCabin:
        GrowCabin = other.GrowCabin.Clone();
        break;
    }

    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdSpaceshipRoom Clone() {
    return new ScdSpaceshipRoom(this);
  }

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

  /// <summary>Field number for the "type" field.</summary>
  public const int TypeFieldNumber = 2;
  private int type_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Type {
    get { return type_; }
    set {
      type_ = value;
    }
  }

  /// <summary>Field number for the "level" field.</summary>
  public const int LevelFieldNumber = 3;
  private int level_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Level {
    get { return level_; }
    set {
      level_ = value;
    }
  }

  /// <summary>Field number for the "level_up_conditon_values" field.</summary>
  public const int LevelUpConditonValuesFieldNumber = 4;
  private static readonly pbc::MapField<string, int>.Codec _map_levelUpConditonValues_codec
      = new pbc::MapField<string, int>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForInt32(16), 34);
  private readonly pbc::MapField<string, int> levelUpConditonValues_ = new pbc::MapField<string, int>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<string, int> LevelUpConditonValues {
    get { return levelUpConditonValues_; }
  }

  /// <summary>Field number for the "level_up_condition_flags" field.</summary>
  public const int LevelUpConditionFlagsFieldNumber = 5;
  private static readonly pbc::MapField<string, bool>.Codec _map_levelUpConditionFlags_codec
      = new pbc::MapField<string, bool>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForBool(16), 42);
  private readonly pbc::MapField<string, bool> levelUpConditionFlags_ = new pbc::MapField<string, bool>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<string, bool> LevelUpConditionFlags {
    get { return levelUpConditionFlags_; }
  }

  /// <summary>Field number for the "stationed_char_list" field.</summary>
  public const int StationedCharListFieldNumber = 6;
  private static readonly pb::FieldCodec<string> _repeated_stationedCharList_codec
      = pb::FieldCodec.ForString(50);
  private readonly pbc::RepeatedField<string> stationedCharList_ = new pbc::RepeatedField<string>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<string> StationedCharList {
    get { return stationedCharList_; }
  }

  /// <summary>Field number for the "attrs_map" field.</summary>
  public const int AttrsMapFieldNumber = 7;
  private static readonly pbc::MapField<int, global::ScdSpaceshipRoomAttr>.Codec _map_attrsMap_codec
      = new pbc::MapField<int, global::ScdSpaceshipRoomAttr>.Codec(pb::FieldCodec.ForInt32(8), pb::FieldCodec.ForMessage(18, global::ScdSpaceshipRoomAttr.Parser), 58);
  private readonly pbc::MapField<int, global::ScdSpaceshipRoomAttr> attrsMap_ = new pbc::MapField<int, global::ScdSpaceshipRoomAttr>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<int, global::ScdSpaceshipRoomAttr> AttrsMap {
    get { return attrsMap_; }
  }

  /// <summary>Field number for the "has_char_working" field.</summary>
  public const int HasCharWorkingFieldNumber = 8;
  private bool hasCharWorking_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool HasCharWorking {
    get { return hasCharWorking_; }
    set {
      hasCharWorking_ = value;
    }
  }

  /// <summary>Field number for the "control_center" field.</summary>
  public const int ControlCenterFieldNumber = 21;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdSpaceshipControlCenter ControlCenter {
    get { return roomDataCase_ == RoomDataOneofCase.ControlCenter ? (global::ScdSpaceshipControlCenter) roomData_ : null; }
    set {
      roomData_ = value;
      roomDataCase_ = value == null ? RoomDataOneofCase.None : RoomDataOneofCase.ControlCenter;
    }
  }

  /// <summary>Field number for the "manufacturing_station" field.</summary>
  public const int ManufacturingStationFieldNumber = 22;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdSpaceshipManufacturingStation ManufacturingStation {
    get { return roomDataCase_ == RoomDataOneofCase.ManufacturingStation ? (global::ScdSpaceshipManufacturingStation) roomData_ : null; }
    set {
      roomData_ = value;
      roomDataCase_ = value == null ? RoomDataOneofCase.None : RoomDataOneofCase.ManufacturingStation;
    }
  }

  /// <summary>Field number for the "grow_cabin" field.</summary>
  public const int GrowCabinFieldNumber = 23;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdSpaceshipGrowCabin GrowCabin {
    get { return roomDataCase_ == RoomDataOneofCase.GrowCabin ? (global::ScdSpaceshipGrowCabin) roomData_ : null; }
    set {
      roomData_ = value;
      roomDataCase_ = value == null ? RoomDataOneofCase.None : RoomDataOneofCase.GrowCabin;
    }
  }

  private object roomData_;
  /// <summary>Enum of possible cases for the "room_data" oneof.</summary>
  public enum RoomDataOneofCase {
    None = 0,
    ControlCenter = 21,
    ManufacturingStation = 22,
    GrowCabin = 23,
  }
  private RoomDataOneofCase roomDataCase_ = RoomDataOneofCase.None;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public RoomDataOneofCase RoomDataCase {
    get { return roomDataCase_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void ClearRoomData() {
    roomDataCase_ = RoomDataOneofCase.None;
    roomData_ = null;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdSpaceshipRoom);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdSpaceshipRoom 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 (Level != other.Level) return false;
    if (!LevelUpConditonValues.Equals(other.LevelUpConditonValues)) return false;
    if (!LevelUpConditionFlags.Equals(other.LevelUpConditionFlags)) return false;
    if(!stationedCharList_.Equals(other.stationedCharList_)) return false;
    if (!AttrsMap.Equals(other.AttrsMap)) return false;
    if (HasCharWorking != other.HasCharWorking) return false;
    if (!object.Equals(ControlCenter, other.ControlCenter)) return false;
    if (!object.Equals(ManufacturingStation, other.ManufacturingStation)) return false;
    if (!object.Equals(GrowCabin, other.GrowCabin)) return false;
    if (RoomDataCase != other.RoomDataCase) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Id.Length != 0) hash ^= Id.GetHashCode();
    if (Type != 0) hash ^= Type.GetHashCode();
    if (Level != 0) hash ^= Level.GetHashCode();
    hash ^= LevelUpConditonValues.GetHashCode();
    hash ^= LevelUpConditionFlags.GetHashCode();
    hash ^= stationedCharList_.GetHashCode();
    hash ^= AttrsMap.GetHashCode();
    if (HasCharWorking != false) hash ^= HasCharWorking.GetHashCode();
    if (roomDataCase_ == RoomDataOneofCase.ControlCenter) hash ^= ControlCenter.GetHashCode();
    if (roomDataCase_ == RoomDataOneofCase.ManufacturingStation) hash ^= ManufacturingStation.GetHashCode();
    if (roomDataCase_ == RoomDataOneofCase.GrowCabin) hash ^= GrowCabin.GetHashCode();
    hash ^= (int) roomDataCase_;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Id.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(Id);
    }
    if (Type != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(Type);
    }
    if (Level != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(Level);
    }
    levelUpConditonValues_.WriteTo(output, _map_levelUpConditonValues_codec);
    levelUpConditionFlags_.WriteTo(output, _map_levelUpConditionFlags_codec);
    stationedCharList_.WriteTo(output, _repeated_stationedCharList_codec);
    attrsMap_.WriteTo(output, _map_attrsMap_codec);
    if (HasCharWorking != false) {
      output.WriteRawTag(64);
      output.WriteBool(HasCharWorking);
    }
    if (roomDataCase_ == RoomDataOneofCase.ControlCenter) {
      output.WriteRawTag(170, 1);
      output.WriteMessage(ControlCenter);
    }
    if (roomDataCase_ == RoomDataOneofCase.ManufacturingStation) {
      output.WriteRawTag(178, 1);
      output.WriteMessage(ManufacturingStation);
    }
    if (roomDataCase_ == RoomDataOneofCase.GrowCabin) {
      output.WriteRawTag(186, 1);
      output.WriteMessage(GrowCabin);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Id.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(Id);
    }
    if (Type != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Type);
    }
    if (Level != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Level);
    }
    size += levelUpConditonValues_.CalculateSize(_map_levelUpConditonValues_codec);
    size += levelUpConditionFlags_.CalculateSize(_map_levelUpConditionFlags_codec);
    size += stationedCharList_.CalculateSize(_repeated_stationedCharList_codec);
    size += attrsMap_.CalculateSize(_map_attrsMap_codec);
    if (HasCharWorking != false) {
      size += 1 + 1;
    }
    if (roomDataCase_ == RoomDataOneofCase.ControlCenter) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(ControlCenter);
    }
    if (roomDataCase_ == RoomDataOneofCase.ManufacturingStation) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(ManufacturingStation);
    }
    if (roomDataCase_ == RoomDataOneofCase.GrowCabin) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(GrowCabin);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdSpaceshipRoom other) {
    if (other == null) {
      return;
    }
    if (other.Id.Length != 0) {
      Id = other.Id;
    }
    if (other.Type != 0) {
      Type = other.Type;
    }
    if (other.Level != 0) {
      Level = other.Level;
    }
    levelUpConditonValues_.Add(other.levelUpConditonValues_);
    levelUpConditionFlags_.Add(other.levelUpConditionFlags_);
    stationedCharList_.Add(other.stationedCharList_);
    attrsMap_.Add(other.attrsMap_);
    if (other.HasCharWorking != false) {
      HasCharWorking = other.HasCharWorking;
    }
    switch (other.RoomDataCase) {
      case RoomDataOneofCase.ControlCenter:
        if (ControlCenter == null) {
          ControlCenter = new global::ScdSpaceshipControlCenter();
        }
        ControlCenter.MergeFrom(other.ControlCenter);
        break;
      case RoomDataOneofCase.ManufacturingStation:
        if (ManufacturingStation == null) {
          ManufacturingStation = new global::ScdSpaceshipManufacturingStation();
        }
        ManufacturingStation.MergeFrom(other.ManufacturingStation);
        break;
      case RoomDataOneofCase.GrowCabin:
        if (GrowCabin == null) {
          GrowCabin = new global::ScdSpaceshipGrowCabin();
        }
        GrowCabin.MergeFrom(other.GrowCabin);
        break;
    }

    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          Id = input.ReadString();
          break;
        }
        case 16: {
          Type = input.ReadInt32();
          break;
        }
        case 24: {
          Level = input.ReadInt32();
          break;
        }
        case 34: {
          levelUpConditonValues_.AddEntriesFrom(input, _map_levelUpConditonValues_codec);
          break;
        }
        case 42: {
          levelUpConditionFlags_.AddEntriesFrom(input, _map_levelUpConditionFlags_codec);
          break;
        }
        case 50: {
          stationedCharList_.AddEntriesFrom(input, _repeated_stationedCharList_codec);
          break;
        }
        case 58: {
          attrsMap_.AddEntriesFrom(input, _map_attrsMap_codec);
          break;
        }
        case 64: {
          HasCharWorking = input.ReadBool();
          break;
        }
        case 170: {
          global::ScdSpaceshipControlCenter subBuilder = new global::ScdSpaceshipControlCenter();
          if (roomDataCase_ == RoomDataOneofCase.ControlCenter) {
            subBuilder.MergeFrom(ControlCenter);
          }
          input.ReadMessage(subBuilder);
          ControlCenter = subBuilder;
          break;
        }
        case 178: {
          global::ScdSpaceshipManufacturingStation subBuilder = new global::ScdSpaceshipManufacturingStation();
          if (roomDataCase_ == RoomDataOneofCase.ManufacturingStation) {
            subBuilder.MergeFrom(ManufacturingStation);
          }
          input.ReadMessage(subBuilder);
          ManufacturingStation = subBuilder;
          break;
        }
        case 186: {
          global::ScdSpaceshipGrowCabin subBuilder = new global::ScdSpaceshipGrowCabin();
          if (roomDataCase_ == RoomDataOneofCase.GrowCabin) {
            subBuilder.MergeFrom(GrowCabin);
          }
          input.ReadMessage(subBuilder);
          GrowCabin = subBuilder;
          break;
        }
      }
    }
  }

}

public sealed partial class ScdSpaceshipGrowCabin : pb::IMessage<ScdSpaceshipGrowCabin> {
  private static readonly pb::MessageParser<ScdSpaceshipGrowCabin> _parser = new pb::MessageParser<ScdSpaceshipGrowCabin>(() => new ScdSpaceshipGrowCabin());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdSpaceshipGrowCabin> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[989]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdSpaceshipGrowCabin() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdSpaceshipGrowCabin(ScdSpaceshipGrowCabin other) : this() {
    boxes_ = other.boxes_.Clone();
    reports_ = other.reports_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdSpaceshipGrowCabin Clone() {
    return new ScdSpaceshipGrowCabin(this);
  }

  /// <summary>Field number for the "boxes" field.</summary>
  public const int BoxesFieldNumber = 1;
  private static readonly pb::FieldCodec<global::ScdSpaceshipGrowBox> _repeated_boxes_codec
      = pb::FieldCodec.ForMessage(10, global::ScdSpaceshipGrowBox.Parser);
  private readonly pbc::RepeatedField<global::ScdSpaceshipGrowBox> boxes_ = new pbc::RepeatedField<global::ScdSpaceshipGrowBox>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdSpaceshipGrowBox> Boxes {
    get { return boxes_; }
  }

  /// <summary>Field number for the "reports" field.</summary>
  public const int ReportsFieldNumber = 2;
  private static readonly pbc::MapField<long, global::ScdSpaceshipReport>.Codec _map_reports_codec
      = new pbc::MapField<long, global::ScdSpaceshipReport>.Codec(pb::FieldCodec.ForInt64(8), pb::FieldCodec.ForMessage(18, global::ScdSpaceshipReport.Parser), 18);
  private readonly pbc::MapField<long, global::ScdSpaceshipReport> reports_ = new pbc::MapField<long, global::ScdSpaceshipReport>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<long, global::ScdSpaceshipReport> Reports {
    get { return reports_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdSpaceshipGrowCabin);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdSpaceshipGrowCabin other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!boxes_.Equals(other.boxes_)) return false;
    if (!Reports.Equals(other.Reports)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= boxes_.GetHashCode();
    hash ^= Reports.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    boxes_.WriteTo(output, _repeated_boxes_codec);
    reports_.WriteTo(output, _map_reports_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += boxes_.CalculateSize(_repeated_boxes_codec);
    size += reports_.CalculateSize(_map_reports_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdSpaceshipGrowCabin other) {
    if (other == null) {
      return;
    }
    boxes_.Add(other.boxes_);
    reports_.Add(other.reports_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          boxes_.AddEntriesFrom(input, _repeated_boxes_codec);
          break;
        }
        case 18: {
          reports_.AddEntriesFrom(input, _map_reports_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScdSpaceshipGrowBox : pb::IMessage<ScdSpaceshipGrowBox> {
  private static readonly pb::MessageParser<ScdSpaceshipGrowBox> _parser = new pb::MessageParser<ScdSpaceshipGrowBox>(() => new ScdSpaceshipGrowBox());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdSpaceshipGrowBox> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[990]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdSpaceshipGrowBox() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdSpaceshipGrowBox(ScdSpaceshipGrowBox other) : this() {
    boxId_ = other.boxId_;
    recipeId_ = other.recipeId_;
    previewRecipeId_ = other.previewRecipeId_;
    progress_ = other.progress_;
    isReady_ = other.isReady_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdSpaceshipGrowBox Clone() {
    return new ScdSpaceshipGrowBox(this);
  }

  /// <summary>Field number for the "box_id" field.</summary>
  public const int BoxIdFieldNumber = 1;
  private int boxId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int BoxId {
    get { return boxId_; }
    set {
      boxId_ = value;
    }
  }

  /// <summary>Field number for the "recipe_id" field.</summary>
  public const int RecipeIdFieldNumber = 2;
  private string recipeId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string RecipeId {
    get { return recipeId_; }
    set {
      recipeId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "preview_recipe_id" field.</summary>
  public const int PreviewRecipeIdFieldNumber = 3;
  private string previewRecipeId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string PreviewRecipeId {
    get { return previewRecipeId_; }
    set {
      previewRecipeId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "progress" field.</summary>
  public const int ProgressFieldNumber = 4;
  private float progress_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public float Progress {
    get { return progress_; }
    set {
      progress_ = value;
    }
  }

  /// <summary>Field number for the "is_ready" field.</summary>
  public const int IsReadyFieldNumber = 5;
  private bool isReady_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool IsReady {
    get { return isReady_; }
    set {
      isReady_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdSpaceshipGrowBox);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdSpaceshipGrowBox other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (BoxId != other.BoxId) return false;
    if (RecipeId != other.RecipeId) return false;
    if (PreviewRecipeId != other.PreviewRecipeId) return false;
    if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(Progress, other.Progress)) return false;
    if (IsReady != other.IsReady) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (BoxId != 0) hash ^= BoxId.GetHashCode();
    if (RecipeId.Length != 0) hash ^= RecipeId.GetHashCode();
    if (PreviewRecipeId.Length != 0) hash ^= PreviewRecipeId.GetHashCode();
    if (Progress != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(Progress);
    if (IsReady != false) hash ^= IsReady.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (BoxId != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(BoxId);
    }
    if (RecipeId.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(RecipeId);
    }
    if (PreviewRecipeId.Length != 0) {
      output.WriteRawTag(26);
      output.WriteString(PreviewRecipeId);
    }
    if (Progress != 0F) {
      output.WriteRawTag(37);
      output.WriteFloat(Progress);
    }
    if (IsReady != false) {
      output.WriteRawTag(40);
      output.WriteBool(IsReady);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (BoxId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(BoxId);
    }
    if (RecipeId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(RecipeId);
    }
    if (PreviewRecipeId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(PreviewRecipeId);
    }
    if (Progress != 0F) {
      size += 1 + 4;
    }
    if (IsReady != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdSpaceshipGrowBox other) {
    if (other == null) {
      return;
    }
    if (other.BoxId != 0) {
      BoxId = other.BoxId;
    }
    if (other.RecipeId.Length != 0) {
      RecipeId = other.RecipeId;
    }
    if (other.PreviewRecipeId.Length != 0) {
      PreviewRecipeId = other.PreviewRecipeId;
    }
    if (other.Progress != 0F) {
      Progress = other.Progress;
    }
    if (other.IsReady != false) {
      IsReady = other.IsReady;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          BoxId = input.ReadInt32();
          break;
        }
        case 18: {
          RecipeId = input.ReadString();
          break;
        }
        case 26: {
          PreviewRecipeId = input.ReadString();
          break;
        }
        case 37: {
          Progress = input.ReadFloat();
          break;
        }
        case 40: {
          IsReady = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdSpaceshipRoomLevelUp : pb::IMessage<ScdSpaceshipRoomLevelUp> {
  private static readonly pb::MessageParser<ScdSpaceshipRoomLevelUp> _parser = new pb::MessageParser<ScdSpaceshipRoomLevelUp>(() => new ScdSpaceshipRoomLevelUp());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdSpaceshipRoomLevelUp> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[991]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdSpaceshipRoomLevelUp() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdSpaceshipRoomLevelUp(ScdSpaceshipRoomLevelUp other) : this() {
    id_ = other.id_;
    type_ = other.type_;
    level_ = other.level_;
    levelUpConditonValues_ = other.levelUpConditonValues_.Clone();
    levelUpConditionFlags_ = other.levelUpConditionFlags_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdSpaceshipRoomLevelUp Clone() {
    return new ScdSpaceshipRoomLevelUp(this);
  }

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

  /// <summary>Field number for the "type" field.</summary>
  public const int TypeFieldNumber = 2;
  private int type_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Type {
    get { return type_; }
    set {
      type_ = value;
    }
  }

  /// <summary>Field number for the "level" field.</summary>
  public const int LevelFieldNumber = 3;
  private int level_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Level {
    get { return level_; }
    set {
      level_ = value;
    }
  }

  /// <summary>Field number for the "level_up_conditon_values" field.</summary>
  public const int LevelUpConditonValuesFieldNumber = 4;
  private static readonly pbc::MapField<string, int>.Codec _map_levelUpConditonValues_codec
      = new pbc::MapField<string, int>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForInt32(16), 34);
  private readonly pbc::MapField<string, int> levelUpConditonValues_ = new pbc::MapField<string, int>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<string, int> LevelUpConditonValues {
    get { return levelUpConditonValues_; }
  }

  /// <summary>Field number for the "level_up_condition_flags" field.</summary>
  public const int LevelUpConditionFlagsFieldNumber = 5;
  private static readonly pbc::MapField<string, bool>.Codec _map_levelUpConditionFlags_codec
      = new pbc::MapField<string, bool>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForBool(16), 42);
  private readonly pbc::MapField<string, bool> levelUpConditionFlags_ = new pbc::MapField<string, bool>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<string, bool> LevelUpConditionFlags {
    get { return levelUpConditionFlags_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdSpaceshipRoomLevelUp);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdSpaceshipRoomLevelUp 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 (Level != other.Level) return false;
    if (!LevelUpConditonValues.Equals(other.LevelUpConditonValues)) return false;
    if (!LevelUpConditionFlags.Equals(other.LevelUpConditionFlags)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Id.Length != 0) hash ^= Id.GetHashCode();
    if (Type != 0) hash ^= Type.GetHashCode();
    if (Level != 0) hash ^= Level.GetHashCode();
    hash ^= LevelUpConditonValues.GetHashCode();
    hash ^= LevelUpConditionFlags.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Id.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(Id);
    }
    if (Type != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(Type);
    }
    if (Level != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(Level);
    }
    levelUpConditonValues_.WriteTo(output, _map_levelUpConditonValues_codec);
    levelUpConditionFlags_.WriteTo(output, _map_levelUpConditionFlags_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Id.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(Id);
    }
    if (Type != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Type);
    }
    if (Level != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Level);
    }
    size += levelUpConditonValues_.CalculateSize(_map_levelUpConditonValues_codec);
    size += levelUpConditionFlags_.CalculateSize(_map_levelUpConditionFlags_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdSpaceshipRoomLevelUp other) {
    if (other == null) {
      return;
    }
    if (other.Id.Length != 0) {
      Id = other.Id;
    }
    if (other.Type != 0) {
      Type = other.Type;
    }
    if (other.Level != 0) {
      Level = other.Level;
    }
    levelUpConditonValues_.Add(other.levelUpConditonValues_);
    levelUpConditionFlags_.Add(other.levelUpConditionFlags_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          Id = input.ReadString();
          break;
        }
        case 16: {
          Type = input.ReadInt32();
          break;
        }
        case 24: {
          Level = input.ReadInt32();
          break;
        }
        case 34: {
          levelUpConditonValues_.AddEntriesFrom(input, _map_levelUpConditonValues_codec);
          break;
        }
        case 42: {
          levelUpConditionFlags_.AddEntriesFrom(input, _map_levelUpConditionFlags_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScdSpaceshipRoomStation : pb::IMessage<ScdSpaceshipRoomStation> {
  private static readonly pb::MessageParser<ScdSpaceshipRoomStation> _parser = new pb::MessageParser<ScdSpaceshipRoomStation>(() => new ScdSpaceshipRoomStation());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdSpaceshipRoomStation> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[992]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdSpaceshipRoomStation() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdSpaceshipRoomStation(ScdSpaceshipRoomStation other) : this() {
    id_ = other.id_;
    type_ = other.type_;
    stationedCharList_ = other.stationedCharList_.Clone();
    attrsMap_ = other.attrsMap_.Clone();
    hasCharWorking_ = other.hasCharWorking_;
    switch (other.ProduceStatusCase) {
      case ProduceStatusOneofCase.ManufacturingStationProduceStatus:
        ManufacturingStationProduceStatus = other.ManufacturingStationProduceStatus.Clone();
        break;
      case ProduceStatusOneofCase.GrowCabinProduceStatus:
        GrowCabinProduceStatus = other.GrowCabinProduceStatus.Clone();
        break;
    }

    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdSpaceshipRoomStation Clone() {
    return new ScdSpaceshipRoomStation(this);
  }

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

  /// <summary>Field number for the "type" field.</summary>
  public const int TypeFieldNumber = 2;
  private int type_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Type {
    get { return type_; }
    set {
      type_ = value;
    }
  }

  /// <summary>Field number for the "stationed_char_list" field.</summary>
  public const int StationedCharListFieldNumber = 3;
  private static readonly pb::FieldCodec<string> _repeated_stationedCharList_codec
      = pb::FieldCodec.ForString(26);
  private readonly pbc::RepeatedField<string> stationedCharList_ = new pbc::RepeatedField<string>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<string> StationedCharList {
    get { return stationedCharList_; }
  }

  /// <summary>Field number for the "attrs_map" field.</summary>
  public const int AttrsMapFieldNumber = 4;
  private static readonly pbc::MapField<int, global::ScdSpaceshipRoomAttr>.Codec _map_attrsMap_codec
      = new pbc::MapField<int, global::ScdSpaceshipRoomAttr>.Codec(pb::FieldCodec.ForInt32(8), pb::FieldCodec.ForMessage(18, global::ScdSpaceshipRoomAttr.Parser), 34);
  private readonly pbc::MapField<int, global::ScdSpaceshipRoomAttr> attrsMap_ = new pbc::MapField<int, global::ScdSpaceshipRoomAttr>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<int, global::ScdSpaceshipRoomAttr> AttrsMap {
    get { return attrsMap_; }
  }

  /// <summary>Field number for the "has_char_working" field.</summary>
  public const int HasCharWorkingFieldNumber = 5;
  private bool hasCharWorking_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool HasCharWorking {
    get { return hasCharWorking_; }
    set {
      hasCharWorking_ = value;
    }
  }

  /// <summary>Field number for the "manufacturing_station_produce_status" field.</summary>
  public const int ManufacturingStationProduceStatusFieldNumber = 21;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdSpaceshipManufacturingStationProduceStatus ManufacturingStationProduceStatus {
    get { return produceStatusCase_ == ProduceStatusOneofCase.ManufacturingStationProduceStatus ? (global::ScdSpaceshipManufacturingStationProduceStatus) produceStatus_ : null; }
    set {
      produceStatus_ = value;
      produceStatusCase_ = value == null ? ProduceStatusOneofCase.None : ProduceStatusOneofCase.ManufacturingStationProduceStatus;
    }
  }

  /// <summary>Field number for the "grow_cabin_produce_status" field.</summary>
  public const int GrowCabinProduceStatusFieldNumber = 22;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::ScdSpaceshipGrowCabinProduceStatus GrowCabinProduceStatus {
    get { return produceStatusCase_ == ProduceStatusOneofCase.GrowCabinProduceStatus ? (global::ScdSpaceshipGrowCabinProduceStatus) produceStatus_ : null; }
    set {
      produceStatus_ = value;
      produceStatusCase_ = value == null ? ProduceStatusOneofCase.None : ProduceStatusOneofCase.GrowCabinProduceStatus;
    }
  }

  private object produceStatus_;
  /// <summary>Enum of possible cases for the "produce_status" oneof.</summary>
  public enum ProduceStatusOneofCase {
    None = 0,
    ManufacturingStationProduceStatus = 21,
    GrowCabinProduceStatus = 22,
  }
  private ProduceStatusOneofCase produceStatusCase_ = ProduceStatusOneofCase.None;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ProduceStatusOneofCase ProduceStatusCase {
    get { return produceStatusCase_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void ClearProduceStatus() {
    produceStatusCase_ = ProduceStatusOneofCase.None;
    produceStatus_ = null;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdSpaceshipRoomStation);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdSpaceshipRoomStation 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(!stationedCharList_.Equals(other.stationedCharList_)) return false;
    if (!AttrsMap.Equals(other.AttrsMap)) return false;
    if (HasCharWorking != other.HasCharWorking) return false;
    if (!object.Equals(ManufacturingStationProduceStatus, other.ManufacturingStationProduceStatus)) return false;
    if (!object.Equals(GrowCabinProduceStatus, other.GrowCabinProduceStatus)) return false;
    if (ProduceStatusCase != other.ProduceStatusCase) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Id.Length != 0) hash ^= Id.GetHashCode();
    if (Type != 0) hash ^= Type.GetHashCode();
    hash ^= stationedCharList_.GetHashCode();
    hash ^= AttrsMap.GetHashCode();
    if (HasCharWorking != false) hash ^= HasCharWorking.GetHashCode();
    if (produceStatusCase_ == ProduceStatusOneofCase.ManufacturingStationProduceStatus) hash ^= ManufacturingStationProduceStatus.GetHashCode();
    if (produceStatusCase_ == ProduceStatusOneofCase.GrowCabinProduceStatus) hash ^= GrowCabinProduceStatus.GetHashCode();
    hash ^= (int) produceStatusCase_;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Id.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(Id);
    }
    if (Type != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(Type);
    }
    stationedCharList_.WriteTo(output, _repeated_stationedCharList_codec);
    attrsMap_.WriteTo(output, _map_attrsMap_codec);
    if (HasCharWorking != false) {
      output.WriteRawTag(40);
      output.WriteBool(HasCharWorking);
    }
    if (produceStatusCase_ == ProduceStatusOneofCase.ManufacturingStationProduceStatus) {
      output.WriteRawTag(170, 1);
      output.WriteMessage(ManufacturingStationProduceStatus);
    }
    if (produceStatusCase_ == ProduceStatusOneofCase.GrowCabinProduceStatus) {
      output.WriteRawTag(178, 1);
      output.WriteMessage(GrowCabinProduceStatus);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Id.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(Id);
    }
    if (Type != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Type);
    }
    size += stationedCharList_.CalculateSize(_repeated_stationedCharList_codec);
    size += attrsMap_.CalculateSize(_map_attrsMap_codec);
    if (HasCharWorking != false) {
      size += 1 + 1;
    }
    if (produceStatusCase_ == ProduceStatusOneofCase.ManufacturingStationProduceStatus) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(ManufacturingStationProduceStatus);
    }
    if (produceStatusCase_ == ProduceStatusOneofCase.GrowCabinProduceStatus) {
      size += 2 + pb::CodedOutputStream.ComputeMessageSize(GrowCabinProduceStatus);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdSpaceshipRoomStation other) {
    if (other == null) {
      return;
    }
    if (other.Id.Length != 0) {
      Id = other.Id;
    }
    if (other.Type != 0) {
      Type = other.Type;
    }
    stationedCharList_.Add(other.stationedCharList_);
    attrsMap_.Add(other.attrsMap_);
    if (other.HasCharWorking != false) {
      HasCharWorking = other.HasCharWorking;
    }
    switch (other.ProduceStatusCase) {
      case ProduceStatusOneofCase.ManufacturingStationProduceStatus:
        if (ManufacturingStationProduceStatus == null) {
          ManufacturingStationProduceStatus = new global::ScdSpaceshipManufacturingStationProduceStatus();
        }
        ManufacturingStationProduceStatus.MergeFrom(other.ManufacturingStationProduceStatus);
        break;
      case ProduceStatusOneofCase.GrowCabinProduceStatus:
        if (GrowCabinProduceStatus == null) {
          GrowCabinProduceStatus = new global::ScdSpaceshipGrowCabinProduceStatus();
        }
        GrowCabinProduceStatus.MergeFrom(other.GrowCabinProduceStatus);
        break;
    }

    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          Id = input.ReadString();
          break;
        }
        case 16: {
          Type = input.ReadInt32();
          break;
        }
        case 26: {
          stationedCharList_.AddEntriesFrom(input, _repeated_stationedCharList_codec);
          break;
        }
        case 34: {
          attrsMap_.AddEntriesFrom(input, _map_attrsMap_codec);
          break;
        }
        case 40: {
          HasCharWorking = input.ReadBool();
          break;
        }
        case 170: {
          global::ScdSpaceshipManufacturingStationProduceStatus subBuilder = new global::ScdSpaceshipManufacturingStationProduceStatus();
          if (produceStatusCase_ == ProduceStatusOneofCase.ManufacturingStationProduceStatus) {
            subBuilder.MergeFrom(ManufacturingStationProduceStatus);
          }
          input.ReadMessage(subBuilder);
          ManufacturingStationProduceStatus = subBuilder;
          break;
        }
        case 178: {
          global::ScdSpaceshipGrowCabinProduceStatus subBuilder = new global::ScdSpaceshipGrowCabinProduceStatus();
          if (produceStatusCase_ == ProduceStatusOneofCase.GrowCabinProduceStatus) {
            subBuilder.MergeFrom(GrowCabinProduceStatus);
          }
          input.ReadMessage(subBuilder);
          GrowCabinProduceStatus = subBuilder;
          break;
        }
      }
    }
  }

}

public sealed partial class ScdSpaceshipManufacturingStationProduceStatus : pb::IMessage<ScdSpaceshipManufacturingStationProduceStatus> {
  private static readonly pb::MessageParser<ScdSpaceshipManufacturingStationProduceStatus> _parser = new pb::MessageParser<ScdSpaceshipManufacturingStationProduceStatus>(() => new ScdSpaceshipManufacturingStationProduceStatus());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdSpaceshipManufacturingStationProduceStatus> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[993]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdSpaceshipManufacturingStationProduceStatus() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdSpaceshipManufacturingStationProduceStatus(ScdSpaceshipManufacturingStationProduceStatus other) : this() {
    remainProduceOrder_ = other.remainProduceOrder_ != null ? other.remainProduceOrder_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdSpaceshipManufacturingStationProduceStatus Clone() {
    return new ScdSpaceshipManufacturingStationProduceStatus(this);
  }

  /// <summary>Field number for the "remain_produce_order" field.</summary>
  public const int RemainProduceOrderFieldNumber = 1;
  private global::SpaceshipManufacturingOrder remainProduceOrder_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::SpaceshipManufacturingOrder RemainProduceOrder {
    get { return remainProduceOrder_; }
    set {
      remainProduceOrder_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdSpaceshipManufacturingStationProduceStatus);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdSpaceshipManufacturingStationProduceStatus other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!object.Equals(RemainProduceOrder, other.RemainProduceOrder)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (remainProduceOrder_ != null) hash ^= RemainProduceOrder.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (remainProduceOrder_ != null) {
      output.WriteRawTag(10);
      output.WriteMessage(RemainProduceOrder);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (remainProduceOrder_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(RemainProduceOrder);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdSpaceshipManufacturingStationProduceStatus other) {
    if (other == null) {
      return;
    }
    if (other.remainProduceOrder_ != null) {
      if (remainProduceOrder_ == null) {
        remainProduceOrder_ = new global::SpaceshipManufacturingOrder();
      }
      RemainProduceOrder.MergeFrom(other.RemainProduceOrder);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          if (remainProduceOrder_ == null) {
            remainProduceOrder_ = new global::SpaceshipManufacturingOrder();
          }
          input.ReadMessage(remainProduceOrder_);
          break;
        }
      }
    }
  }

}

public sealed partial class ScdSpaceshipGrowCabinProduceStatus : pb::IMessage<ScdSpaceshipGrowCabinProduceStatus> {
  private static readonly pb::MessageParser<ScdSpaceshipGrowCabinProduceStatus> _parser = new pb::MessageParser<ScdSpaceshipGrowCabinProduceStatus>(() => new ScdSpaceshipGrowCabinProduceStatus());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdSpaceshipGrowCabinProduceStatus> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[994]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdSpaceshipGrowCabinProduceStatus() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdSpaceshipGrowCabinProduceStatus(ScdSpaceshipGrowCabinProduceStatus other) : this() {
    boxes_ = other.boxes_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdSpaceshipGrowCabinProduceStatus Clone() {
    return new ScdSpaceshipGrowCabinProduceStatus(this);
  }

  /// <summary>Field number for the "boxes" field.</summary>
  public const int BoxesFieldNumber = 1;
  private static readonly pb::FieldCodec<global::ScdSpaceshipGrowBox> _repeated_boxes_codec
      = pb::FieldCodec.ForMessage(10, global::ScdSpaceshipGrowBox.Parser);
  private readonly pbc::RepeatedField<global::ScdSpaceshipGrowBox> boxes_ = new pbc::RepeatedField<global::ScdSpaceshipGrowBox>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdSpaceshipGrowBox> Boxes {
    get { return boxes_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdSpaceshipGrowCabinProduceStatus);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdSpaceshipGrowCabinProduceStatus other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!boxes_.Equals(other.boxes_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= boxes_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    boxes_.WriteTo(output, _repeated_boxes_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += boxes_.CalculateSize(_repeated_boxes_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdSpaceshipGrowCabinProduceStatus other) {
    if (other == null) {
      return;
    }
    boxes_.Add(other.boxes_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          boxes_.AddEntriesFrom(input, _repeated_boxes_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScdSpaceshipCharSkill : pb::IMessage<ScdSpaceshipCharSkill> {
  private static readonly pb::MessageParser<ScdSpaceshipCharSkill> _parser = new pb::MessageParser<ScdSpaceshipCharSkill>(() => new ScdSpaceshipCharSkill());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdSpaceshipCharSkill> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[995]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdSpaceshipCharSkill() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdSpaceshipCharSkill(ScdSpaceshipCharSkill other) : this() {
    index_ = other.index_;
    skillId_ = other.skillId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdSpaceshipCharSkill Clone() {
    return new ScdSpaceshipCharSkill(this);
  }

  /// <summary>Field number for the "index" field.</summary>
  public const int IndexFieldNumber = 1;
  private int index_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Index {
    get { return index_; }
    set {
      index_ = value;
    }
  }

  /// <summary>Field number for the "skill_id" field.</summary>
  public const int SkillIdFieldNumber = 2;
  private string skillId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string SkillId {
    get { return skillId_; }
    set {
      skillId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdSpaceshipCharSkill);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdSpaceshipCharSkill other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Index != other.Index) return false;
    if (SkillId != other.SkillId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Index != 0) hash ^= Index.GetHashCode();
    if (SkillId.Length != 0) hash ^= SkillId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Index != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(Index);
    }
    if (SkillId.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(SkillId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Index != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Index);
    }
    if (SkillId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(SkillId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdSpaceshipCharSkill other) {
    if (other == null) {
      return;
    }
    if (other.Index != 0) {
      Index = other.Index;
    }
    if (other.SkillId.Length != 0) {
      SkillId = other.SkillId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Index = input.ReadInt32();
          break;
        }
        case 18: {
          SkillId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdSpaceshipChar : pb::IMessage<ScdSpaceshipChar> {
  private static readonly pb::MessageParser<ScdSpaceshipChar> _parser = new pb::MessageParser<ScdSpaceshipChar>(() => new ScdSpaceshipChar());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdSpaceshipChar> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[996]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdSpaceshipChar() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdSpaceshipChar(ScdSpaceshipChar other) : this() {
    charId_ = other.charId_;
    physicalStrength_ = other.physicalStrength_;
    favorability_ = other.favorability_;
    stationedRoomId_ = other.stationedRoomId_;
    isWorking_ = other.isWorking_;
    skills_ = other.skills_.Clone();
    isPresented_ = other.isPresented_;
    recvGiftCnt_ = other.recvGiftCnt_;
    tempRewardId_ = other.tempRewardId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdSpaceshipChar Clone() {
    return new ScdSpaceshipChar(this);
  }

  /// <summary>Field number for the "char_id" field.</summary>
  public const int CharIdFieldNumber = 1;
  private string charId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string CharId {
    get { return charId_; }
    set {
      charId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "physical_strength" field.</summary>
  public const int PhysicalStrengthFieldNumber = 2;
  private float physicalStrength_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public float PhysicalStrength {
    get { return physicalStrength_; }
    set {
      physicalStrength_ = value;
    }
  }

  /// <summary>Field number for the "favorability" field.</summary>
  public const int FavorabilityFieldNumber = 3;
  private int favorability_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Favorability {
    get { return favorability_; }
    set {
      favorability_ = value;
    }
  }

  /// <summary>Field number for the "stationed_room_id" field.</summary>
  public const int StationedRoomIdFieldNumber = 4;
  private string stationedRoomId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string StationedRoomId {
    get { return stationedRoomId_; }
    set {
      stationedRoomId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "is_working" field.</summary>
  public const int IsWorkingFieldNumber = 5;
  private bool isWorking_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool IsWorking {
    get { return isWorking_; }
    set {
      isWorking_ = value;
    }
  }

  /// <summary>Field number for the "skills" field.</summary>
  public const int SkillsFieldNumber = 6;
  private static readonly pb::FieldCodec<global::ScdSpaceshipCharSkill> _repeated_skills_codec
      = pb::FieldCodec.ForMessage(50, global::ScdSpaceshipCharSkill.Parser);
  private readonly pbc::RepeatedField<global::ScdSpaceshipCharSkill> skills_ = new pbc::RepeatedField<global::ScdSpaceshipCharSkill>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdSpaceshipCharSkill> Skills {
    get { return skills_; }
  }

  /// <summary>Field number for the "is_presented" field.</summary>
  public const int IsPresentedFieldNumber = 7;
  private bool isPresented_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool IsPresented {
    get { return isPresented_; }
    set {
      isPresented_ = value;
    }
  }

  /// <summary>Field number for the "recv_gift_cnt" field.</summary>
  public const int RecvGiftCntFieldNumber = 8;
  private int recvGiftCnt_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int RecvGiftCnt {
    get { return recvGiftCnt_; }
    set {
      recvGiftCnt_ = value;
    }
  }

  /// <summary>Field number for the "temp_reward_id" field.</summary>
  public const int TempRewardIdFieldNumber = 9;
  private string tempRewardId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string TempRewardId {
    get { return tempRewardId_; }
    set {
      tempRewardId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdSpaceshipChar);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdSpaceshipChar other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (CharId != other.CharId) return false;
    if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(PhysicalStrength, other.PhysicalStrength)) return false;
    if (Favorability != other.Favorability) return false;
    if (StationedRoomId != other.StationedRoomId) return false;
    if (IsWorking != other.IsWorking) return false;
    if(!skills_.Equals(other.skills_)) return false;
    if (IsPresented != other.IsPresented) return false;
    if (RecvGiftCnt != other.RecvGiftCnt) return false;
    if (TempRewardId != other.TempRewardId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (CharId.Length != 0) hash ^= CharId.GetHashCode();
    if (PhysicalStrength != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(PhysicalStrength);
    if (Favorability != 0) hash ^= Favorability.GetHashCode();
    if (StationedRoomId.Length != 0) hash ^= StationedRoomId.GetHashCode();
    if (IsWorking != false) hash ^= IsWorking.GetHashCode();
    hash ^= skills_.GetHashCode();
    if (IsPresented != false) hash ^= IsPresented.GetHashCode();
    if (RecvGiftCnt != 0) hash ^= RecvGiftCnt.GetHashCode();
    if (TempRewardId.Length != 0) hash ^= TempRewardId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (CharId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(CharId);
    }
    if (PhysicalStrength != 0F) {
      output.WriteRawTag(21);
      output.WriteFloat(PhysicalStrength);
    }
    if (Favorability != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(Favorability);
    }
    if (StationedRoomId.Length != 0) {
      output.WriteRawTag(34);
      output.WriteString(StationedRoomId);
    }
    if (IsWorking != false) {
      output.WriteRawTag(40);
      output.WriteBool(IsWorking);
    }
    skills_.WriteTo(output, _repeated_skills_codec);
    if (IsPresented != false) {
      output.WriteRawTag(56);
      output.WriteBool(IsPresented);
    }
    if (RecvGiftCnt != 0) {
      output.WriteRawTag(64);
      output.WriteInt32(RecvGiftCnt);
    }
    if (TempRewardId.Length != 0) {
      output.WriteRawTag(74);
      output.WriteString(TempRewardId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (CharId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(CharId);
    }
    if (PhysicalStrength != 0F) {
      size += 1 + 4;
    }
    if (Favorability != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Favorability);
    }
    if (StationedRoomId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(StationedRoomId);
    }
    if (IsWorking != false) {
      size += 1 + 1;
    }
    size += skills_.CalculateSize(_repeated_skills_codec);
    if (IsPresented != false) {
      size += 1 + 1;
    }
    if (RecvGiftCnt != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(RecvGiftCnt);
    }
    if (TempRewardId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(TempRewardId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdSpaceshipChar other) {
    if (other == null) {
      return;
    }
    if (other.CharId.Length != 0) {
      CharId = other.CharId;
    }
    if (other.PhysicalStrength != 0F) {
      PhysicalStrength = other.PhysicalStrength;
    }
    if (other.Favorability != 0) {
      Favorability = other.Favorability;
    }
    if (other.StationedRoomId.Length != 0) {
      StationedRoomId = other.StationedRoomId;
    }
    if (other.IsWorking != false) {
      IsWorking = other.IsWorking;
    }
    skills_.Add(other.skills_);
    if (other.IsPresented != false) {
      IsPresented = other.IsPresented;
    }
    if (other.RecvGiftCnt != 0) {
      RecvGiftCnt = other.RecvGiftCnt;
    }
    if (other.TempRewardId.Length != 0) {
      TempRewardId = other.TempRewardId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          CharId = input.ReadString();
          break;
        }
        case 21: {
          PhysicalStrength = input.ReadFloat();
          break;
        }
        case 24: {
          Favorability = input.ReadInt32();
          break;
        }
        case 34: {
          StationedRoomId = input.ReadString();
          break;
        }
        case 40: {
          IsWorking = input.ReadBool();
          break;
        }
        case 50: {
          skills_.AddEntriesFrom(input, _repeated_skills_codec);
          break;
        }
        case 56: {
          IsPresented = input.ReadBool();
          break;
        }
        case 64: {
          RecvGiftCnt = input.ReadInt32();
          break;
        }
        case 74: {
          TempRewardId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class ScdSpaceshipCharSkillList : pb::IMessage<ScdSpaceshipCharSkillList> {
  private static readonly pb::MessageParser<ScdSpaceshipCharSkillList> _parser = new pb::MessageParser<ScdSpaceshipCharSkillList>(() => new ScdSpaceshipCharSkillList());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdSpaceshipCharSkillList> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[997]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdSpaceshipCharSkillList() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdSpaceshipCharSkillList(ScdSpaceshipCharSkillList other) : this() {
    charId_ = other.charId_;
    skills_ = other.skills_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdSpaceshipCharSkillList Clone() {
    return new ScdSpaceshipCharSkillList(this);
  }

  /// <summary>Field number for the "char_id" field.</summary>
  public const int CharIdFieldNumber = 1;
  private string charId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string CharId {
    get { return charId_; }
    set {
      charId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "skills" field.</summary>
  public const int SkillsFieldNumber = 2;
  private static readonly pb::FieldCodec<global::ScdSpaceshipCharSkill> _repeated_skills_codec
      = pb::FieldCodec.ForMessage(18, global::ScdSpaceshipCharSkill.Parser);
  private readonly pbc::RepeatedField<global::ScdSpaceshipCharSkill> skills_ = new pbc::RepeatedField<global::ScdSpaceshipCharSkill>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdSpaceshipCharSkill> Skills {
    get { return skills_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdSpaceshipCharSkillList);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdSpaceshipCharSkillList other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (CharId != other.CharId) return false;
    if(!skills_.Equals(other.skills_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (CharId.Length != 0) hash ^= CharId.GetHashCode();
    hash ^= skills_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (CharId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(CharId);
    }
    skills_.WriteTo(output, _repeated_skills_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (CharId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(CharId);
    }
    size += skills_.CalculateSize(_repeated_skills_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdSpaceshipCharSkillList other) {
    if (other == null) {
      return;
    }
    if (other.CharId.Length != 0) {
      CharId = other.CharId;
    }
    skills_.Add(other.skills_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          CharId = input.ReadString();
          break;
        }
        case 18: {
          skills_.AddEntriesFrom(input, _repeated_skills_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScdSpaceshipCharStation : pb::IMessage<ScdSpaceshipCharStation> {
  private static readonly pb::MessageParser<ScdSpaceshipCharStation> _parser = new pb::MessageParser<ScdSpaceshipCharStation>(() => new ScdSpaceshipCharStation());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdSpaceshipCharStation> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[998]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdSpaceshipCharStation() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdSpaceshipCharStation(ScdSpaceshipCharStation other) : this() {
    charId_ = other.charId_;
    stationedRoomId_ = other.stationedRoomId_;
    isWorking_ = other.isWorking_;
    physicalStrength_ = other.physicalStrength_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdSpaceshipCharStation Clone() {
    return new ScdSpaceshipCharStation(this);
  }

  /// <summary>Field number for the "char_id" field.</summary>
  public const int CharIdFieldNumber = 1;
  private string charId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string CharId {
    get { return charId_; }
    set {
      charId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "stationed_room_id" field.</summary>
  public const int StationedRoomIdFieldNumber = 2;
  private string stationedRoomId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string StationedRoomId {
    get { return stationedRoomId_; }
    set {
      stationedRoomId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "is_working" field.</summary>
  public const int IsWorkingFieldNumber = 3;
  private bool isWorking_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool IsWorking {
    get { return isWorking_; }
    set {
      isWorking_ = value;
    }
  }

  /// <summary>Field number for the "physical_strength" field.</summary>
  public const int PhysicalStrengthFieldNumber = 4;
  private float physicalStrength_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public float PhysicalStrength {
    get { return physicalStrength_; }
    set {
      physicalStrength_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdSpaceshipCharStation);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdSpaceshipCharStation other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (CharId != other.CharId) return false;
    if (StationedRoomId != other.StationedRoomId) return false;
    if (IsWorking != other.IsWorking) return false;
    if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(PhysicalStrength, other.PhysicalStrength)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (CharId.Length != 0) hash ^= CharId.GetHashCode();
    if (StationedRoomId.Length != 0) hash ^= StationedRoomId.GetHashCode();
    if (IsWorking != false) hash ^= IsWorking.GetHashCode();
    if (PhysicalStrength != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(PhysicalStrength);
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (CharId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(CharId);
    }
    if (StationedRoomId.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(StationedRoomId);
    }
    if (IsWorking != false) {
      output.WriteRawTag(24);
      output.WriteBool(IsWorking);
    }
    if (PhysicalStrength != 0F) {
      output.WriteRawTag(37);
      output.WriteFloat(PhysicalStrength);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (CharId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(CharId);
    }
    if (StationedRoomId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(StationedRoomId);
    }
    if (IsWorking != false) {
      size += 1 + 1;
    }
    if (PhysicalStrength != 0F) {
      size += 1 + 4;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdSpaceshipCharStation other) {
    if (other == null) {
      return;
    }
    if (other.CharId.Length != 0) {
      CharId = other.CharId;
    }
    if (other.StationedRoomId.Length != 0) {
      StationedRoomId = other.StationedRoomId;
    }
    if (other.IsWorking != false) {
      IsWorking = other.IsWorking;
    }
    if (other.PhysicalStrength != 0F) {
      PhysicalStrength = other.PhysicalStrength;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          CharId = input.ReadString();
          break;
        }
        case 18: {
          StationedRoomId = input.ReadString();
          break;
        }
        case 24: {
          IsWorking = input.ReadBool();
          break;
        }
        case 37: {
          PhysicalStrength = input.ReadFloat();
          break;
        }
      }
    }
  }

}

public sealed partial class ScSpaceshipSync : pb::IMessage<ScSpaceshipSync> {
  private static readonly pb::MessageParser<ScSpaceshipSync> _parser = new pb::MessageParser<ScSpaceshipSync>(() => new ScSpaceshipSync());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSpaceshipSync> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[999]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSpaceshipSync() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSpaceshipSync(ScSpaceshipSync other) : this() {
    rooms_ = other.rooms_.Clone();
    chars_ = other.chars_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSpaceshipSync Clone() {
    return new ScSpaceshipSync(this);
  }

  /// <summary>Field number for the "rooms" field.</summary>
  public const int RoomsFieldNumber = 1;
  private static readonly pb::FieldCodec<global::ScdSpaceshipRoom> _repeated_rooms_codec
      = pb::FieldCodec.ForMessage(10, global::ScdSpaceshipRoom.Parser);
  private readonly pbc::RepeatedField<global::ScdSpaceshipRoom> rooms_ = new pbc::RepeatedField<global::ScdSpaceshipRoom>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdSpaceshipRoom> Rooms {
    get { return rooms_; }
  }

  /// <summary>Field number for the "chars" field.</summary>
  public const int CharsFieldNumber = 2;
  private static readonly pb::FieldCodec<global::ScdSpaceshipChar> _repeated_chars_codec
      = pb::FieldCodec.ForMessage(18, global::ScdSpaceshipChar.Parser);
  private readonly pbc::RepeatedField<global::ScdSpaceshipChar> chars_ = new pbc::RepeatedField<global::ScdSpaceshipChar>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdSpaceshipChar> Chars {
    get { return chars_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSpaceshipSync);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSpaceshipSync other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!rooms_.Equals(other.rooms_)) return false;
    if(!chars_.Equals(other.chars_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= rooms_.GetHashCode();
    hash ^= chars_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    rooms_.WriteTo(output, _repeated_rooms_codec);
    chars_.WriteTo(output, _repeated_chars_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += rooms_.CalculateSize(_repeated_rooms_codec);
    size += chars_.CalculateSize(_repeated_chars_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSpaceshipSync other) {
    if (other == null) {
      return;
    }
    rooms_.Add(other.rooms_);
    chars_.Add(other.chars_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          rooms_.AddEntriesFrom(input, _repeated_rooms_codec);
          break;
        }
        case 18: {
          chars_.AddEntriesFrom(input, _repeated_chars_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScSpaceshipModifyRoom : pb::IMessage<ScSpaceshipModifyRoom> {
  private static readonly pb::MessageParser<ScSpaceshipModifyRoom> _parser = new pb::MessageParser<ScSpaceshipModifyRoom>(() => new ScSpaceshipModifyRoom());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSpaceshipModifyRoom> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1000]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSpaceshipModifyRoom() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSpaceshipModifyRoom(ScSpaceshipModifyRoom other) : this() {
    rooms_ = other.rooms_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSpaceshipModifyRoom Clone() {
    return new ScSpaceshipModifyRoom(this);
  }

  /// <summary>Field number for the "rooms" field.</summary>
  public const int RoomsFieldNumber = 1;
  private static readonly pb::FieldCodec<global::ScdSpaceshipRoom> _repeated_rooms_codec
      = pb::FieldCodec.ForMessage(10, global::ScdSpaceshipRoom.Parser);
  private readonly pbc::RepeatedField<global::ScdSpaceshipRoom> rooms_ = new pbc::RepeatedField<global::ScdSpaceshipRoom>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdSpaceshipRoom> Rooms {
    get { return rooms_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSpaceshipModifyRoom);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSpaceshipModifyRoom other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!rooms_.Equals(other.rooms_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= rooms_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    rooms_.WriteTo(output, _repeated_rooms_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += rooms_.CalculateSize(_repeated_rooms_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSpaceshipModifyRoom other) {
    if (other == null) {
      return;
    }
    rooms_.Add(other.rooms_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          rooms_.AddEntriesFrom(input, _repeated_rooms_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScSpaceshipSyncRoomLevelUp : pb::IMessage<ScSpaceshipSyncRoomLevelUp> {
  private static readonly pb::MessageParser<ScSpaceshipSyncRoomLevelUp> _parser = new pb::MessageParser<ScSpaceshipSyncRoomLevelUp>(() => new ScSpaceshipSyncRoomLevelUp());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSpaceshipSyncRoomLevelUp> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1001]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSpaceshipSyncRoomLevelUp() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSpaceshipSyncRoomLevelUp(ScSpaceshipSyncRoomLevelUp other) : this() {
    roomLevelUpInfos_ = other.roomLevelUpInfos_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSpaceshipSyncRoomLevelUp Clone() {
    return new ScSpaceshipSyncRoomLevelUp(this);
  }

  /// <summary>Field number for the "room_level_up_infos" field.</summary>
  public const int RoomLevelUpInfosFieldNumber = 1;
  private static readonly pb::FieldCodec<global::ScdSpaceshipRoomLevelUp> _repeated_roomLevelUpInfos_codec
      = pb::FieldCodec.ForMessage(10, global::ScdSpaceshipRoomLevelUp.Parser);
  private readonly pbc::RepeatedField<global::ScdSpaceshipRoomLevelUp> roomLevelUpInfos_ = new pbc::RepeatedField<global::ScdSpaceshipRoomLevelUp>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdSpaceshipRoomLevelUp> RoomLevelUpInfos {
    get { return roomLevelUpInfos_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSpaceshipSyncRoomLevelUp);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSpaceshipSyncRoomLevelUp other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!roomLevelUpInfos_.Equals(other.roomLevelUpInfos_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= roomLevelUpInfos_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    roomLevelUpInfos_.WriteTo(output, _repeated_roomLevelUpInfos_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += roomLevelUpInfos_.CalculateSize(_repeated_roomLevelUpInfos_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSpaceshipSyncRoomLevelUp other) {
    if (other == null) {
      return;
    }
    roomLevelUpInfos_.Add(other.roomLevelUpInfos_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          roomLevelUpInfos_.AddEntriesFrom(input, _repeated_roomLevelUpInfos_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScSpaceshipModifyChar : pb::IMessage<ScSpaceshipModifyChar> {
  private static readonly pb::MessageParser<ScSpaceshipModifyChar> _parser = new pb::MessageParser<ScSpaceshipModifyChar>(() => new ScSpaceshipModifyChar());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSpaceshipModifyChar> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1002]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSpaceshipModifyChar() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSpaceshipModifyChar(ScSpaceshipModifyChar other) : this() {
    chars_ = other.chars_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSpaceshipModifyChar Clone() {
    return new ScSpaceshipModifyChar(this);
  }

  /// <summary>Field number for the "chars" field.</summary>
  public const int CharsFieldNumber = 1;
  private static readonly pb::FieldCodec<global::ScdSpaceshipChar> _repeated_chars_codec
      = pb::FieldCodec.ForMessage(10, global::ScdSpaceshipChar.Parser);
  private readonly pbc::RepeatedField<global::ScdSpaceshipChar> chars_ = new pbc::RepeatedField<global::ScdSpaceshipChar>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdSpaceshipChar> Chars {
    get { return chars_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSpaceshipModifyChar);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSpaceshipModifyChar other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!chars_.Equals(other.chars_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= chars_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    chars_.WriteTo(output, _repeated_chars_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += chars_.CalculateSize(_repeated_chars_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSpaceshipModifyChar other) {
    if (other == null) {
      return;
    }
    chars_.Add(other.chars_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          chars_.AddEntriesFrom(input, _repeated_chars_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScSpaceshipSyncCharSkill : pb::IMessage<ScSpaceshipSyncCharSkill> {
  private static readonly pb::MessageParser<ScSpaceshipSyncCharSkill> _parser = new pb::MessageParser<ScSpaceshipSyncCharSkill>(() => new ScSpaceshipSyncCharSkill());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSpaceshipSyncCharSkill> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1003]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSpaceshipSyncCharSkill() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSpaceshipSyncCharSkill(ScSpaceshipSyncCharSkill other) : this() {
    charSkills_ = other.charSkills_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSpaceshipSyncCharSkill Clone() {
    return new ScSpaceshipSyncCharSkill(this);
  }

  /// <summary>Field number for the "char_skills" field.</summary>
  public const int CharSkillsFieldNumber = 1;
  private static readonly pb::FieldCodec<global::ScdSpaceshipCharSkillList> _repeated_charSkills_codec
      = pb::FieldCodec.ForMessage(10, global::ScdSpaceshipCharSkillList.Parser);
  private readonly pbc::RepeatedField<global::ScdSpaceshipCharSkillList> charSkills_ = new pbc::RepeatedField<global::ScdSpaceshipCharSkillList>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdSpaceshipCharSkillList> CharSkills {
    get { return charSkills_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSpaceshipSyncCharSkill);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSpaceshipSyncCharSkill other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!charSkills_.Equals(other.charSkills_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= charSkills_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    charSkills_.WriteTo(output, _repeated_charSkills_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += charSkills_.CalculateSize(_repeated_charSkills_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSpaceshipSyncCharSkill other) {
    if (other == null) {
      return;
    }
    charSkills_.Add(other.charSkills_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          charSkills_.AddEntriesFrom(input, _repeated_charSkills_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScSpaceshipSyncRoomStation : pb::IMessage<ScSpaceshipSyncRoomStation> {
  private static readonly pb::MessageParser<ScSpaceshipSyncRoomStation> _parser = new pb::MessageParser<ScSpaceshipSyncRoomStation>(() => new ScSpaceshipSyncRoomStation());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSpaceshipSyncRoomStation> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1004]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSpaceshipSyncRoomStation() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSpaceshipSyncRoomStation(ScSpaceshipSyncRoomStation other) : this() {
    rooms_ = other.rooms_.Clone();
    chars_ = other.chars_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSpaceshipSyncRoomStation Clone() {
    return new ScSpaceshipSyncRoomStation(this);
  }

  /// <summary>Field number for the "rooms" field.</summary>
  public const int RoomsFieldNumber = 1;
  private static readonly pb::FieldCodec<global::ScdSpaceshipRoomStation> _repeated_rooms_codec
      = pb::FieldCodec.ForMessage(10, global::ScdSpaceshipRoomStation.Parser);
  private readonly pbc::RepeatedField<global::ScdSpaceshipRoomStation> rooms_ = new pbc::RepeatedField<global::ScdSpaceshipRoomStation>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdSpaceshipRoomStation> Rooms {
    get { return rooms_; }
  }

  /// <summary>Field number for the "chars" field.</summary>
  public const int CharsFieldNumber = 2;
  private static readonly pb::FieldCodec<global::ScdSpaceshipCharStation> _repeated_chars_codec
      = pb::FieldCodec.ForMessage(18, global::ScdSpaceshipCharStation.Parser);
  private readonly pbc::RepeatedField<global::ScdSpaceshipCharStation> chars_ = new pbc::RepeatedField<global::ScdSpaceshipCharStation>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdSpaceshipCharStation> Chars {
    get { return chars_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSpaceshipSyncRoomStation);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSpaceshipSyncRoomStation other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!rooms_.Equals(other.rooms_)) return false;
    if(!chars_.Equals(other.chars_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= rooms_.GetHashCode();
    hash ^= chars_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    rooms_.WriteTo(output, _repeated_rooms_codec);
    chars_.WriteTo(output, _repeated_chars_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += rooms_.CalculateSize(_repeated_rooms_codec);
    size += chars_.CalculateSize(_repeated_chars_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSpaceshipSyncRoomStation other) {
    if (other == null) {
      return;
    }
    rooms_.Add(other.rooms_);
    chars_.Add(other.chars_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          rooms_.AddEntriesFrom(input, _repeated_rooms_codec);
          break;
        }
        case 18: {
          chars_.AddEntriesFrom(input, _repeated_chars_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class CharPresentGiftInfo : pb::IMessage<CharPresentGiftInfo> {
  private static readonly pb::MessageParser<CharPresentGiftInfo> _parser = new pb::MessageParser<CharPresentGiftInfo>(() => new CharPresentGiftInfo());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CharPresentGiftInfo> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1005]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CharPresentGiftInfo() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CharPresentGiftInfo(CharPresentGiftInfo other) : this() {
    charId_ = other.charId_;
    rewardId_ = other.rewardId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CharPresentGiftInfo Clone() {
    return new CharPresentGiftInfo(this);
  }

  /// <summary>Field number for the "char_id" field.</summary>
  public const int CharIdFieldNumber = 1;
  private string charId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string CharId {
    get { return charId_; }
    set {
      charId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "reward_id" field.</summary>
  public const int RewardIdFieldNumber = 2;
  private string rewardId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string RewardId {
    get { return rewardId_; }
    set {
      rewardId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CharPresentGiftInfo);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CharPresentGiftInfo other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (CharId != other.CharId) return false;
    if (RewardId != other.RewardId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (CharId.Length != 0) hash ^= CharId.GetHashCode();
    if (RewardId.Length != 0) hash ^= RewardId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (CharId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(CharId);
    }
    if (RewardId.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(RewardId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (CharId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(CharId);
    }
    if (RewardId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(RewardId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CharPresentGiftInfo other) {
    if (other == null) {
      return;
    }
    if (other.CharId.Length != 0) {
      CharId = other.CharId;
    }
    if (other.RewardId.Length != 0) {
      RewardId = other.RewardId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          CharId = input.ReadString();
          break;
        }
        case 18: {
          RewardId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class ScSpaceshipPresentCharInfo : pb::IMessage<ScSpaceshipPresentCharInfo> {
  private static readonly pb::MessageParser<ScSpaceshipPresentCharInfo> _parser = new pb::MessageParser<ScSpaceshipPresentCharInfo>(() => new ScSpaceshipPresentCharInfo());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSpaceshipPresentCharInfo> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1006]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSpaceshipPresentCharInfo() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSpaceshipPresentCharInfo(ScSpaceshipPresentCharInfo other) : this() {
    giftInfos_ = other.giftInfos_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSpaceshipPresentCharInfo Clone() {
    return new ScSpaceshipPresentCharInfo(this);
  }

  /// <summary>Field number for the "gift_infos" field.</summary>
  public const int GiftInfosFieldNumber = 1;
  private static readonly pb::FieldCodec<global::CharPresentGiftInfo> _repeated_giftInfos_codec
      = pb::FieldCodec.ForMessage(10, global::CharPresentGiftInfo.Parser);
  private readonly pbc::RepeatedField<global::CharPresentGiftInfo> giftInfos_ = new pbc::RepeatedField<global::CharPresentGiftInfo>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::CharPresentGiftInfo> GiftInfos {
    get { return giftInfos_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSpaceshipPresentCharInfo);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSpaceshipPresentCharInfo other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!giftInfos_.Equals(other.giftInfos_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= giftInfos_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    giftInfos_.WriteTo(output, _repeated_giftInfos_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += giftInfos_.CalculateSize(_repeated_giftInfos_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSpaceshipPresentCharInfo other) {
    if (other == null) {
      return;
    }
    giftInfos_.Add(other.giftInfos_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          giftInfos_.AddEntriesFrom(input, _repeated_giftInfos_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class SpaceshipCharFavorabilityChangeInfo : pb::IMessage<SpaceshipCharFavorabilityChangeInfo> {
  private static readonly pb::MessageParser<SpaceshipCharFavorabilityChangeInfo> _parser = new pb::MessageParser<SpaceshipCharFavorabilityChangeInfo>(() => new SpaceshipCharFavorabilityChangeInfo());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<SpaceshipCharFavorabilityChangeInfo> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1007]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SpaceshipCharFavorabilityChangeInfo() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SpaceshipCharFavorabilityChangeInfo(SpaceshipCharFavorabilityChangeInfo other) : this() {
    charId_ = other.charId_;
    curFav_ = other.curFav_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SpaceshipCharFavorabilityChangeInfo Clone() {
    return new SpaceshipCharFavorabilityChangeInfo(this);
  }

  /// <summary>Field number for the "char_id" field.</summary>
  public const int CharIdFieldNumber = 1;
  private string charId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string CharId {
    get { return charId_; }
    set {
      charId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "cur_fav" field.</summary>
  public const int CurFavFieldNumber = 2;
  private int curFav_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CurFav {
    get { return curFav_; }
    set {
      curFav_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as SpaceshipCharFavorabilityChangeInfo);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(SpaceshipCharFavorabilityChangeInfo other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (CharId != other.CharId) return false;
    if (CurFav != other.CurFav) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (CharId.Length != 0) hash ^= CharId.GetHashCode();
    if (CurFav != 0) hash ^= CurFav.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (CharId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(CharId);
    }
    if (CurFav != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(CurFav);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (CharId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(CharId);
    }
    if (CurFav != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(CurFav);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(SpaceshipCharFavorabilityChangeInfo other) {
    if (other == null) {
      return;
    }
    if (other.CharId.Length != 0) {
      CharId = other.CharId;
    }
    if (other.CurFav != 0) {
      CurFav = other.CurFav;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          CharId = input.ReadString();
          break;
        }
        case 16: {
          CurFav = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScSpaceshipCharFavorabilityChange : pb::IMessage<ScSpaceshipCharFavorabilityChange> {
  private static readonly pb::MessageParser<ScSpaceshipCharFavorabilityChange> _parser = new pb::MessageParser<ScSpaceshipCharFavorabilityChange>(() => new ScSpaceshipCharFavorabilityChange());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSpaceshipCharFavorabilityChange> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1008]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSpaceshipCharFavorabilityChange() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSpaceshipCharFavorabilityChange(ScSpaceshipCharFavorabilityChange other) : this() {
    changeInfos_ = other.changeInfos_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSpaceshipCharFavorabilityChange Clone() {
    return new ScSpaceshipCharFavorabilityChange(this);
  }

  /// <summary>Field number for the "change_infos" field.</summary>
  public const int ChangeInfosFieldNumber = 1;
  private static readonly pb::FieldCodec<global::SpaceshipCharFavorabilityChangeInfo> _repeated_changeInfos_codec
      = pb::FieldCodec.ForMessage(10, global::SpaceshipCharFavorabilityChangeInfo.Parser);
  private readonly pbc::RepeatedField<global::SpaceshipCharFavorabilityChangeInfo> changeInfos_ = new pbc::RepeatedField<global::SpaceshipCharFavorabilityChangeInfo>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::SpaceshipCharFavorabilityChangeInfo> ChangeInfos {
    get { return changeInfos_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSpaceshipCharFavorabilityChange);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSpaceshipCharFavorabilityChange other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!changeInfos_.Equals(other.changeInfos_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= changeInfos_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    changeInfos_.WriteTo(output, _repeated_changeInfos_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += changeInfos_.CalculateSize(_repeated_changeInfos_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSpaceshipCharFavorabilityChange other) {
    if (other == null) {
      return;
    }
    changeInfos_.Add(other.changeInfos_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          changeInfos_.AddEntriesFrom(input, _repeated_changeInfos_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScSpaceshipRecvGiftFromChar : pb::IMessage<ScSpaceshipRecvGiftFromChar> {
  private static readonly pb::MessageParser<ScSpaceshipRecvGiftFromChar> _parser = new pb::MessageParser<ScSpaceshipRecvGiftFromChar>(() => new ScSpaceshipRecvGiftFromChar());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSpaceshipRecvGiftFromChar> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1009]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSpaceshipRecvGiftFromChar() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSpaceshipRecvGiftFromChar(ScSpaceshipRecvGiftFromChar other) : this() {
    charId_ = other.charId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSpaceshipRecvGiftFromChar Clone() {
    return new ScSpaceshipRecvGiftFromChar(this);
  }

  /// <summary>Field number for the "char_id" field.</summary>
  public const int CharIdFieldNumber = 1;
  private string charId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string CharId {
    get { return charId_; }
    set {
      charId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSpaceshipRecvGiftFromChar);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSpaceshipRecvGiftFromChar other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (CharId != other.CharId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (CharId.Length != 0) hash ^= CharId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (CharId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(CharId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (CharId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(CharId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSpaceshipRecvGiftFromChar other) {
    if (other == null) {
      return;
    }
    if (other.CharId.Length != 0) {
      CharId = other.CharId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          CharId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class ScSpaceshipPresentGiftToChar : pb::IMessage<ScSpaceshipPresentGiftToChar> {
  private static readonly pb::MessageParser<ScSpaceshipPresentGiftToChar> _parser = new pb::MessageParser<ScSpaceshipPresentGiftToChar>(() => new ScSpaceshipPresentGiftToChar());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSpaceshipPresentGiftToChar> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1010]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSpaceshipPresentGiftToChar() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSpaceshipPresentGiftToChar(ScSpaceshipPresentGiftToChar other) : this() {
    charId_ = other.charId_;
    curFav_ = other.curFav_;
    recvGiftCnt_ = other.recvGiftCnt_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSpaceshipPresentGiftToChar Clone() {
    return new ScSpaceshipPresentGiftToChar(this);
  }

  /// <summary>Field number for the "char_id" field.</summary>
  public const int CharIdFieldNumber = 1;
  private string charId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string CharId {
    get { return charId_; }
    set {
      charId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "cur_fav" field.</summary>
  public const int CurFavFieldNumber = 2;
  private int curFav_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CurFav {
    get { return curFav_; }
    set {
      curFav_ = value;
    }
  }

  /// <summary>Field number for the "recv_gift_cnt" field.</summary>
  public const int RecvGiftCntFieldNumber = 3;
  private int recvGiftCnt_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int RecvGiftCnt {
    get { return recvGiftCnt_; }
    set {
      recvGiftCnt_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSpaceshipPresentGiftToChar);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSpaceshipPresentGiftToChar other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (CharId != other.CharId) return false;
    if (CurFav != other.CurFav) return false;
    if (RecvGiftCnt != other.RecvGiftCnt) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (CharId.Length != 0) hash ^= CharId.GetHashCode();
    if (CurFav != 0) hash ^= CurFav.GetHashCode();
    if (RecvGiftCnt != 0) hash ^= RecvGiftCnt.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (CharId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(CharId);
    }
    if (CurFav != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(CurFav);
    }
    if (RecvGiftCnt != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(RecvGiftCnt);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (CharId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(CharId);
    }
    if (CurFav != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(CurFav);
    }
    if (RecvGiftCnt != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(RecvGiftCnt);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSpaceshipPresentGiftToChar other) {
    if (other == null) {
      return;
    }
    if (other.CharId.Length != 0) {
      CharId = other.CharId;
    }
    if (other.CurFav != 0) {
      CurFav = other.CurFav;
    }
    if (other.RecvGiftCnt != 0) {
      RecvGiftCnt = other.RecvGiftCnt;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          CharId = input.ReadString();
          break;
        }
        case 16: {
          CurFav = input.ReadInt32();
          break;
        }
        case 24: {
          RecvGiftCnt = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScSpaceshipManufacturingStationSync : pb::IMessage<ScSpaceshipManufacturingStationSync> {
  private static readonly pb::MessageParser<ScSpaceshipManufacturingStationSync> _parser = new pb::MessageParser<ScSpaceshipManufacturingStationSync>(() => new ScSpaceshipManufacturingStationSync());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSpaceshipManufacturingStationSync> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1011]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSpaceshipManufacturingStationSync() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSpaceshipManufacturingStationSync(ScSpaceshipManufacturingStationSync other) : this() {
    roomId_ = other.roomId_;
    remainProduceOrder_ = other.remainProduceOrder_ != null ? other.remainProduceOrder_.Clone() : null;
    productMap_ = other.productMap_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSpaceshipManufacturingStationSync Clone() {
    return new ScSpaceshipManufacturingStationSync(this);
  }

  /// <summary>Field number for the "room_id" field.</summary>
  public const int RoomIdFieldNumber = 1;
  private string roomId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string RoomId {
    get { return roomId_; }
    set {
      roomId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "remain_produce_order" field.</summary>
  public const int RemainProduceOrderFieldNumber = 2;
  private global::SpaceshipManufacturingOrder remainProduceOrder_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::SpaceshipManufacturingOrder RemainProduceOrder {
    get { return remainProduceOrder_; }
    set {
      remainProduceOrder_ = value;
    }
  }

  /// <summary>Field number for the "product_map" field.</summary>
  public const int ProductMapFieldNumber = 3;
  private static readonly pbc::MapField<string, int>.Codec _map_productMap_codec
      = new pbc::MapField<string, int>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForInt32(16), 26);
  private readonly pbc::MapField<string, int> productMap_ = new pbc::MapField<string, int>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<string, int> ProductMap {
    get { return productMap_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSpaceshipManufacturingStationSync);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSpaceshipManufacturingStationSync other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (RoomId != other.RoomId) return false;
    if (!object.Equals(RemainProduceOrder, other.RemainProduceOrder)) return false;
    if (!ProductMap.Equals(other.ProductMap)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (RoomId.Length != 0) hash ^= RoomId.GetHashCode();
    if (remainProduceOrder_ != null) hash ^= RemainProduceOrder.GetHashCode();
    hash ^= ProductMap.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (RoomId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(RoomId);
    }
    if (remainProduceOrder_ != null) {
      output.WriteRawTag(18);
      output.WriteMessage(RemainProduceOrder);
    }
    productMap_.WriteTo(output, _map_productMap_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (RoomId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(RoomId);
    }
    if (remainProduceOrder_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(RemainProduceOrder);
    }
    size += productMap_.CalculateSize(_map_productMap_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSpaceshipManufacturingStationSync other) {
    if (other == null) {
      return;
    }
    if (other.RoomId.Length != 0) {
      RoomId = other.RoomId;
    }
    if (other.remainProduceOrder_ != null) {
      if (remainProduceOrder_ == null) {
        remainProduceOrder_ = new global::SpaceshipManufacturingOrder();
      }
      RemainProduceOrder.MergeFrom(other.RemainProduceOrder);
    }
    productMap_.Add(other.productMap_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          RoomId = input.ReadString();
          break;
        }
        case 18: {
          if (remainProduceOrder_ == null) {
            remainProduceOrder_ = new global::SpaceshipManufacturingOrder();
          }
          input.ReadMessage(remainProduceOrder_);
          break;
        }
        case 26: {
          productMap_.AddEntriesFrom(input, _map_productMap_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScSpaceshipManufacturingStationCancel : pb::IMessage<ScSpaceshipManufacturingStationCancel> {
  private static readonly pb::MessageParser<ScSpaceshipManufacturingStationCancel> _parser = new pb::MessageParser<ScSpaceshipManufacturingStationCancel>(() => new ScSpaceshipManufacturingStationCancel());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSpaceshipManufacturingStationCancel> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1012]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSpaceshipManufacturingStationCancel() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSpaceshipManufacturingStationCancel(ScSpaceshipManufacturingStationCancel other) : this() {
    roomId_ = other.roomId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSpaceshipManufacturingStationCancel Clone() {
    return new ScSpaceshipManufacturingStationCancel(this);
  }

  /// <summary>Field number for the "room_id" field.</summary>
  public const int RoomIdFieldNumber = 1;
  private string roomId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string RoomId {
    get { return roomId_; }
    set {
      roomId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSpaceshipManufacturingStationCancel);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSpaceshipManufacturingStationCancel other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (RoomId != other.RoomId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (RoomId.Length != 0) hash ^= RoomId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (RoomId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(RoomId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (RoomId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(RoomId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSpaceshipManufacturingStationCancel other) {
    if (other == null) {
      return;
    }
    if (other.RoomId.Length != 0) {
      RoomId = other.RoomId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          RoomId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class ScSpaceshipManufacturingStationCollect : pb::IMessage<ScSpaceshipManufacturingStationCollect> {
  private static readonly pb::MessageParser<ScSpaceshipManufacturingStationCollect> _parser = new pb::MessageParser<ScSpaceshipManufacturingStationCollect>(() => new ScSpaceshipManufacturingStationCollect());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSpaceshipManufacturingStationCollect> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1013]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSpaceshipManufacturingStationCollect() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSpaceshipManufacturingStationCollect(ScSpaceshipManufacturingStationCollect other) : this() {
    roomId_ = other.roomId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSpaceshipManufacturingStationCollect Clone() {
    return new ScSpaceshipManufacturingStationCollect(this);
  }

  /// <summary>Field number for the "room_id" field.</summary>
  public const int RoomIdFieldNumber = 1;
  private string roomId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string RoomId {
    get { return roomId_; }
    set {
      roomId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSpaceshipManufacturingStationCollect);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSpaceshipManufacturingStationCollect other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (RoomId != other.RoomId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (RoomId.Length != 0) hash ^= RoomId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (RoomId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(RoomId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (RoomId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(RoomId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSpaceshipManufacturingStationCollect other) {
    if (other == null) {
      return;
    }
    if (other.RoomId.Length != 0) {
      RoomId = other.RoomId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          RoomId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class ScSpaceshipModifyGrowCabin : pb::IMessage<ScSpaceshipModifyGrowCabin> {
  private static readonly pb::MessageParser<ScSpaceshipModifyGrowCabin> _parser = new pb::MessageParser<ScSpaceshipModifyGrowCabin>(() => new ScSpaceshipModifyGrowCabin());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSpaceshipModifyGrowCabin> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1014]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSpaceshipModifyGrowCabin() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSpaceshipModifyGrowCabin(ScSpaceshipModifyGrowCabin other) : this() {
    id_ = other.id_;
    boxes_ = other.boxes_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSpaceshipModifyGrowCabin Clone() {
    return new ScSpaceshipModifyGrowCabin(this);
  }

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

  /// <summary>Field number for the "boxes" field.</summary>
  public const int BoxesFieldNumber = 2;
  private static readonly pb::FieldCodec<global::ScdSpaceshipGrowBox> _repeated_boxes_codec
      = pb::FieldCodec.ForMessage(18, global::ScdSpaceshipGrowBox.Parser);
  private readonly pbc::RepeatedField<global::ScdSpaceshipGrowBox> boxes_ = new pbc::RepeatedField<global::ScdSpaceshipGrowBox>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdSpaceshipGrowBox> Boxes {
    get { return boxes_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSpaceshipModifyGrowCabin);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSpaceshipModifyGrowCabin other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Id != other.Id) return false;
    if(!boxes_.Equals(other.boxes_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Id.Length != 0) hash ^= Id.GetHashCode();
    hash ^= boxes_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Id.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(Id);
    }
    boxes_.WriteTo(output, _repeated_boxes_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Id.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(Id);
    }
    size += boxes_.CalculateSize(_repeated_boxes_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSpaceshipModifyGrowCabin other) {
    if (other == null) {
      return;
    }
    if (other.Id.Length != 0) {
      Id = other.Id;
    }
    boxes_.Add(other.boxes_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          Id = input.ReadString();
          break;
        }
        case 18: {
          boxes_.AddEntriesFrom(input, _repeated_boxes_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScSpaceshipGrowCabinBreed : pb::IMessage<ScSpaceshipGrowCabinBreed> {
  private static readonly pb::MessageParser<ScSpaceshipGrowCabinBreed> _parser = new pb::MessageParser<ScSpaceshipGrowCabinBreed>(() => new ScSpaceshipGrowCabinBreed());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSpaceshipGrowCabinBreed> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1015]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSpaceshipGrowCabinBreed() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSpaceshipGrowCabinBreed(ScSpaceshipGrowCabinBreed other) : this() {
    items_ = other.items_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSpaceshipGrowCabinBreed Clone() {
    return new ScSpaceshipGrowCabinBreed(this);
  }

  /// <summary>Field number for the "items" field.</summary>
  public const int ItemsFieldNumber = 1;
  private static readonly pb::FieldCodec<global::ItemBundle> _repeated_items_codec
      = pb::FieldCodec.ForMessage(10, global::ItemBundle.Parser);
  private readonly pbc::RepeatedField<global::ItemBundle> items_ = new pbc::RepeatedField<global::ItemBundle>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ItemBundle> Items {
    get { return items_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSpaceshipGrowCabinBreed);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSpaceshipGrowCabinBreed other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!items_.Equals(other.items_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= items_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    items_.WriteTo(output, _repeated_items_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += items_.CalculateSize(_repeated_items_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSpaceshipGrowCabinBreed other) {
    if (other == null) {
      return;
    }
    items_.Add(other.items_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          items_.AddEntriesFrom(input, _repeated_items_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScSpaceshipGrowCabinSow : pb::IMessage<ScSpaceshipGrowCabinSow> {
  private static readonly pb::MessageParser<ScSpaceshipGrowCabinSow> _parser = new pb::MessageParser<ScSpaceshipGrowCabinSow>(() => new ScSpaceshipGrowCabinSow());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSpaceshipGrowCabinSow> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1016]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSpaceshipGrowCabinSow() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSpaceshipGrowCabinSow(ScSpaceshipGrowCabinSow other) : this() {
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSpaceshipGrowCabinSow Clone() {
    return new ScSpaceshipGrowCabinSow(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSpaceshipGrowCabinSow);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSpaceshipGrowCabinSow other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSpaceshipGrowCabinSow other) {
    if (other == null) {
      return;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
      }
    }
  }

}

public sealed partial class ScSpaceshipGrowCabinHarvest : pb::IMessage<ScSpaceshipGrowCabinHarvest> {
  private static readonly pb::MessageParser<ScSpaceshipGrowCabinHarvest> _parser = new pb::MessageParser<ScSpaceshipGrowCabinHarvest>(() => new ScSpaceshipGrowCabinHarvest());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSpaceshipGrowCabinHarvest> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1017]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSpaceshipGrowCabinHarvest() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSpaceshipGrowCabinHarvest(ScSpaceshipGrowCabinHarvest other) : this() {
    items_ = other.items_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSpaceshipGrowCabinHarvest Clone() {
    return new ScSpaceshipGrowCabinHarvest(this);
  }

  /// <summary>Field number for the "items" field.</summary>
  public const int ItemsFieldNumber = 1;
  private static readonly pb::FieldCodec<global::ItemBundle> _repeated_items_codec
      = pb::FieldCodec.ForMessage(10, global::ItemBundle.Parser);
  private readonly pbc::RepeatedField<global::ItemBundle> items_ = new pbc::RepeatedField<global::ItemBundle>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ItemBundle> Items {
    get { return items_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSpaceshipGrowCabinHarvest);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSpaceshipGrowCabinHarvest other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!items_.Equals(other.items_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= items_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    items_.WriteTo(output, _repeated_items_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += items_.CalculateSize(_repeated_items_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSpaceshipGrowCabinHarvest other) {
    if (other == null) {
      return;
    }
    items_.Add(other.items_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          items_.AddEntriesFrom(input, _repeated_items_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScSpaceshipGrowCabinCancel : pb::IMessage<ScSpaceshipGrowCabinCancel> {
  private static readonly pb::MessageParser<ScSpaceshipGrowCabinCancel> _parser = new pb::MessageParser<ScSpaceshipGrowCabinCancel>(() => new ScSpaceshipGrowCabinCancel());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSpaceshipGrowCabinCancel> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1018]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSpaceshipGrowCabinCancel() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSpaceshipGrowCabinCancel(ScSpaceshipGrowCabinCancel other) : this() {
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSpaceshipGrowCabinCancel Clone() {
    return new ScSpaceshipGrowCabinCancel(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSpaceshipGrowCabinCancel);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSpaceshipGrowCabinCancel other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSpaceshipGrowCabinCancel other) {
    if (other == null) {
      return;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
      }
    }
  }

}

public sealed partial class ScSpaceshipReportCharWorkModify : pb::IMessage<ScSpaceshipReportCharWorkModify> {
  private static readonly pb::MessageParser<ScSpaceshipReportCharWorkModify> _parser = new pb::MessageParser<ScSpaceshipReportCharWorkModify>(() => new ScSpaceshipReportCharWorkModify());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSpaceshipReportCharWorkModify> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1019]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSpaceshipReportCharWorkModify() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSpaceshipReportCharWorkModify(ScSpaceshipReportCharWorkModify other) : this() {
    roomCharWorkRecord_ = other.roomCharWorkRecord_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSpaceshipReportCharWorkModify Clone() {
    return new ScSpaceshipReportCharWorkModify(this);
  }

  /// <summary>Field number for the "room_char_work_record" field.</summary>
  public const int RoomCharWorkRecordFieldNumber = 1;
  private static readonly pb::FieldCodec<global::ScdSpaceshipRoomReportCharWorkModify> _repeated_roomCharWorkRecord_codec
      = pb::FieldCodec.ForMessage(10, global::ScdSpaceshipRoomReportCharWorkModify.Parser);
  private readonly pbc::RepeatedField<global::ScdSpaceshipRoomReportCharWorkModify> roomCharWorkRecord_ = new pbc::RepeatedField<global::ScdSpaceshipRoomReportCharWorkModify>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScdSpaceshipRoomReportCharWorkModify> RoomCharWorkRecord {
    get { return roomCharWorkRecord_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSpaceshipReportCharWorkModify);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSpaceshipReportCharWorkModify other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!roomCharWorkRecord_.Equals(other.roomCharWorkRecord_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= roomCharWorkRecord_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    roomCharWorkRecord_.WriteTo(output, _repeated_roomCharWorkRecord_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += roomCharWorkRecord_.CalculateSize(_repeated_roomCharWorkRecord_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSpaceshipReportCharWorkModify other) {
    if (other == null) {
      return;
    }
    roomCharWorkRecord_.Add(other.roomCharWorkRecord_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          roomCharWorkRecord_.AddEntriesFrom(input, _repeated_roomCharWorkRecord_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScdSpaceshipRoomReportCharWorkModify : pb::IMessage<ScdSpaceshipRoomReportCharWorkModify> {
  private static readonly pb::MessageParser<ScdSpaceshipRoomReportCharWorkModify> _parser = new pb::MessageParser<ScdSpaceshipRoomReportCharWorkModify>(() => new ScdSpaceshipRoomReportCharWorkModify());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdSpaceshipRoomReportCharWorkModify> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1020]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdSpaceshipRoomReportCharWorkModify() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdSpaceshipRoomReportCharWorkModify(ScdSpaceshipRoomReportCharWorkModify other) : this() {
    roomId_ = other.roomId_;
    ts_ = other.ts_;
    charWorkRecord_ = other.charWorkRecord_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdSpaceshipRoomReportCharWorkModify Clone() {
    return new ScdSpaceshipRoomReportCharWorkModify(this);
  }

  /// <summary>Field number for the "room_id" field.</summary>
  public const int RoomIdFieldNumber = 1;
  private string roomId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string RoomId {
    get { return roomId_; }
    set {
      roomId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "ts" field.</summary>
  public const int TsFieldNumber = 2;
  private long ts_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long Ts {
    get { return ts_; }
    set {
      ts_ = value;
    }
  }

  /// <summary>Field number for the "char_work_record" field.</summary>
  public const int CharWorkRecordFieldNumber = 3;
  private static readonly pb::FieldCodec<int> _repeated_charWorkRecord_codec
      = pb::FieldCodec.ForInt32(26);
  private readonly pbc::RepeatedField<int> charWorkRecord_ = new pbc::RepeatedField<int>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<int> CharWorkRecord {
    get { return charWorkRecord_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdSpaceshipRoomReportCharWorkModify);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdSpaceshipRoomReportCharWorkModify other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (RoomId != other.RoomId) return false;
    if (Ts != other.Ts) return false;
    if(!charWorkRecord_.Equals(other.charWorkRecord_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (RoomId.Length != 0) hash ^= RoomId.GetHashCode();
    if (Ts != 0L) hash ^= Ts.GetHashCode();
    hash ^= charWorkRecord_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (RoomId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(RoomId);
    }
    if (Ts != 0L) {
      output.WriteRawTag(16);
      output.WriteInt64(Ts);
    }
    charWorkRecord_.WriteTo(output, _repeated_charWorkRecord_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (RoomId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(RoomId);
    }
    if (Ts != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(Ts);
    }
    size += charWorkRecord_.CalculateSize(_repeated_charWorkRecord_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdSpaceshipRoomReportCharWorkModify other) {
    if (other == null) {
      return;
    }
    if (other.RoomId.Length != 0) {
      RoomId = other.RoomId;
    }
    if (other.Ts != 0L) {
      Ts = other.Ts;
    }
    charWorkRecord_.Add(other.charWorkRecord_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          RoomId = input.ReadString();
          break;
        }
        case 16: {
          Ts = input.ReadInt64();
          break;
        }
        case 26:
        case 24: {
          charWorkRecord_.AddEntriesFrom(input, _repeated_charWorkRecord_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScSpaceshipReportOutputModify : pb::IMessage<ScSpaceshipReportOutputModify> {
  private static readonly pb::MessageParser<ScSpaceshipReportOutputModify> _parser = new pb::MessageParser<ScSpaceshipReportOutputModify>(() => new ScSpaceshipReportOutputModify());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSpaceshipReportOutputModify> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1021]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSpaceshipReportOutputModify() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSpaceshipReportOutputModify(ScSpaceshipReportOutputModify other) : this() {
    roomId_ = other.roomId_;
    outputReport_ = other.outputReport_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSpaceshipReportOutputModify Clone() {
    return new ScSpaceshipReportOutputModify(this);
  }

  /// <summary>Field number for the "room_id" field.</summary>
  public const int RoomIdFieldNumber = 1;
  private string roomId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string RoomId {
    get { return roomId_; }
    set {
      roomId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "output_report" field.</summary>
  public const int OutputReportFieldNumber = 2;
  private static readonly pbc::MapField<long, global::ScdSpaceshipRoomReportOutput>.Codec _map_outputReport_codec
      = new pbc::MapField<long, global::ScdSpaceshipRoomReportOutput>.Codec(pb::FieldCodec.ForInt64(8), pb::FieldCodec.ForMessage(18, global::ScdSpaceshipRoomReportOutput.Parser), 18);
  private readonly pbc::MapField<long, global::ScdSpaceshipRoomReportOutput> outputReport_ = new pbc::MapField<long, global::ScdSpaceshipRoomReportOutput>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<long, global::ScdSpaceshipRoomReportOutput> OutputReport {
    get { return outputReport_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSpaceshipReportOutputModify);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSpaceshipReportOutputModify other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (RoomId != other.RoomId) return false;
    if (!OutputReport.Equals(other.OutputReport)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (RoomId.Length != 0) hash ^= RoomId.GetHashCode();
    hash ^= OutputReport.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (RoomId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(RoomId);
    }
    outputReport_.WriteTo(output, _map_outputReport_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (RoomId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(RoomId);
    }
    size += outputReport_.CalculateSize(_map_outputReport_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSpaceshipReportOutputModify other) {
    if (other == null) {
      return;
    }
    if (other.RoomId.Length != 0) {
      RoomId = other.RoomId;
    }
    outputReport_.Add(other.outputReport_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          RoomId = input.ReadString();
          break;
        }
        case 18: {
          outputReport_.AddEntriesFrom(input, _map_outputReport_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScdSpaceshipRoomReportOutput : pb::IMessage<ScdSpaceshipRoomReportOutput> {
  private static readonly pb::MessageParser<ScdSpaceshipRoomReportOutput> _parser = new pb::MessageParser<ScdSpaceshipRoomReportOutput>(() => new ScdSpaceshipRoomReportOutput());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScdSpaceshipRoomReportOutput> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1022]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdSpaceshipRoomReportOutput() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdSpaceshipRoomReportOutput(ScdSpaceshipRoomReportOutput other) : this() {
    output_ = other.output_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScdSpaceshipRoomReportOutput Clone() {
    return new ScdSpaceshipRoomReportOutput(this);
  }

  /// <summary>Field number for the "output" field.</summary>
  public const int OutputFieldNumber = 1;
  private static readonly pbc::MapField<int, int>.Codec _map_output_codec
      = new pbc::MapField<int, int>.Codec(pb::FieldCodec.ForInt32(8), pb::FieldCodec.ForInt32(16), 10);
  private readonly pbc::MapField<int, int> output_ = new pbc::MapField<int, int>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<int, int> Output {
    get { return output_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScdSpaceshipRoomReportOutput);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScdSpaceshipRoomReportOutput other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!Output.Equals(other.Output)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= Output.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    output_.WriteTo(output, _map_output_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += output_.CalculateSize(_map_output_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScdSpaceshipRoomReportOutput other) {
    if (other == null) {
      return;
    }
    output_.Add(other.output_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          output_.AddEntriesFrom(input, _map_output_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScSpaceshipManufacturingStationStart : pb::IMessage<ScSpaceshipManufacturingStationStart> {
  private static readonly pb::MessageParser<ScSpaceshipManufacturingStationStart> _parser = new pb::MessageParser<ScSpaceshipManufacturingStationStart>(() => new ScSpaceshipManufacturingStationStart());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSpaceshipManufacturingStationStart> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1023]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSpaceshipManufacturingStationStart() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSpaceshipManufacturingStationStart(ScSpaceshipManufacturingStationStart other) : this() {
    roomId_ = other.roomId_;
    remainProduceOrder_ = other.remainProduceOrder_ != null ? other.remainProduceOrder_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSpaceshipManufacturingStationStart Clone() {
    return new ScSpaceshipManufacturingStationStart(this);
  }

  /// <summary>Field number for the "room_id" field.</summary>
  public const int RoomIdFieldNumber = 1;
  private string roomId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string RoomId {
    get { return roomId_; }
    set {
      roomId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "remain_produce_order" field.</summary>
  public const int RemainProduceOrderFieldNumber = 2;
  private global::SpaceshipManufacturingOrder remainProduceOrder_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::SpaceshipManufacturingOrder RemainProduceOrder {
    get { return remainProduceOrder_; }
    set {
      remainProduceOrder_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSpaceshipManufacturingStationStart);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSpaceshipManufacturingStationStart other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (RoomId != other.RoomId) return false;
    if (!object.Equals(RemainProduceOrder, other.RemainProduceOrder)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (RoomId.Length != 0) hash ^= RoomId.GetHashCode();
    if (remainProduceOrder_ != null) hash ^= RemainProduceOrder.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (RoomId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(RoomId);
    }
    if (remainProduceOrder_ != null) {
      output.WriteRawTag(18);
      output.WriteMessage(RemainProduceOrder);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (RoomId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(RoomId);
    }
    if (remainProduceOrder_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(RemainProduceOrder);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSpaceshipManufacturingStationStart other) {
    if (other == null) {
      return;
    }
    if (other.RoomId.Length != 0) {
      RoomId = other.RoomId;
    }
    if (other.remainProduceOrder_ != null) {
      if (remainProduceOrder_ == null) {
        remainProduceOrder_ = new global::SpaceshipManufacturingOrder();
      }
      RemainProduceOrder.MergeFrom(other.RemainProduceOrder);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          RoomId = input.ReadString();
          break;
        }
        case 18: {
          if (remainProduceOrder_ == null) {
            remainProduceOrder_ = new global::SpaceshipManufacturingOrder();
          }
          input.ReadMessage(remainProduceOrder_);
          break;
        }
      }
    }
  }

}

public sealed partial class CsSpaceshipBuildRoom : pb::IMessage<CsSpaceshipBuildRoom> {
  private static readonly pb::MessageParser<CsSpaceshipBuildRoom> _parser = new pb::MessageParser<CsSpaceshipBuildRoom>(() => new CsSpaceshipBuildRoom());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsSpaceshipBuildRoom> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1024]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSpaceshipBuildRoom() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSpaceshipBuildRoom(CsSpaceshipBuildRoom other) : this() {
    roomId_ = other.roomId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSpaceshipBuildRoom Clone() {
    return new CsSpaceshipBuildRoom(this);
  }

  /// <summary>Field number for the "room_id" field.</summary>
  public const int RoomIdFieldNumber = 1;
  private string roomId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string RoomId {
    get { return roomId_; }
    set {
      roomId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsSpaceshipBuildRoom);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsSpaceshipBuildRoom other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (RoomId != other.RoomId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (RoomId.Length != 0) hash ^= RoomId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (RoomId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(RoomId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (RoomId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(RoomId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsSpaceshipBuildRoom other) {
    if (other == null) {
      return;
    }
    if (other.RoomId.Length != 0) {
      RoomId = other.RoomId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          RoomId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class CsSpaceshipLevelUpRoom : pb::IMessage<CsSpaceshipLevelUpRoom> {
  private static readonly pb::MessageParser<CsSpaceshipLevelUpRoom> _parser = new pb::MessageParser<CsSpaceshipLevelUpRoom>(() => new CsSpaceshipLevelUpRoom());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsSpaceshipLevelUpRoom> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1025]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSpaceshipLevelUpRoom() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSpaceshipLevelUpRoom(CsSpaceshipLevelUpRoom other) : this() {
    roomId_ = other.roomId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSpaceshipLevelUpRoom Clone() {
    return new CsSpaceshipLevelUpRoom(this);
  }

  /// <summary>Field number for the "room_id" field.</summary>
  public const int RoomIdFieldNumber = 1;
  private string roomId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string RoomId {
    get { return roomId_; }
    set {
      roomId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsSpaceshipLevelUpRoom);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsSpaceshipLevelUpRoom other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (RoomId != other.RoomId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (RoomId.Length != 0) hash ^= RoomId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (RoomId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(RoomId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (RoomId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(RoomId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsSpaceshipLevelUpRoom other) {
    if (other == null) {
      return;
    }
    if (other.RoomId.Length != 0) {
      RoomId = other.RoomId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          RoomId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class CsSpaceshipStationChar : pb::IMessage<CsSpaceshipStationChar> {
  private static readonly pb::MessageParser<CsSpaceshipStationChar> _parser = new pb::MessageParser<CsSpaceshipStationChar>(() => new CsSpaceshipStationChar());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsSpaceshipStationChar> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1026]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSpaceshipStationChar() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSpaceshipStationChar(CsSpaceshipStationChar other) : this() {
    roomId_ = other.roomId_;
    stationedCharList_ = other.stationedCharList_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSpaceshipStationChar Clone() {
    return new CsSpaceshipStationChar(this);
  }

  /// <summary>Field number for the "room_id" field.</summary>
  public const int RoomIdFieldNumber = 1;
  private string roomId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string RoomId {
    get { return roomId_; }
    set {
      roomId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "stationed_char_list" field.</summary>
  public const int StationedCharListFieldNumber = 2;
  private static readonly pb::FieldCodec<string> _repeated_stationedCharList_codec
      = pb::FieldCodec.ForString(18);
  private readonly pbc::RepeatedField<string> stationedCharList_ = new pbc::RepeatedField<string>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<string> StationedCharList {
    get { return stationedCharList_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsSpaceshipStationChar);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsSpaceshipStationChar other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (RoomId != other.RoomId) return false;
    if(!stationedCharList_.Equals(other.stationedCharList_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (RoomId.Length != 0) hash ^= RoomId.GetHashCode();
    hash ^= stationedCharList_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (RoomId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(RoomId);
    }
    stationedCharList_.WriteTo(output, _repeated_stationedCharList_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (RoomId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(RoomId);
    }
    size += stationedCharList_.CalculateSize(_repeated_stationedCharList_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsSpaceshipStationChar other) {
    if (other == null) {
      return;
    }
    if (other.RoomId.Length != 0) {
      RoomId = other.RoomId;
    }
    stationedCharList_.Add(other.stationedCharList_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          RoomId = input.ReadString();
          break;
        }
        case 18: {
          stationedCharList_.AddEntriesFrom(input, _repeated_stationedCharList_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class CsSpaceshipStationCharChangeWorkState : pb::IMessage<CsSpaceshipStationCharChangeWorkState> {
  private static readonly pb::MessageParser<CsSpaceshipStationCharChangeWorkState> _parser = new pb::MessageParser<CsSpaceshipStationCharChangeWorkState>(() => new CsSpaceshipStationCharChangeWorkState());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsSpaceshipStationCharChangeWorkState> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1027]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSpaceshipStationCharChangeWorkState() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSpaceshipStationCharChangeWorkState(CsSpaceshipStationCharChangeWorkState other) : this() {
    charId_ = other.charId_;
    goToWork_ = other.goToWork_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSpaceshipStationCharChangeWorkState Clone() {
    return new CsSpaceshipStationCharChangeWorkState(this);
  }

  /// <summary>Field number for the "char_id" field.</summary>
  public const int CharIdFieldNumber = 1;
  private string charId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string CharId {
    get { return charId_; }
    set {
      charId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "go_to_work" field.</summary>
  public const int GoToWorkFieldNumber = 2;
  private bool goToWork_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool GoToWork {
    get { return goToWork_; }
    set {
      goToWork_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsSpaceshipStationCharChangeWorkState);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsSpaceshipStationCharChangeWorkState other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (CharId != other.CharId) return false;
    if (GoToWork != other.GoToWork) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (CharId.Length != 0) hash ^= CharId.GetHashCode();
    if (GoToWork != false) hash ^= GoToWork.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (CharId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(CharId);
    }
    if (GoToWork != false) {
      output.WriteRawTag(16);
      output.WriteBool(GoToWork);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (CharId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(CharId);
    }
    if (GoToWork != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsSpaceshipStationCharChangeWorkState other) {
    if (other == null) {
      return;
    }
    if (other.CharId.Length != 0) {
      CharId = other.CharId;
    }
    if (other.GoToWork != false) {
      GoToWork = other.GoToWork;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          CharId = input.ReadString();
          break;
        }
        case 16: {
          GoToWork = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class CsSpaceshipPresentGiftToChar : pb::IMessage<CsSpaceshipPresentGiftToChar> {
  private static readonly pb::MessageParser<CsSpaceshipPresentGiftToChar> _parser = new pb::MessageParser<CsSpaceshipPresentGiftToChar>(() => new CsSpaceshipPresentGiftToChar());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsSpaceshipPresentGiftToChar> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1028]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSpaceshipPresentGiftToChar() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSpaceshipPresentGiftToChar(CsSpaceshipPresentGiftToChar other) : this() {
    charId_ = other.charId_;
    gifts_ = other.gifts_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSpaceshipPresentGiftToChar Clone() {
    return new CsSpaceshipPresentGiftToChar(this);
  }

  /// <summary>Field number for the "char_id" field.</summary>
  public const int CharIdFieldNumber = 1;
  private string charId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string CharId {
    get { return charId_; }
    set {
      charId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "gifts" field.</summary>
  public const int GiftsFieldNumber = 2;
  private static readonly pb::FieldCodec<global::ItemBundle> _repeated_gifts_codec
      = pb::FieldCodec.ForMessage(18, global::ItemBundle.Parser);
  private readonly pbc::RepeatedField<global::ItemBundle> gifts_ = new pbc::RepeatedField<global::ItemBundle>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ItemBundle> Gifts {
    get { return gifts_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsSpaceshipPresentGiftToChar);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsSpaceshipPresentGiftToChar other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (CharId != other.CharId) return false;
    if(!gifts_.Equals(other.gifts_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (CharId.Length != 0) hash ^= CharId.GetHashCode();
    hash ^= gifts_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (CharId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(CharId);
    }
    gifts_.WriteTo(output, _repeated_gifts_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (CharId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(CharId);
    }
    size += gifts_.CalculateSize(_repeated_gifts_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsSpaceshipPresentGiftToChar other) {
    if (other == null) {
      return;
    }
    if (other.CharId.Length != 0) {
      CharId = other.CharId;
    }
    gifts_.Add(other.gifts_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          CharId = input.ReadString();
          break;
        }
        case 18: {
          gifts_.AddEntriesFrom(input, _repeated_gifts_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class CsSpaceshipRecvGiftFromChar : pb::IMessage<CsSpaceshipRecvGiftFromChar> {
  private static readonly pb::MessageParser<CsSpaceshipRecvGiftFromChar> _parser = new pb::MessageParser<CsSpaceshipRecvGiftFromChar>(() => new CsSpaceshipRecvGiftFromChar());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsSpaceshipRecvGiftFromChar> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1029]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSpaceshipRecvGiftFromChar() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSpaceshipRecvGiftFromChar(CsSpaceshipRecvGiftFromChar other) : this() {
    charId_ = other.charId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSpaceshipRecvGiftFromChar Clone() {
    return new CsSpaceshipRecvGiftFromChar(this);
  }

  /// <summary>Field number for the "char_id" field.</summary>
  public const int CharIdFieldNumber = 1;
  private string charId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string CharId {
    get { return charId_; }
    set {
      charId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsSpaceshipRecvGiftFromChar);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsSpaceshipRecvGiftFromChar other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (CharId != other.CharId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (CharId.Length != 0) hash ^= CharId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (CharId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(CharId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (CharId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(CharId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsSpaceshipRecvGiftFromChar other) {
    if (other == null) {
      return;
    }
    if (other.CharId.Length != 0) {
      CharId = other.CharId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          CharId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class CsSpaceshipManufacturingStationCollect : pb::IMessage<CsSpaceshipManufacturingStationCollect> {
  private static readonly pb::MessageParser<CsSpaceshipManufacturingStationCollect> _parser = new pb::MessageParser<CsSpaceshipManufacturingStationCollect>(() => new CsSpaceshipManufacturingStationCollect());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsSpaceshipManufacturingStationCollect> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1030]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSpaceshipManufacturingStationCollect() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSpaceshipManufacturingStationCollect(CsSpaceshipManufacturingStationCollect other) : this() {
    roomId_ = other.roomId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSpaceshipManufacturingStationCollect Clone() {
    return new CsSpaceshipManufacturingStationCollect(this);
  }

  /// <summary>Field number for the "room_id" field.</summary>
  public const int RoomIdFieldNumber = 1;
  private string roomId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string RoomId {
    get { return roomId_; }
    set {
      roomId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsSpaceshipManufacturingStationCollect);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsSpaceshipManufacturingStationCollect other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (RoomId != other.RoomId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (RoomId.Length != 0) hash ^= RoomId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (RoomId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(RoomId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (RoomId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(RoomId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsSpaceshipManufacturingStationCollect other) {
    if (other == null) {
      return;
    }
    if (other.RoomId.Length != 0) {
      RoomId = other.RoomId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          RoomId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class CsSpaceshipManufacturingStationStart : pb::IMessage<CsSpaceshipManufacturingStationStart> {
  private static readonly pb::MessageParser<CsSpaceshipManufacturingStationStart> _parser = new pb::MessageParser<CsSpaceshipManufacturingStationStart>(() => new CsSpaceshipManufacturingStationStart());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsSpaceshipManufacturingStationStart> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1031]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSpaceshipManufacturingStationStart() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSpaceshipManufacturingStationStart(CsSpaceshipManufacturingStationStart other) : this() {
    roomId_ = other.roomId_;
    formulaId_ = other.formulaId_;
    count_ = other.count_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSpaceshipManufacturingStationStart Clone() {
    return new CsSpaceshipManufacturingStationStart(this);
  }

  /// <summary>Field number for the "room_id" field.</summary>
  public const int RoomIdFieldNumber = 1;
  private string roomId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string RoomId {
    get { return roomId_; }
    set {
      roomId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "formula_id" field.</summary>
  public const int FormulaIdFieldNumber = 2;
  private string formulaId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string FormulaId {
    get { return formulaId_; }
    set {
      formulaId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "count" field.</summary>
  public const int CountFieldNumber = 3;
  private int count_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Count {
    get { return count_; }
    set {
      count_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsSpaceshipManufacturingStationStart);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsSpaceshipManufacturingStationStart other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (RoomId != other.RoomId) return false;
    if (FormulaId != other.FormulaId) return false;
    if (Count != other.Count) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (RoomId.Length != 0) hash ^= RoomId.GetHashCode();
    if (FormulaId.Length != 0) hash ^= FormulaId.GetHashCode();
    if (Count != 0) hash ^= Count.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (RoomId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(RoomId);
    }
    if (FormulaId.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(FormulaId);
    }
    if (Count != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(Count);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (RoomId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(RoomId);
    }
    if (FormulaId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(FormulaId);
    }
    if (Count != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Count);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsSpaceshipManufacturingStationStart other) {
    if (other == null) {
      return;
    }
    if (other.RoomId.Length != 0) {
      RoomId = other.RoomId;
    }
    if (other.FormulaId.Length != 0) {
      FormulaId = other.FormulaId;
    }
    if (other.Count != 0) {
      Count = other.Count;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          RoomId = input.ReadString();
          break;
        }
        case 18: {
          FormulaId = input.ReadString();
          break;
        }
        case 24: {
          Count = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class CsSpaceshipManufacturingStationCancel : pb::IMessage<CsSpaceshipManufacturingStationCancel> {
  private static readonly pb::MessageParser<CsSpaceshipManufacturingStationCancel> _parser = new pb::MessageParser<CsSpaceshipManufacturingStationCancel>(() => new CsSpaceshipManufacturingStationCancel());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsSpaceshipManufacturingStationCancel> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1032]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSpaceshipManufacturingStationCancel() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSpaceshipManufacturingStationCancel(CsSpaceshipManufacturingStationCancel other) : this() {
    roomId_ = other.roomId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSpaceshipManufacturingStationCancel Clone() {
    return new CsSpaceshipManufacturingStationCancel(this);
  }

  /// <summary>Field number for the "room_id" field.</summary>
  public const int RoomIdFieldNumber = 1;
  private string roomId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string RoomId {
    get { return roomId_; }
    set {
      roomId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsSpaceshipManufacturingStationCancel);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsSpaceshipManufacturingStationCancel other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (RoomId != other.RoomId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (RoomId.Length != 0) hash ^= RoomId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (RoomId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(RoomId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (RoomId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(RoomId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsSpaceshipManufacturingStationCancel other) {
    if (other == null) {
      return;
    }
    if (other.RoomId.Length != 0) {
      RoomId = other.RoomId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          RoomId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class CsSpaceshipManufacturingStationChangeOrder : pb::IMessage<CsSpaceshipManufacturingStationChangeOrder> {
  private static readonly pb::MessageParser<CsSpaceshipManufacturingStationChangeOrder> _parser = new pb::MessageParser<CsSpaceshipManufacturingStationChangeOrder>(() => new CsSpaceshipManufacturingStationChangeOrder());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsSpaceshipManufacturingStationChangeOrder> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1033]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSpaceshipManufacturingStationChangeOrder() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSpaceshipManufacturingStationChangeOrder(CsSpaceshipManufacturingStationChangeOrder other) : this() {
    roomId_ = other.roomId_;
    formulaId_ = other.formulaId_;
    count_ = other.count_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSpaceshipManufacturingStationChangeOrder Clone() {
    return new CsSpaceshipManufacturingStationChangeOrder(this);
  }

  /// <summary>Field number for the "room_id" field.</summary>
  public const int RoomIdFieldNumber = 1;
  private string roomId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string RoomId {
    get { return roomId_; }
    set {
      roomId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "formula_id" field.</summary>
  public const int FormulaIdFieldNumber = 2;
  private string formulaId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string FormulaId {
    get { return formulaId_; }
    set {
      formulaId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "count" field.</summary>
  public const int CountFieldNumber = 3;
  private int count_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Count {
    get { return count_; }
    set {
      count_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsSpaceshipManufacturingStationChangeOrder);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsSpaceshipManufacturingStationChangeOrder other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (RoomId != other.RoomId) return false;
    if (FormulaId != other.FormulaId) return false;
    if (Count != other.Count) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (RoomId.Length != 0) hash ^= RoomId.GetHashCode();
    if (FormulaId.Length != 0) hash ^= FormulaId.GetHashCode();
    if (Count != 0) hash ^= Count.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (RoomId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(RoomId);
    }
    if (FormulaId.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(FormulaId);
    }
    if (Count != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(Count);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (RoomId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(RoomId);
    }
    if (FormulaId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(FormulaId);
    }
    if (Count != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Count);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsSpaceshipManufacturingStationChangeOrder other) {
    if (other == null) {
      return;
    }
    if (other.RoomId.Length != 0) {
      RoomId = other.RoomId;
    }
    if (other.FormulaId.Length != 0) {
      FormulaId = other.FormulaId;
    }
    if (other.Count != 0) {
      Count = other.Count;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          RoomId = input.ReadString();
          break;
        }
        case 18: {
          FormulaId = input.ReadString();
          break;
        }
        case 24: {
          Count = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class CsSpaceshipGrowCabinBreed : pb::IMessage<CsSpaceshipGrowCabinBreed> {
  private static readonly pb::MessageParser<CsSpaceshipGrowCabinBreed> _parser = new pb::MessageParser<CsSpaceshipGrowCabinBreed>(() => new CsSpaceshipGrowCabinBreed());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsSpaceshipGrowCabinBreed> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1034]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSpaceshipGrowCabinBreed() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSpaceshipGrowCabinBreed(CsSpaceshipGrowCabinBreed other) : this() {
    roomId_ = other.roomId_;
    recipeId_ = other.recipeId_;
    multi_ = other.multi_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSpaceshipGrowCabinBreed Clone() {
    return new CsSpaceshipGrowCabinBreed(this);
  }

  /// <summary>Field number for the "room_id" field.</summary>
  public const int RoomIdFieldNumber = 1;
  private string roomId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string RoomId {
    get { return roomId_; }
    set {
      roomId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "recipe_id" field.</summary>
  public const int RecipeIdFieldNumber = 3;
  private string recipeId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string RecipeId {
    get { return recipeId_; }
    set {
      recipeId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "multi" field.</summary>
  public const int MultiFieldNumber = 4;
  private int multi_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Multi {
    get { return multi_; }
    set {
      multi_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsSpaceshipGrowCabinBreed);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsSpaceshipGrowCabinBreed other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (RoomId != other.RoomId) return false;
    if (RecipeId != other.RecipeId) return false;
    if (Multi != other.Multi) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (RoomId.Length != 0) hash ^= RoomId.GetHashCode();
    if (RecipeId.Length != 0) hash ^= RecipeId.GetHashCode();
    if (Multi != 0) hash ^= Multi.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (RoomId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(RoomId);
    }
    if (RecipeId.Length != 0) {
      output.WriteRawTag(26);
      output.WriteString(RecipeId);
    }
    if (Multi != 0) {
      output.WriteRawTag(32);
      output.WriteInt32(Multi);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (RoomId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(RoomId);
    }
    if (RecipeId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(RecipeId);
    }
    if (Multi != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Multi);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsSpaceshipGrowCabinBreed other) {
    if (other == null) {
      return;
    }
    if (other.RoomId.Length != 0) {
      RoomId = other.RoomId;
    }
    if (other.RecipeId.Length != 0) {
      RecipeId = other.RecipeId;
    }
    if (other.Multi != 0) {
      Multi = other.Multi;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          RoomId = input.ReadString();
          break;
        }
        case 26: {
          RecipeId = input.ReadString();
          break;
        }
        case 32: {
          Multi = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class CsSpaceshipGrowCabinSow : pb::IMessage<CsSpaceshipGrowCabinSow> {
  private static readonly pb::MessageParser<CsSpaceshipGrowCabinSow> _parser = new pb::MessageParser<CsSpaceshipGrowCabinSow>(() => new CsSpaceshipGrowCabinSow());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsSpaceshipGrowCabinSow> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1035]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSpaceshipGrowCabinSow() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSpaceshipGrowCabinSow(CsSpaceshipGrowCabinSow other) : this() {
    roomId_ = other.roomId_;
    boxes_ = other.boxes_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSpaceshipGrowCabinSow Clone() {
    return new CsSpaceshipGrowCabinSow(this);
  }

  /// <summary>Field number for the "room_id" field.</summary>
  public const int RoomIdFieldNumber = 1;
  private string roomId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string RoomId {
    get { return roomId_; }
    set {
      roomId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "boxes" field.</summary>
  public const int BoxesFieldNumber = 2;
  private static readonly pb::FieldCodec<global::CsdSpaceshipGrowCabinSow> _repeated_boxes_codec
      = pb::FieldCodec.ForMessage(18, global::CsdSpaceshipGrowCabinSow.Parser);
  private readonly pbc::RepeatedField<global::CsdSpaceshipGrowCabinSow> boxes_ = new pbc::RepeatedField<global::CsdSpaceshipGrowCabinSow>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::CsdSpaceshipGrowCabinSow> Boxes {
    get { return boxes_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsSpaceshipGrowCabinSow);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsSpaceshipGrowCabinSow other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (RoomId != other.RoomId) return false;
    if(!boxes_.Equals(other.boxes_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (RoomId.Length != 0) hash ^= RoomId.GetHashCode();
    hash ^= boxes_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (RoomId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(RoomId);
    }
    boxes_.WriteTo(output, _repeated_boxes_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (RoomId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(RoomId);
    }
    size += boxes_.CalculateSize(_repeated_boxes_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsSpaceshipGrowCabinSow other) {
    if (other == null) {
      return;
    }
    if (other.RoomId.Length != 0) {
      RoomId = other.RoomId;
    }
    boxes_.Add(other.boxes_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          RoomId = input.ReadString();
          break;
        }
        case 18: {
          boxes_.AddEntriesFrom(input, _repeated_boxes_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class CsdSpaceshipGrowCabinSow : pb::IMessage<CsdSpaceshipGrowCabinSow> {
  private static readonly pb::MessageParser<CsdSpaceshipGrowCabinSow> _parser = new pb::MessageParser<CsdSpaceshipGrowCabinSow>(() => new CsdSpaceshipGrowCabinSow());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsdSpaceshipGrowCabinSow> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1036]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdSpaceshipGrowCabinSow() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdSpaceshipGrowCabinSow(CsdSpaceshipGrowCabinSow other) : this() {
    recipeId_ = other.recipeId_;
    boxId_ = other.boxId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdSpaceshipGrowCabinSow Clone() {
    return new CsdSpaceshipGrowCabinSow(this);
  }

  /// <summary>Field number for the "recipe_id" field.</summary>
  public const int RecipeIdFieldNumber = 1;
  private string recipeId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string RecipeId {
    get { return recipeId_; }
    set {
      recipeId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "box_id" field.</summary>
  public const int BoxIdFieldNumber = 2;
  private int boxId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int BoxId {
    get { return boxId_; }
    set {
      boxId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsdSpaceshipGrowCabinSow);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsdSpaceshipGrowCabinSow other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (RecipeId != other.RecipeId) return false;
    if (BoxId != other.BoxId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (RecipeId.Length != 0) hash ^= RecipeId.GetHashCode();
    if (BoxId != 0) hash ^= BoxId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (RecipeId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(RecipeId);
    }
    if (BoxId != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(BoxId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (RecipeId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(RecipeId);
    }
    if (BoxId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(BoxId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsdSpaceshipGrowCabinSow other) {
    if (other == null) {
      return;
    }
    if (other.RecipeId.Length != 0) {
      RecipeId = other.RecipeId;
    }
    if (other.BoxId != 0) {
      BoxId = other.BoxId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          RecipeId = input.ReadString();
          break;
        }
        case 16: {
          BoxId = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class CsSpaceshipGrowCabinClearPreviewRecipe : pb::IMessage<CsSpaceshipGrowCabinClearPreviewRecipe> {
  private static readonly pb::MessageParser<CsSpaceshipGrowCabinClearPreviewRecipe> _parser = new pb::MessageParser<CsSpaceshipGrowCabinClearPreviewRecipe>(() => new CsSpaceshipGrowCabinClearPreviewRecipe());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsSpaceshipGrowCabinClearPreviewRecipe> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1037]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSpaceshipGrowCabinClearPreviewRecipe() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSpaceshipGrowCabinClearPreviewRecipe(CsSpaceshipGrowCabinClearPreviewRecipe other) : this() {
    roomId_ = other.roomId_;
    boxId_ = other.boxId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSpaceshipGrowCabinClearPreviewRecipe Clone() {
    return new CsSpaceshipGrowCabinClearPreviewRecipe(this);
  }

  /// <summary>Field number for the "room_id" field.</summary>
  public const int RoomIdFieldNumber = 1;
  private string roomId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string RoomId {
    get { return roomId_; }
    set {
      roomId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "box_id" field.</summary>
  public const int BoxIdFieldNumber = 2;
  private int boxId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int BoxId {
    get { return boxId_; }
    set {
      boxId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsSpaceshipGrowCabinClearPreviewRecipe);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsSpaceshipGrowCabinClearPreviewRecipe other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (RoomId != other.RoomId) return false;
    if (BoxId != other.BoxId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (RoomId.Length != 0) hash ^= RoomId.GetHashCode();
    if (BoxId != 0) hash ^= BoxId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (RoomId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(RoomId);
    }
    if (BoxId != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(BoxId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (RoomId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(RoomId);
    }
    if (BoxId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(BoxId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsSpaceshipGrowCabinClearPreviewRecipe other) {
    if (other == null) {
      return;
    }
    if (other.RoomId.Length != 0) {
      RoomId = other.RoomId;
    }
    if (other.BoxId != 0) {
      BoxId = other.BoxId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          RoomId = input.ReadString();
          break;
        }
        case 16: {
          BoxId = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class CsSpaceshipGrowCabinHarvest : pb::IMessage<CsSpaceshipGrowCabinHarvest> {
  private static readonly pb::MessageParser<CsSpaceshipGrowCabinHarvest> _parser = new pb::MessageParser<CsSpaceshipGrowCabinHarvest>(() => new CsSpaceshipGrowCabinHarvest());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsSpaceshipGrowCabinHarvest> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1038]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSpaceshipGrowCabinHarvest() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSpaceshipGrowCabinHarvest(CsSpaceshipGrowCabinHarvest other) : this() {
    roomId_ = other.roomId_;
    boxIdList_ = other.boxIdList_.Clone();
    all_ = other.all_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSpaceshipGrowCabinHarvest Clone() {
    return new CsSpaceshipGrowCabinHarvest(this);
  }

  /// <summary>Field number for the "room_id" field.</summary>
  public const int RoomIdFieldNumber = 1;
  private string roomId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string RoomId {
    get { return roomId_; }
    set {
      roomId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "box_id_list" field.</summary>
  public const int BoxIdListFieldNumber = 2;
  private static readonly pb::FieldCodec<int> _repeated_boxIdList_codec
      = pb::FieldCodec.ForInt32(18);
  private readonly pbc::RepeatedField<int> boxIdList_ = new pbc::RepeatedField<int>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<int> BoxIdList {
    get { return boxIdList_; }
  }

  /// <summary>Field number for the "all" field.</summary>
  public const int AllFieldNumber = 3;
  private bool all_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool All {
    get { return all_; }
    set {
      all_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsSpaceshipGrowCabinHarvest);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsSpaceshipGrowCabinHarvest other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (RoomId != other.RoomId) return false;
    if(!boxIdList_.Equals(other.boxIdList_)) return false;
    if (All != other.All) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (RoomId.Length != 0) hash ^= RoomId.GetHashCode();
    hash ^= boxIdList_.GetHashCode();
    if (All != false) hash ^= All.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (RoomId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(RoomId);
    }
    boxIdList_.WriteTo(output, _repeated_boxIdList_codec);
    if (All != false) {
      output.WriteRawTag(24);
      output.WriteBool(All);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (RoomId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(RoomId);
    }
    size += boxIdList_.CalculateSize(_repeated_boxIdList_codec);
    if (All != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsSpaceshipGrowCabinHarvest other) {
    if (other == null) {
      return;
    }
    if (other.RoomId.Length != 0) {
      RoomId = other.RoomId;
    }
    boxIdList_.Add(other.boxIdList_);
    if (other.All != false) {
      All = other.All;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          RoomId = input.ReadString();
          break;
        }
        case 18:
        case 16: {
          boxIdList_.AddEntriesFrom(input, _repeated_boxIdList_codec);
          break;
        }
        case 24: {
          All = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class CsSpaceshipGrowCabinCancel : pb::IMessage<CsSpaceshipGrowCabinCancel> {
  private static readonly pb::MessageParser<CsSpaceshipGrowCabinCancel> _parser = new pb::MessageParser<CsSpaceshipGrowCabinCancel>(() => new CsSpaceshipGrowCabinCancel());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsSpaceshipGrowCabinCancel> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1039]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSpaceshipGrowCabinCancel() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSpaceshipGrowCabinCancel(CsSpaceshipGrowCabinCancel other) : this() {
    roomId_ = other.roomId_;
    boxId_ = other.boxId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSpaceshipGrowCabinCancel Clone() {
    return new CsSpaceshipGrowCabinCancel(this);
  }

  /// <summary>Field number for the "room_id" field.</summary>
  public const int RoomIdFieldNumber = 1;
  private string roomId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string RoomId {
    get { return roomId_; }
    set {
      roomId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "box_id" field.</summary>
  public const int BoxIdFieldNumber = 2;
  private int boxId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int BoxId {
    get { return boxId_; }
    set {
      boxId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsSpaceshipGrowCabinCancel);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsSpaceshipGrowCabinCancel other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (RoomId != other.RoomId) return false;
    if (BoxId != other.BoxId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (RoomId.Length != 0) hash ^= RoomId.GetHashCode();
    if (BoxId != 0) hash ^= BoxId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (RoomId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(RoomId);
    }
    if (BoxId != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(BoxId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (RoomId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(RoomId);
    }
    if (BoxId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(BoxId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsSpaceshipGrowCabinCancel other) {
    if (other == null) {
      return;
    }
    if (other.RoomId.Length != 0) {
      RoomId = other.RoomId;
    }
    if (other.BoxId != 0) {
      BoxId = other.BoxId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          RoomId = input.ReadString();
          break;
        }
        case 16: {
          BoxId = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class CsSceneInteractSpInteractive : pb::IMessage<CsSceneInteractSpInteractive> {
  private static readonly pb::MessageParser<CsSceneInteractSpInteractive> _parser = new pb::MessageParser<CsSceneInteractSpInteractive>(() => new CsSceneInteractSpInteractive());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsSceneInteractSpInteractive> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1040]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneInteractSpInteractive() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneInteractSpInteractive(CsSceneInteractSpInteractive other) : this() {
    objId_ = other.objId_;
    opType_ = other.opType_;
    switch (other.OpPayloadCase) {
      case OpPayloadOneofCase.DoodadCommonPick:
        DoodadCommonPick = other.DoodadCommonPick.Clone();
        break;
      case OpPayloadOneofCase.DoodadCommonBreak:
        DoodadCommonBreak = other.DoodadCommonBreak.Clone();
        break;
      case OpPayloadOneofCase.CommonActive:
        CommonActive = other.CommonActive.Clone();
        break;
    }

    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneInteractSpInteractive Clone() {
    return new CsSceneInteractSpInteractive(this);
  }

  /// <summary>Field number for the "obj_id" field.</summary>
  public const int ObjIdFieldNumber = 1;
  private ulong objId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong ObjId {
    get { return objId_; }
    set {
      objId_ = value;
    }
  }

  /// <summary>Field number for the "op_type" field.</summary>
  public const int OpTypeFieldNumber = 2;
  private global::SpInteractiveOpType opType_ = 0;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::SpInteractiveOpType OpType {
    get { return opType_; }
    set {
      opType_ = value;
    }
  }

  /// <summary>Field number for the "doodad_common_pick" field.</summary>
  public const int DoodadCommonPickFieldNumber = 10;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::CsdSpInteractiveDoodadCommonPick DoodadCommonPick {
    get { return opPayloadCase_ == OpPayloadOneofCase.DoodadCommonPick ? (global::CsdSpInteractiveDoodadCommonPick) opPayload_ : null; }
    set {
      opPayload_ = value;
      opPayloadCase_ = value == null ? OpPayloadOneofCase.None : OpPayloadOneofCase.DoodadCommonPick;
    }
  }

  /// <summary>Field number for the "doodad_common_break" field.</summary>
  public const int DoodadCommonBreakFieldNumber = 11;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::CsdSpInteractiveDoodadCommonBreak DoodadCommonBreak {
    get { return opPayloadCase_ == OpPayloadOneofCase.DoodadCommonBreak ? (global::CsdSpInteractiveDoodadCommonBreak) opPayload_ : null; }
    set {
      opPayload_ = value;
      opPayloadCase_ = value == null ? OpPayloadOneofCase.None : OpPayloadOneofCase.DoodadCommonBreak;
    }
  }

  /// <summary>Field number for the "common_active" field.</summary>
  public const int CommonActiveFieldNumber = 12;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::CsdSpInteractiveCommonActive CommonActive {
    get { return opPayloadCase_ == OpPayloadOneofCase.CommonActive ? (global::CsdSpInteractiveCommonActive) opPayload_ : null; }
    set {
      opPayload_ = value;
      opPayloadCase_ = value == null ? OpPayloadOneofCase.None : OpPayloadOneofCase.CommonActive;
    }
  }

  private object opPayload_;
  /// <summary>Enum of possible cases for the "op_payload" oneof.</summary>
  public enum OpPayloadOneofCase {
    None = 0,
    DoodadCommonPick = 10,
    DoodadCommonBreak = 11,
    CommonActive = 12,
  }
  private OpPayloadOneofCase opPayloadCase_ = OpPayloadOneofCase.None;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public OpPayloadOneofCase OpPayloadCase {
    get { return opPayloadCase_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void ClearOpPayload() {
    opPayloadCase_ = OpPayloadOneofCase.None;
    opPayload_ = null;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsSceneInteractSpInteractive);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsSceneInteractSpInteractive other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ObjId != other.ObjId) return false;
    if (OpType != other.OpType) return false;
    if (!object.Equals(DoodadCommonPick, other.DoodadCommonPick)) return false;
    if (!object.Equals(DoodadCommonBreak, other.DoodadCommonBreak)) return false;
    if (!object.Equals(CommonActive, other.CommonActive)) return false;
    if (OpPayloadCase != other.OpPayloadCase) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ObjId != 0UL) hash ^= ObjId.GetHashCode();
    if (OpType != 0) hash ^= OpType.GetHashCode();
    if (opPayloadCase_ == OpPayloadOneofCase.DoodadCommonPick) hash ^= DoodadCommonPick.GetHashCode();
    if (opPayloadCase_ == OpPayloadOneofCase.DoodadCommonBreak) hash ^= DoodadCommonBreak.GetHashCode();
    if (opPayloadCase_ == OpPayloadOneofCase.CommonActive) hash ^= CommonActive.GetHashCode();
    hash ^= (int) opPayloadCase_;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ObjId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(ObjId);
    }
    if (OpType != 0) {
      output.WriteRawTag(16);
      output.WriteEnum((int) OpType);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.DoodadCommonPick) {
      output.WriteRawTag(82);
      output.WriteMessage(DoodadCommonPick);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.DoodadCommonBreak) {
      output.WriteRawTag(90);
      output.WriteMessage(DoodadCommonBreak);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.CommonActive) {
      output.WriteRawTag(98);
      output.WriteMessage(CommonActive);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ObjId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(ObjId);
    }
    if (OpType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) OpType);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.DoodadCommonPick) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(DoodadCommonPick);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.DoodadCommonBreak) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(DoodadCommonBreak);
    }
    if (opPayloadCase_ == OpPayloadOneofCase.CommonActive) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(CommonActive);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsSceneInteractSpInteractive other) {
    if (other == null) {
      return;
    }
    if (other.ObjId != 0UL) {
      ObjId = other.ObjId;
    }
    if (other.OpType != 0) {
      OpType = other.OpType;
    }
    switch (other.OpPayloadCase) {
      case OpPayloadOneofCase.DoodadCommonPick:
        if (DoodadCommonPick == null) {
          DoodadCommonPick = new global::CsdSpInteractiveDoodadCommonPick();
        }
        DoodadCommonPick.MergeFrom(other.DoodadCommonPick);
        break;
      case OpPayloadOneofCase.DoodadCommonBreak:
        if (DoodadCommonBreak == null) {
          DoodadCommonBreak = new global::CsdSpInteractiveDoodadCommonBreak();
        }
        DoodadCommonBreak.MergeFrom(other.DoodadCommonBreak);
        break;
      case OpPayloadOneofCase.CommonActive:
        if (CommonActive == null) {
          CommonActive = new global::CsdSpInteractiveCommonActive();
        }
        CommonActive.MergeFrom(other.CommonActive);
        break;
    }

    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ObjId = input.ReadUInt64();
          break;
        }
        case 16: {
          opType_ = (global::SpInteractiveOpType) input.ReadEnum();
          break;
        }
        case 82: {
          global::CsdSpInteractiveDoodadCommonPick subBuilder = new global::CsdSpInteractiveDoodadCommonPick();
          if (opPayloadCase_ == OpPayloadOneofCase.DoodadCommonPick) {
            subBuilder.MergeFrom(DoodadCommonPick);
          }
          input.ReadMessage(subBuilder);
          DoodadCommonPick = subBuilder;
          break;
        }
        case 90: {
          global::CsdSpInteractiveDoodadCommonBreak subBuilder = new global::CsdSpInteractiveDoodadCommonBreak();
          if (opPayloadCase_ == OpPayloadOneofCase.DoodadCommonBreak) {
            subBuilder.MergeFrom(DoodadCommonBreak);
          }
          input.ReadMessage(subBuilder);
          DoodadCommonBreak = subBuilder;
          break;
        }
        case 98: {
          global::CsdSpInteractiveCommonActive subBuilder = new global::CsdSpInteractiveCommonActive();
          if (opPayloadCase_ == OpPayloadOneofCase.CommonActive) {
            subBuilder.MergeFrom(CommonActive);
          }
          input.ReadMessage(subBuilder);
          CommonActive = subBuilder;
          break;
        }
      }
    }
  }

}

public sealed partial class CsdSpInteractiveDoodadCommonPick : pb::IMessage<CsdSpInteractiveDoodadCommonPick> {
  private static readonly pb::MessageParser<CsdSpInteractiveDoodadCommonPick> _parser = new pb::MessageParser<CsdSpInteractiveDoodadCommonPick>(() => new CsdSpInteractiveDoodadCommonPick());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsdSpInteractiveDoodadCommonPick> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1041]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdSpInteractiveDoodadCommonPick() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdSpInteractiveDoodadCommonPick(CsdSpInteractiveDoodadCommonPick other) : this() {
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdSpInteractiveDoodadCommonPick Clone() {
    return new CsdSpInteractiveDoodadCommonPick(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsdSpInteractiveDoodadCommonPick);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsdSpInteractiveDoodadCommonPick other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsdSpInteractiveDoodadCommonPick other) {
    if (other == null) {
      return;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
      }
    }
  }

}

public sealed partial class CsdSpInteractiveDoodadCommonBreak : pb::IMessage<CsdSpInteractiveDoodadCommonBreak> {
  private static readonly pb::MessageParser<CsdSpInteractiveDoodadCommonBreak> _parser = new pb::MessageParser<CsdSpInteractiveDoodadCommonBreak>(() => new CsdSpInteractiveDoodadCommonBreak());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsdSpInteractiveDoodadCommonBreak> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1042]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdSpInteractiveDoodadCommonBreak() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdSpInteractiveDoodadCommonBreak(CsdSpInteractiveDoodadCommonBreak other) : this() {
    newHpRatio_ = other.newHpRatio_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdSpInteractiveDoodadCommonBreak Clone() {
    return new CsdSpInteractiveDoodadCommonBreak(this);
  }

  /// <summary>Field number for the "new_hp_ratio" field.</summary>
  public const int NewHpRatioFieldNumber = 1;
  private long newHpRatio_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long NewHpRatio {
    get { return newHpRatio_; }
    set {
      newHpRatio_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsdSpInteractiveDoodadCommonBreak);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsdSpInteractiveDoodadCommonBreak other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (NewHpRatio != other.NewHpRatio) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (NewHpRatio != 0L) hash ^= NewHpRatio.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (NewHpRatio != 0L) {
      output.WriteRawTag(8);
      output.WriteInt64(NewHpRatio);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (NewHpRatio != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(NewHpRatio);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsdSpInteractiveDoodadCommonBreak other) {
    if (other == null) {
      return;
    }
    if (other.NewHpRatio != 0L) {
      NewHpRatio = other.NewHpRatio;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          NewHpRatio = input.ReadInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class CsdSpInteractiveCommonActive : pb::IMessage<CsdSpInteractiveCommonActive> {
  private static readonly pb::MessageParser<CsdSpInteractiveCommonActive> _parser = new pb::MessageParser<CsdSpInteractiveCommonActive>(() => new CsdSpInteractiveCommonActive());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsdSpInteractiveCommonActive> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1043]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdSpInteractiveCommonActive() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdSpInteractiveCommonActive(CsdSpInteractiveCommonActive other) : this() {
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsdSpInteractiveCommonActive Clone() {
    return new CsdSpInteractiveCommonActive(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsdSpInteractiveCommonActive);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsdSpInteractiveCommonActive other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsdSpInteractiveCommonActive other) {
    if (other == null) {
      return;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
      }
    }
  }

}

public sealed partial class ScSceneInteractSpInteractive : pb::IMessage<ScSceneInteractSpInteractive> {
  private static readonly pb::MessageParser<ScSceneInteractSpInteractive> _parser = new pb::MessageParser<ScSceneInteractSpInteractive>(() => new ScSceneInteractSpInteractive());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSceneInteractSpInteractive> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1044]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneInteractSpInteractive() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneInteractSpInteractive(ScSceneInteractSpInteractive other) : this() {
    objId_ = other.objId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneInteractSpInteractive Clone() {
    return new ScSceneInteractSpInteractive(this);
  }

  /// <summary>Field number for the "obj_id" field.</summary>
  public const int ObjIdFieldNumber = 1;
  private ulong objId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong ObjId {
    get { return objId_; }
    set {
      objId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSceneInteractSpInteractive);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSceneInteractSpInteractive other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ObjId != other.ObjId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ObjId != 0UL) hash ^= ObjId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ObjId != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(ObjId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ObjId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(ObjId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSceneInteractSpInteractive other) {
    if (other == null) {
      return;
    }
    if (other.ObjId != 0UL) {
      ObjId = other.ObjId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ObjId = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class StatInfo : pb::IMessage<StatInfo> {
  private static readonly pb::MessageParser<StatInfo> _parser = new pb::MessageParser<StatInfo>(() => new StatInfo());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<StatInfo> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1045]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public StatInfo() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public StatInfo(StatInfo other) : this() {
    type_ = other.type_;
    value_ = other.value_;
    param_ = other.param_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public StatInfo Clone() {
    return new StatInfo(this);
  }

  /// <summary>Field number for the "type" field.</summary>
  public const int TypeFieldNumber = 1;
  private int type_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Type {
    get { return type_; }
    set {
      type_ = value;
    }
  }

  /// <summary>Field number for the "value" field.</summary>
  public const int ValueFieldNumber = 2;
  private uint value_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint Value {
    get { return value_; }
    set {
      value_ = value;
    }
  }

  /// <summary>Field number for the "param" field.</summary>
  public const int ParamFieldNumber = 3;
  private int param_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Param {
    get { return param_; }
    set {
      param_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as StatInfo);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(StatInfo other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Type != other.Type) return false;
    if (Value != other.Value) return false;
    if (Param != other.Param) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Type != 0) hash ^= Type.GetHashCode();
    if (Value != 0) hash ^= Value.GetHashCode();
    if (Param != 0) hash ^= Param.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Type != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(Type);
    }
    if (Value != 0) {
      output.WriteRawTag(16);
      output.WriteUInt32(Value);
    }
    if (Param != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(Param);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Type != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Type);
    }
    if (Value != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Value);
    }
    if (Param != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Param);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(StatInfo other) {
    if (other == null) {
      return;
    }
    if (other.Type != 0) {
      Type = other.Type;
    }
    if (other.Value != 0) {
      Value = other.Value;
    }
    if (other.Param != 0) {
      Param = other.Param;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Type = input.ReadInt32();
          break;
        }
        case 16: {
          Value = input.ReadUInt32();
          break;
        }
        case 24: {
          Param = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScSyncAllStat : pb::IMessage<ScSyncAllStat> {
  private static readonly pb::MessageParser<ScSyncAllStat> _parser = new pb::MessageParser<ScSyncAllStat>(() => new ScSyncAllStat());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSyncAllStat> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1046]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncAllStat() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncAllStat(ScSyncAllStat other) : this() {
    statsInfo_ = other.statsInfo_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncAllStat Clone() {
    return new ScSyncAllStat(this);
  }

  /// <summary>Field number for the "stats_info" field.</summary>
  public const int StatsInfoFieldNumber = 1;
  private static readonly pb::FieldCodec<global::StatInfo> _repeated_statsInfo_codec
      = pb::FieldCodec.ForMessage(10, global::StatInfo.Parser);
  private readonly pbc::RepeatedField<global::StatInfo> statsInfo_ = new pbc::RepeatedField<global::StatInfo>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::StatInfo> StatsInfo {
    get { return statsInfo_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSyncAllStat);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSyncAllStat other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!statsInfo_.Equals(other.statsInfo_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= statsInfo_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    statsInfo_.WriteTo(output, _repeated_statsInfo_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += statsInfo_.CalculateSize(_repeated_statsInfo_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSyncAllStat other) {
    if (other == null) {
      return;
    }
    statsInfo_.Add(other.statsInfo_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          statsInfo_.AddEntriesFrom(input, _repeated_statsInfo_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScSyncStat : pb::IMessage<ScSyncStat> {
  private static readonly pb::MessageParser<ScSyncStat> _parser = new pb::MessageParser<ScSyncStat>(() => new ScSyncStat());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSyncStat> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1047]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncStat() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncStat(ScSyncStat other) : this() {
    statInfo_ = other.statInfo_ != null ? other.statInfo_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncStat Clone() {
    return new ScSyncStat(this);
  }

  /// <summary>Field number for the "stat_info" field.</summary>
  public const int StatInfoFieldNumber = 1;
  private global::StatInfo statInfo_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::StatInfo StatInfo {
    get { return statInfo_; }
    set {
      statInfo_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSyncStat);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSyncStat other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!object.Equals(StatInfo, other.StatInfo)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (statInfo_ != null) hash ^= StatInfo.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (statInfo_ != null) {
      output.WriteRawTag(10);
      output.WriteMessage(StatInfo);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (statInfo_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(StatInfo);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSyncStat other) {
    if (other == null) {
      return;
    }
    if (other.statInfo_ != null) {
      if (statInfo_ == null) {
        statInfo_ = new global::StatInfo();
      }
      StatInfo.MergeFrom(other.StatInfo);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          if (statInfo_ == null) {
            statInfo_ = new global::StatInfo();
          }
          input.ReadMessage(statInfo_);
          break;
        }
      }
    }
  }

}

public sealed partial class SubmitSourceParamMission : pb::IMessage<SubmitSourceParamMission> {
  private static readonly pb::MessageParser<SubmitSourceParamMission> _parser = new pb::MessageParser<SubmitSourceParamMission>(() => new SubmitSourceParamMission());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<SubmitSourceParamMission> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1048]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SubmitSourceParamMission() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SubmitSourceParamMission(SubmitSourceParamMission other) : this() {
    questId_ = other.questId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SubmitSourceParamMission Clone() {
    return new SubmitSourceParamMission(this);
  }

  /// <summary>Field number for the "quest_id" field.</summary>
  public const int QuestIdFieldNumber = 1;
  private string questId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string QuestId {
    get { return questId_; }
    set {
      questId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as SubmitSourceParamMission);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(SubmitSourceParamMission other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (QuestId != other.QuestId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (QuestId.Length != 0) hash ^= QuestId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (QuestId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(QuestId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (QuestId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(QuestId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(SubmitSourceParamMission other) {
    if (other == null) {
      return;
    }
    if (other.QuestId.Length != 0) {
      QuestId = other.QuestId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          QuestId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class SubmitSourceParamInteractive : pb::IMessage<SubmitSourceParamInteractive> {
  private static readonly pb::MessageParser<SubmitSourceParamInteractive> _parser = new pb::MessageParser<SubmitSourceParamInteractive>(() => new SubmitSourceParamInteractive());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<SubmitSourceParamInteractive> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1049]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SubmitSourceParamInteractive() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SubmitSourceParamInteractive(SubmitSourceParamInteractive other) : this() {
    objId_ = other.objId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SubmitSourceParamInteractive Clone() {
    return new SubmitSourceParamInteractive(this);
  }

  /// <summary>Field number for the "obj_id" field.</summary>
  public const int ObjIdFieldNumber = 2;
  private ulong objId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong ObjId {
    get { return objId_; }
    set {
      objId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as SubmitSourceParamInteractive);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(SubmitSourceParamInteractive other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (ObjId != other.ObjId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (ObjId != 0UL) hash ^= ObjId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (ObjId != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(ObjId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (ObjId != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(ObjId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(SubmitSourceParamInteractive other) {
    if (other == null) {
      return;
    }
    if (other.ObjId != 0UL) {
      ObjId = other.ObjId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 16: {
          ObjId = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class SubmitTerm : pb::IMessage<SubmitTerm> {
  private static readonly pb::MessageParser<SubmitTerm> _parser = new pb::MessageParser<SubmitTerm>(() => new SubmitTerm());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<SubmitTerm> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1050]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SubmitTerm() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SubmitTerm(SubmitTerm other) : this() {
    submitItemList_ = other.submitItemList_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SubmitTerm Clone() {
    return new SubmitTerm(this);
  }

  /// <summary>Field number for the "submit_item_list" field.</summary>
  public const int SubmitItemListFieldNumber = 1;
  private static readonly pb::FieldCodec<global::SubmitItem> _repeated_submitItemList_codec
      = pb::FieldCodec.ForMessage(10, global::SubmitItem.Parser);
  private readonly pbc::RepeatedField<global::SubmitItem> submitItemList_ = new pbc::RepeatedField<global::SubmitItem>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::SubmitItem> SubmitItemList {
    get { return submitItemList_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as SubmitTerm);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(SubmitTerm other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!submitItemList_.Equals(other.submitItemList_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= submitItemList_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    submitItemList_.WriteTo(output, _repeated_submitItemList_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += submitItemList_.CalculateSize(_repeated_submitItemList_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(SubmitTerm other) {
    if (other == null) {
      return;
    }
    submitItemList_.Add(other.submitItemList_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          submitItemList_.AddEntriesFrom(input, _repeated_submitItemList_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class CsSceneSubmitItem : pb::IMessage<CsSceneSubmitItem> {
  private static readonly pb::MessageParser<CsSceneSubmitItem> _parser = new pb::MessageParser<CsSceneSubmitItem>(() => new CsSceneSubmitItem());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsSceneSubmitItem> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1051]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneSubmitItem() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneSubmitItem(CsSceneSubmitItem other) : this() {
    submitId_ = other.submitId_;
    submitItemTermList_ = other.submitItemTermList_.Clone();
    sourceType_ = other.sourceType_;
    switch (other.SubmitSourceParamCase) {
      case SubmitSourceParamOneofCase.Mission:
        Mission = other.Mission.Clone();
        break;
      case SubmitSourceParamOneofCase.Interactive:
        Interactive = other.Interactive.Clone();
        break;
    }

    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneSubmitItem Clone() {
    return new CsSceneSubmitItem(this);
  }

  /// <summary>Field number for the "submit_id" field.</summary>
  public const int SubmitIdFieldNumber = 1;
  private string submitId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string SubmitId {
    get { return submitId_; }
    set {
      submitId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "submit_item_term_list" field.</summary>
  public const int SubmitItemTermListFieldNumber = 6;
  private static readonly pb::FieldCodec<global::SubmitTerm> _repeated_submitItemTermList_codec
      = pb::FieldCodec.ForMessage(50, global::SubmitTerm.Parser);
  private readonly pbc::RepeatedField<global::SubmitTerm> submitItemTermList_ = new pbc::RepeatedField<global::SubmitTerm>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::SubmitTerm> SubmitItemTermList {
    get { return submitItemTermList_; }
  }

  /// <summary>Field number for the "source_type" field.</summary>
  public const int SourceTypeFieldNumber = 3;
  private global::SubmitSourceType sourceType_ = 0;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::SubmitSourceType SourceType {
    get { return sourceType_; }
    set {
      sourceType_ = value;
    }
  }

  /// <summary>Field number for the "mission" field.</summary>
  public const int MissionFieldNumber = 4;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::SubmitSourceParamMission Mission {
    get { return submitSourceParamCase_ == SubmitSourceParamOneofCase.Mission ? (global::SubmitSourceParamMission) submitSourceParam_ : null; }
    set {
      submitSourceParam_ = value;
      submitSourceParamCase_ = value == null ? SubmitSourceParamOneofCase.None : SubmitSourceParamOneofCase.Mission;
    }
  }

  /// <summary>Field number for the "interactive" field.</summary>
  public const int InteractiveFieldNumber = 5;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::SubmitSourceParamInteractive Interactive {
    get { return submitSourceParamCase_ == SubmitSourceParamOneofCase.Interactive ? (global::SubmitSourceParamInteractive) submitSourceParam_ : null; }
    set {
      submitSourceParam_ = value;
      submitSourceParamCase_ = value == null ? SubmitSourceParamOneofCase.None : SubmitSourceParamOneofCase.Interactive;
    }
  }

  private object submitSourceParam_;
  /// <summary>Enum of possible cases for the "submit_source_param" oneof.</summary>
  public enum SubmitSourceParamOneofCase {
    None = 0,
    Mission = 4,
    Interactive = 5,
  }
  private SubmitSourceParamOneofCase submitSourceParamCase_ = SubmitSourceParamOneofCase.None;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public SubmitSourceParamOneofCase SubmitSourceParamCase {
    get { return submitSourceParamCase_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void ClearSubmitSourceParam() {
    submitSourceParamCase_ = SubmitSourceParamOneofCase.None;
    submitSourceParam_ = null;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsSceneSubmitItem);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsSceneSubmitItem other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SubmitId != other.SubmitId) return false;
    if(!submitItemTermList_.Equals(other.submitItemTermList_)) return false;
    if (SourceType != other.SourceType) return false;
    if (!object.Equals(Mission, other.Mission)) return false;
    if (!object.Equals(Interactive, other.Interactive)) return false;
    if (SubmitSourceParamCase != other.SubmitSourceParamCase) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SubmitId.Length != 0) hash ^= SubmitId.GetHashCode();
    hash ^= submitItemTermList_.GetHashCode();
    if (SourceType != 0) hash ^= SourceType.GetHashCode();
    if (submitSourceParamCase_ == SubmitSourceParamOneofCase.Mission) hash ^= Mission.GetHashCode();
    if (submitSourceParamCase_ == SubmitSourceParamOneofCase.Interactive) hash ^= Interactive.GetHashCode();
    hash ^= (int) submitSourceParamCase_;
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SubmitId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(SubmitId);
    }
    if (SourceType != 0) {
      output.WriteRawTag(24);
      output.WriteEnum((int) SourceType);
    }
    if (submitSourceParamCase_ == SubmitSourceParamOneofCase.Mission) {
      output.WriteRawTag(34);
      output.WriteMessage(Mission);
    }
    if (submitSourceParamCase_ == SubmitSourceParamOneofCase.Interactive) {
      output.WriteRawTag(42);
      output.WriteMessage(Interactive);
    }
    submitItemTermList_.WriteTo(output, _repeated_submitItemTermList_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SubmitId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(SubmitId);
    }
    size += submitItemTermList_.CalculateSize(_repeated_submitItemTermList_codec);
    if (SourceType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) SourceType);
    }
    if (submitSourceParamCase_ == SubmitSourceParamOneofCase.Mission) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Mission);
    }
    if (submitSourceParamCase_ == SubmitSourceParamOneofCase.Interactive) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Interactive);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsSceneSubmitItem other) {
    if (other == null) {
      return;
    }
    if (other.SubmitId.Length != 0) {
      SubmitId = other.SubmitId;
    }
    submitItemTermList_.Add(other.submitItemTermList_);
    if (other.SourceType != 0) {
      SourceType = other.SourceType;
    }
    switch (other.SubmitSourceParamCase) {
      case SubmitSourceParamOneofCase.Mission:
        if (Mission == null) {
          Mission = new global::SubmitSourceParamMission();
        }
        Mission.MergeFrom(other.Mission);
        break;
      case SubmitSourceParamOneofCase.Interactive:
        if (Interactive == null) {
          Interactive = new global::SubmitSourceParamInteractive();
        }
        Interactive.MergeFrom(other.Interactive);
        break;
    }

    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          SubmitId = input.ReadString();
          break;
        }
        case 24: {
          sourceType_ = (global::SubmitSourceType) input.ReadEnum();
          break;
        }
        case 34: {
          global::SubmitSourceParamMission subBuilder = new global::SubmitSourceParamMission();
          if (submitSourceParamCase_ == SubmitSourceParamOneofCase.Mission) {
            subBuilder.MergeFrom(Mission);
          }
          input.ReadMessage(subBuilder);
          Mission = subBuilder;
          break;
        }
        case 42: {
          global::SubmitSourceParamInteractive subBuilder = new global::SubmitSourceParamInteractive();
          if (submitSourceParamCase_ == SubmitSourceParamOneofCase.Interactive) {
            subBuilder.MergeFrom(Interactive);
          }
          input.ReadMessage(subBuilder);
          Interactive = subBuilder;
          break;
        }
        case 50: {
          submitItemTermList_.AddEntriesFrom(input, _repeated_submitItemTermList_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScSceneSubmitItem : pb::IMessage<ScSceneSubmitItem> {
  private static readonly pb::MessageParser<ScSceneSubmitItem> _parser = new pb::MessageParser<ScSceneSubmitItem>(() => new ScSceneSubmitItem());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSceneSubmitItem> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1052]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneSubmitItem() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneSubmitItem(ScSceneSubmitItem other) : this() {
    submitId_ = other.submitId_;
    ret_ = other.ret_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneSubmitItem Clone() {
    return new ScSceneSubmitItem(this);
  }

  /// <summary>Field number for the "submit_id" field.</summary>
  public const int SubmitIdFieldNumber = 1;
  private string submitId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string SubmitId {
    get { return submitId_; }
    set {
      submitId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "ret" field.</summary>
  public const int RetFieldNumber = 2;
  private bool ret_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Ret {
    get { return ret_; }
    set {
      ret_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSceneSubmitItem);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSceneSubmitItem other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (SubmitId != other.SubmitId) return false;
    if (Ret != other.Ret) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (SubmitId.Length != 0) hash ^= SubmitId.GetHashCode();
    if (Ret != false) hash ^= Ret.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (SubmitId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(SubmitId);
    }
    if (Ret != false) {
      output.WriteRawTag(16);
      output.WriteBool(Ret);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (SubmitId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(SubmitId);
    }
    if (Ret != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSceneSubmitItem other) {
    if (other == null) {
      return;
    }
    if (other.SubmitId.Length != 0) {
      SubmitId = other.SubmitId;
    }
    if (other.Ret != false) {
      Ret = other.Ret;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          SubmitId = input.ReadString();
          break;
        }
        case 16: {
          Ret = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class CsSceneSubmitRecycle : pb::IMessage<CsSceneSubmitRecycle> {
  private static readonly pb::MessageParser<CsSceneSubmitRecycle> _parser = new pb::MessageParser<CsSceneSubmitRecycle>(() => new CsSceneSubmitRecycle());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsSceneSubmitRecycle> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1053]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneSubmitRecycle() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneSubmitRecycle(CsSceneSubmitRecycle other) : this() {
    submitItemList_ = other.submitItemList_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsSceneSubmitRecycle Clone() {
    return new CsSceneSubmitRecycle(this);
  }

  /// <summary>Field number for the "submit_item_list" field.</summary>
  public const int SubmitItemListFieldNumber = 1;
  private static readonly pb::FieldCodec<global::SubmitItem> _repeated_submitItemList_codec
      = pb::FieldCodec.ForMessage(10, global::SubmitItem.Parser);
  private readonly pbc::RepeatedField<global::SubmitItem> submitItemList_ = new pbc::RepeatedField<global::SubmitItem>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::SubmitItem> SubmitItemList {
    get { return submitItemList_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsSceneSubmitRecycle);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsSceneSubmitRecycle other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!submitItemList_.Equals(other.submitItemList_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= submitItemList_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    submitItemList_.WriteTo(output, _repeated_submitItemList_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += submitItemList_.CalculateSize(_repeated_submitItemList_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsSceneSubmitRecycle other) {
    if (other == null) {
      return;
    }
    submitItemList_.Add(other.submitItemList_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          submitItemList_.AddEntriesFrom(input, _repeated_submitItemList_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScSceneSubmitRecycle : pb::IMessage<ScSceneSubmitRecycle> {
  private static readonly pb::MessageParser<ScSceneSubmitRecycle> _parser = new pb::MessageParser<ScSceneSubmitRecycle>(() => new ScSceneSubmitRecycle());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSceneSubmitRecycle> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1054]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneSubmitRecycle() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneSubmitRecycle(ScSceneSubmitRecycle other) : this() {
    ret_ = other.ret_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSceneSubmitRecycle Clone() {
    return new ScSceneSubmitRecycle(this);
  }

  /// <summary>Field number for the "ret" field.</summary>
  public const int RetFieldNumber = 1;
  private bool ret_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Ret {
    get { return ret_; }
    set {
      ret_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSceneSubmitRecycle);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSceneSubmitRecycle other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Ret != other.Ret) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Ret != false) hash ^= Ret.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Ret != false) {
      output.WriteRawTag(8);
      output.WriteBool(Ret);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Ret != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSceneSubmitRecycle other) {
    if (other == null) {
      return;
    }
    if (other.Ret != false) {
      Ret = other.Ret;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Ret = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class ScSyncTdSettlement : pb::IMessage<ScSyncTdSettlement> {
  private static readonly pb::MessageParser<ScSyncTdSettlement> _parser = new pb::MessageParser<ScSyncTdSettlement>(() => new ScSyncTdSettlement());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSyncTdSettlement> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1055]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncTdSettlement() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncTdSettlement(ScSyncTdSettlement other) : this() {
    tdId_ = other.tdId_;
    settlementType_ = other.settlementType_;
    rewardId_ = other.rewardId_;
    extraBandwidth_ = other.extraBandwidth_;
    extraBattleBuildingLimit_ = other.extraBattleBuildingLimit_;
    extraTravelPoleLimit_ = other.extraTravelPoleLimit_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncTdSettlement Clone() {
    return new ScSyncTdSettlement(this);
  }

  /// <summary>Field number for the "td_id" field.</summary>
  public const int TdIdFieldNumber = 1;
  private string tdId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string TdId {
    get { return tdId_; }
    set {
      tdId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "settlement_type" field.</summary>
  public const int SettlementTypeFieldNumber = 2;
  private global::TdSettlementType settlementType_ = 0;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::TdSettlementType SettlementType {
    get { return settlementType_; }
    set {
      settlementType_ = value;
    }
  }

  /// <summary>Field number for the "reward_id" field.</summary>
  public const int RewardIdFieldNumber = 3;
  private string rewardId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string RewardId {
    get { return rewardId_; }
    set {
      rewardId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "extra_bandwidth" field.</summary>
  public const int ExtraBandwidthFieldNumber = 4;
  private int extraBandwidth_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ExtraBandwidth {
    get { return extraBandwidth_; }
    set {
      extraBandwidth_ = value;
    }
  }

  /// <summary>Field number for the "extra_battle_building_limit" field.</summary>
  public const int ExtraBattleBuildingLimitFieldNumber = 5;
  private int extraBattleBuildingLimit_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ExtraBattleBuildingLimit {
    get { return extraBattleBuildingLimit_; }
    set {
      extraBattleBuildingLimit_ = value;
    }
  }

  /// <summary>Field number for the "extra_travel_pole_limit" field.</summary>
  public const int ExtraTravelPoleLimitFieldNumber = 6;
  private int extraTravelPoleLimit_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int ExtraTravelPoleLimit {
    get { return extraTravelPoleLimit_; }
    set {
      extraTravelPoleLimit_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSyncTdSettlement);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSyncTdSettlement other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (TdId != other.TdId) return false;
    if (SettlementType != other.SettlementType) return false;
    if (RewardId != other.RewardId) return false;
    if (ExtraBandwidth != other.ExtraBandwidth) return false;
    if (ExtraBattleBuildingLimit != other.ExtraBattleBuildingLimit) return false;
    if (ExtraTravelPoleLimit != other.ExtraTravelPoleLimit) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (TdId.Length != 0) hash ^= TdId.GetHashCode();
    if (SettlementType != 0) hash ^= SettlementType.GetHashCode();
    if (RewardId.Length != 0) hash ^= RewardId.GetHashCode();
    if (ExtraBandwidth != 0) hash ^= ExtraBandwidth.GetHashCode();
    if (ExtraBattleBuildingLimit != 0) hash ^= ExtraBattleBuildingLimit.GetHashCode();
    if (ExtraTravelPoleLimit != 0) hash ^= ExtraTravelPoleLimit.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (TdId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(TdId);
    }
    if (SettlementType != 0) {
      output.WriteRawTag(16);
      output.WriteEnum((int) SettlementType);
    }
    if (RewardId.Length != 0) {
      output.WriteRawTag(26);
      output.WriteString(RewardId);
    }
    if (ExtraBandwidth != 0) {
      output.WriteRawTag(32);
      output.WriteInt32(ExtraBandwidth);
    }
    if (ExtraBattleBuildingLimit != 0) {
      output.WriteRawTag(40);
      output.WriteInt32(ExtraBattleBuildingLimit);
    }
    if (ExtraTravelPoleLimit != 0) {
      output.WriteRawTag(48);
      output.WriteInt32(ExtraTravelPoleLimit);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (TdId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(TdId);
    }
    if (SettlementType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) SettlementType);
    }
    if (RewardId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(RewardId);
    }
    if (ExtraBandwidth != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ExtraBandwidth);
    }
    if (ExtraBattleBuildingLimit != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ExtraBattleBuildingLimit);
    }
    if (ExtraTravelPoleLimit != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ExtraTravelPoleLimit);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSyncTdSettlement other) {
    if (other == null) {
      return;
    }
    if (other.TdId.Length != 0) {
      TdId = other.TdId;
    }
    if (other.SettlementType != 0) {
      SettlementType = other.SettlementType;
    }
    if (other.RewardId.Length != 0) {
      RewardId = other.RewardId;
    }
    if (other.ExtraBandwidth != 0) {
      ExtraBandwidth = other.ExtraBandwidth;
    }
    if (other.ExtraBattleBuildingLimit != 0) {
      ExtraBattleBuildingLimit = other.ExtraBattleBuildingLimit;
    }
    if (other.ExtraTravelPoleLimit != 0) {
      ExtraTravelPoleLimit = other.ExtraTravelPoleLimit;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          TdId = input.ReadString();
          break;
        }
        case 16: {
          settlementType_ = (global::TdSettlementType) input.ReadEnum();
          break;
        }
        case 26: {
          RewardId = input.ReadString();
          break;
        }
        case 32: {
          ExtraBandwidth = input.ReadInt32();
          break;
        }
        case 40: {
          ExtraBattleBuildingLimit = input.ReadInt32();
          break;
        }
        case 48: {
          ExtraTravelPoleLimit = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class CsTdGetTdList : pb::IMessage<CsTdGetTdList> {
  private static readonly pb::MessageParser<CsTdGetTdList> _parser = new pb::MessageParser<CsTdGetTdList>(() => new CsTdGetTdList());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsTdGetTdList> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1056]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsTdGetTdList() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsTdGetTdList(CsTdGetTdList other) : this() {
    strongholdId_ = other.strongholdId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsTdGetTdList Clone() {
    return new CsTdGetTdList(this);
  }

  /// <summary>Field number for the "stronghold_id" field.</summary>
  public const int StrongholdIdFieldNumber = 1;
  private string strongholdId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string StrongholdId {
    get { return strongholdId_; }
    set {
      strongholdId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsTdGetTdList);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsTdGetTdList other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (StrongholdId != other.StrongholdId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (StrongholdId.Length != 0) hash ^= StrongholdId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (StrongholdId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(StrongholdId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (StrongholdId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(StrongholdId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsTdGetTdList other) {
    if (other == null) {
      return;
    }
    if (other.StrongholdId.Length != 0) {
      StrongholdId = other.StrongholdId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          StrongholdId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class ScTdGetTdList : pb::IMessage<ScTdGetTdList> {
  private static readonly pb::MessageParser<ScTdGetTdList> _parser = new pb::MessageParser<ScTdGetTdList>(() => new ScTdGetTdList());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScTdGetTdList> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1057]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScTdGetTdList() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScTdGetTdList(ScTdGetTdList other) : this() {
    strongholdId_ = other.strongholdId_;
    unlockTdList_ = other.unlockTdList_.Clone();
    completedTdList_ = other.completedTdList_.Clone();
    closedTdList_ = other.closedTdList_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScTdGetTdList Clone() {
    return new ScTdGetTdList(this);
  }

  /// <summary>Field number for the "stronghold_id" field.</summary>
  public const int StrongholdIdFieldNumber = 1;
  private string strongholdId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string StrongholdId {
    get { return strongholdId_; }
    set {
      strongholdId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "unlock_td_list" field.</summary>
  public const int UnlockTdListFieldNumber = 2;
  private static readonly pb::FieldCodec<string> _repeated_unlockTdList_codec
      = pb::FieldCodec.ForString(18);
  private readonly pbc::RepeatedField<string> unlockTdList_ = new pbc::RepeatedField<string>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<string> UnlockTdList {
    get { return unlockTdList_; }
  }

  /// <summary>Field number for the "completed_td_list" field.</summary>
  public const int CompletedTdListFieldNumber = 3;
  private static readonly pb::FieldCodec<string> _repeated_completedTdList_codec
      = pb::FieldCodec.ForString(26);
  private readonly pbc::RepeatedField<string> completedTdList_ = new pbc::RepeatedField<string>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<string> CompletedTdList {
    get { return completedTdList_; }
  }

  /// <summary>Field number for the "closed_td_list" field.</summary>
  public const int ClosedTdListFieldNumber = 4;
  private static readonly pb::FieldCodec<string> _repeated_closedTdList_codec
      = pb::FieldCodec.ForString(34);
  private readonly pbc::RepeatedField<string> closedTdList_ = new pbc::RepeatedField<string>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<string> ClosedTdList {
    get { return closedTdList_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScTdGetTdList);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScTdGetTdList other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (StrongholdId != other.StrongholdId) return false;
    if(!unlockTdList_.Equals(other.unlockTdList_)) return false;
    if(!completedTdList_.Equals(other.completedTdList_)) return false;
    if(!closedTdList_.Equals(other.closedTdList_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (StrongholdId.Length != 0) hash ^= StrongholdId.GetHashCode();
    hash ^= unlockTdList_.GetHashCode();
    hash ^= completedTdList_.GetHashCode();
    hash ^= closedTdList_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (StrongholdId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(StrongholdId);
    }
    unlockTdList_.WriteTo(output, _repeated_unlockTdList_codec);
    completedTdList_.WriteTo(output, _repeated_completedTdList_codec);
    closedTdList_.WriteTo(output, _repeated_closedTdList_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (StrongholdId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(StrongholdId);
    }
    size += unlockTdList_.CalculateSize(_repeated_unlockTdList_codec);
    size += completedTdList_.CalculateSize(_repeated_completedTdList_codec);
    size += closedTdList_.CalculateSize(_repeated_closedTdList_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScTdGetTdList other) {
    if (other == null) {
      return;
    }
    if (other.StrongholdId.Length != 0) {
      StrongholdId = other.StrongholdId;
    }
    unlockTdList_.Add(other.unlockTdList_);
    completedTdList_.Add(other.completedTdList_);
    closedTdList_.Add(other.closedTdList_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          StrongholdId = input.ReadString();
          break;
        }
        case 18: {
          unlockTdList_.AddEntriesFrom(input, _repeated_unlockTdList_codec);
          break;
        }
        case 26: {
          completedTdList_.AddEntriesFrom(input, _repeated_completedTdList_codec);
          break;
        }
        case 34: {
          closedTdList_.AddEntriesFrom(input, _repeated_closedTdList_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScSyncTdFullStatus : pb::IMessage<ScSyncTdFullStatus> {
  private static readonly pb::MessageParser<ScSyncTdFullStatus> _parser = new pb::MessageParser<ScSyncTdFullStatus>(() => new ScSyncTdFullStatus());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSyncTdFullStatus> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1058]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncTdFullStatus() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncTdFullStatus(ScSyncTdFullStatus other) : this() {
    fullData_ = other.fullData_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncTdFullStatus Clone() {
    return new ScSyncTdFullStatus(this);
  }

  /// <summary>Field number for the "full_data" field.</summary>
  public const int FullDataFieldNumber = 1;
  private static readonly pb::FieldCodec<global::ScTdGetTdList> _repeated_fullData_codec
      = pb::FieldCodec.ForMessage(10, global::ScTdGetTdList.Parser);
  private readonly pbc::RepeatedField<global::ScTdGetTdList> fullData_ = new pbc::RepeatedField<global::ScTdGetTdList>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::ScTdGetTdList> FullData {
    get { return fullData_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSyncTdFullStatus);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSyncTdFullStatus other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!fullData_.Equals(other.fullData_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= fullData_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    fullData_.WriteTo(output, _repeated_fullData_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += fullData_.CalculateSize(_repeated_fullData_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSyncTdFullStatus other) {
    if (other == null) {
      return;
    }
    fullData_.Add(other.fullData_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          fullData_.AddEntriesFrom(input, _repeated_fullData_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class CsTdStart : pb::IMessage<CsTdStart> {
  private static readonly pb::MessageParser<CsTdStart> _parser = new pb::MessageParser<CsTdStart>(() => new CsTdStart());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsTdStart> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1059]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsTdStart() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsTdStart(CsTdStart other) : this() {
    tdId_ = other.tdId_;
    isRestart_ = other.isRestart_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsTdStart Clone() {
    return new CsTdStart(this);
  }

  /// <summary>Field number for the "td_id" field.</summary>
  public const int TdIdFieldNumber = 1;
  private string tdId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string TdId {
    get { return tdId_; }
    set {
      tdId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "is_restart" field.</summary>
  public const int IsRestartFieldNumber = 2;
  private bool isRestart_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool IsRestart {
    get { return isRestart_; }
    set {
      isRestart_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsTdStart);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsTdStart other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (TdId != other.TdId) return false;
    if (IsRestart != other.IsRestart) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (TdId.Length != 0) hash ^= TdId.GetHashCode();
    if (IsRestart != false) hash ^= IsRestart.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (TdId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(TdId);
    }
    if (IsRestart != false) {
      output.WriteRawTag(16);
      output.WriteBool(IsRestart);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (TdId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(TdId);
    }
    if (IsRestart != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsTdStart other) {
    if (other == null) {
      return;
    }
    if (other.TdId.Length != 0) {
      TdId = other.TdId;
    }
    if (other.IsRestart != false) {
      IsRestart = other.IsRestart;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          TdId = input.ReadString();
          break;
        }
        case 16: {
          IsRestart = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class ScTdStart : pb::IMessage<ScTdStart> {
  private static readonly pb::MessageParser<ScTdStart> _parser = new pb::MessageParser<ScTdStart>(() => new ScTdStart());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScTdStart> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1060]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScTdStart() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScTdStart(ScTdStart other) : this() {
    tdId_ = other.tdId_;
    isRestart_ = other.isRestart_;
    maxBuildingNum_ = other.maxBuildingNum_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScTdStart Clone() {
    return new ScTdStart(this);
  }

  /// <summary>Field number for the "td_id" field.</summary>
  public const int TdIdFieldNumber = 1;
  private string tdId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string TdId {
    get { return tdId_; }
    set {
      tdId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "is_restart" field.</summary>
  public const int IsRestartFieldNumber = 2;
  private bool isRestart_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool IsRestart {
    get { return isRestart_; }
    set {
      isRestart_ = value;
    }
  }

  /// <summary>Field number for the "max_building_num" field.</summary>
  public const int MaxBuildingNumFieldNumber = 3;
  private int maxBuildingNum_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int MaxBuildingNum {
    get { return maxBuildingNum_; }
    set {
      maxBuildingNum_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScTdStart);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScTdStart other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (TdId != other.TdId) return false;
    if (IsRestart != other.IsRestart) return false;
    if (MaxBuildingNum != other.MaxBuildingNum) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (TdId.Length != 0) hash ^= TdId.GetHashCode();
    if (IsRestart != false) hash ^= IsRestart.GetHashCode();
    if (MaxBuildingNum != 0) hash ^= MaxBuildingNum.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (TdId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(TdId);
    }
    if (IsRestart != false) {
      output.WriteRawTag(16);
      output.WriteBool(IsRestart);
    }
    if (MaxBuildingNum != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(MaxBuildingNum);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (TdId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(TdId);
    }
    if (IsRestart != false) {
      size += 1 + 1;
    }
    if (MaxBuildingNum != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(MaxBuildingNum);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScTdStart other) {
    if (other == null) {
      return;
    }
    if (other.TdId.Length != 0) {
      TdId = other.TdId;
    }
    if (other.IsRestart != false) {
      IsRestart = other.IsRestart;
    }
    if (other.MaxBuildingNum != 0) {
      MaxBuildingNum = other.MaxBuildingNum;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          TdId = input.ReadString();
          break;
        }
        case 16: {
          IsRestart = input.ReadBool();
          break;
        }
        case 24: {
          MaxBuildingNum = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class CsTdLeave : pb::IMessage<CsTdLeave> {
  private static readonly pb::MessageParser<CsTdLeave> _parser = new pb::MessageParser<CsTdLeave>(() => new CsTdLeave());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsTdLeave> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1061]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsTdLeave() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsTdLeave(CsTdLeave other) : this() {
    tdId_ = other.tdId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsTdLeave Clone() {
    return new CsTdLeave(this);
  }

  /// <summary>Field number for the "td_id" field.</summary>
  public const int TdIdFieldNumber = 1;
  private string tdId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string TdId {
    get { return tdId_; }
    set {
      tdId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsTdLeave);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsTdLeave other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (TdId != other.TdId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (TdId.Length != 0) hash ^= TdId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (TdId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(TdId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (TdId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(TdId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsTdLeave other) {
    if (other == null) {
      return;
    }
    if (other.TdId.Length != 0) {
      TdId = other.TdId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          TdId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class ScTdLeave : pb::IMessage<ScTdLeave> {
  private static readonly pb::MessageParser<ScTdLeave> _parser = new pb::MessageParser<ScTdLeave>(() => new ScTdLeave());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScTdLeave> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1062]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScTdLeave() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScTdLeave(ScTdLeave other) : this() {
    tdId_ = other.tdId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScTdLeave Clone() {
    return new ScTdLeave(this);
  }

  /// <summary>Field number for the "td_id" field.</summary>
  public const int TdIdFieldNumber = 1;
  private string tdId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string TdId {
    get { return tdId_; }
    set {
      tdId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScTdLeave);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScTdLeave other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (TdId != other.TdId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (TdId.Length != 0) hash ^= TdId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (TdId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(TdId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (TdId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(TdId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScTdLeave other) {
    if (other == null) {
      return;
    }
    if (other.TdId.Length != 0) {
      TdId = other.TdId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          TdId = input.ReadString();
          break;
        }
      }
    }
  }

}

public sealed partial class CsTdBuyBuilding : pb::IMessage<CsTdBuyBuilding> {
  private static readonly pb::MessageParser<CsTdBuyBuilding> _parser = new pb::MessageParser<CsTdBuyBuilding>(() => new CsTdBuyBuilding());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsTdBuyBuilding> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1063]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsTdBuyBuilding() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsTdBuyBuilding(CsTdBuyBuilding other) : this() {
    tdId_ = other.tdId_;
    buildingId_ = other.buildingId_;
    num_ = other.num_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsTdBuyBuilding Clone() {
    return new CsTdBuyBuilding(this);
  }

  /// <summary>Field number for the "td_id" field.</summary>
  public const int TdIdFieldNumber = 1;
  private string tdId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string TdId {
    get { return tdId_; }
    set {
      tdId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "building_id" field.</summary>
  public const int BuildingIdFieldNumber = 2;
  private string buildingId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string BuildingId {
    get { return buildingId_; }
    set {
      buildingId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "num" field.</summary>
  public const int NumFieldNumber = 3;
  private int num_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Num {
    get { return num_; }
    set {
      num_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsTdBuyBuilding);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsTdBuyBuilding other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (TdId != other.TdId) return false;
    if (BuildingId != other.BuildingId) return false;
    if (Num != other.Num) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (TdId.Length != 0) hash ^= TdId.GetHashCode();
    if (BuildingId.Length != 0) hash ^= BuildingId.GetHashCode();
    if (Num != 0) hash ^= Num.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (TdId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(TdId);
    }
    if (BuildingId.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(BuildingId);
    }
    if (Num != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(Num);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (TdId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(TdId);
    }
    if (BuildingId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(BuildingId);
    }
    if (Num != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Num);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsTdBuyBuilding other) {
    if (other == null) {
      return;
    }
    if (other.TdId.Length != 0) {
      TdId = other.TdId;
    }
    if (other.BuildingId.Length != 0) {
      BuildingId = other.BuildingId;
    }
    if (other.Num != 0) {
      Num = other.Num;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          TdId = input.ReadString();
          break;
        }
        case 18: {
          BuildingId = input.ReadString();
          break;
        }
        case 24: {
          Num = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScTdBuyBuilding : pb::IMessage<ScTdBuyBuilding> {
  private static readonly pb::MessageParser<ScTdBuyBuilding> _parser = new pb::MessageParser<ScTdBuyBuilding>(() => new ScTdBuyBuilding());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScTdBuyBuilding> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1064]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScTdBuyBuilding() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScTdBuyBuilding(ScTdBuyBuilding other) : this() {
    tdId_ = other.tdId_;
    buildingId_ = other.buildingId_;
    num_ = other.num_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScTdBuyBuilding Clone() {
    return new ScTdBuyBuilding(this);
  }

  /// <summary>Field number for the "td_id" field.</summary>
  public const int TdIdFieldNumber = 1;
  private string tdId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string TdId {
    get { return tdId_; }
    set {
      tdId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "building_id" field.</summary>
  public const int BuildingIdFieldNumber = 2;
  private string buildingId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string BuildingId {
    get { return buildingId_; }
    set {
      buildingId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "num" field.</summary>
  public const int NumFieldNumber = 3;
  private int num_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Num {
    get { return num_; }
    set {
      num_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScTdBuyBuilding);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScTdBuyBuilding other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (TdId != other.TdId) return false;
    if (BuildingId != other.BuildingId) return false;
    if (Num != other.Num) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (TdId.Length != 0) hash ^= TdId.GetHashCode();
    if (BuildingId.Length != 0) hash ^= BuildingId.GetHashCode();
    if (Num != 0) hash ^= Num.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (TdId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(TdId);
    }
    if (BuildingId.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(BuildingId);
    }
    if (Num != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(Num);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (TdId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(TdId);
    }
    if (BuildingId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(BuildingId);
    }
    if (Num != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Num);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScTdBuyBuilding other) {
    if (other == null) {
      return;
    }
    if (other.TdId.Length != 0) {
      TdId = other.TdId;
    }
    if (other.BuildingId.Length != 0) {
      BuildingId = other.BuildingId;
    }
    if (other.Num != 0) {
      Num = other.Num;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          TdId = input.ReadString();
          break;
        }
        case 18: {
          BuildingId = input.ReadString();
          break;
        }
        case 24: {
          Num = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScSyncTdDropItem : pb::IMessage<ScSyncTdDropItem> {
  private static readonly pb::MessageParser<ScSyncTdDropItem> _parser = new pb::MessageParser<ScSyncTdDropItem>(() => new ScSyncTdDropItem());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSyncTdDropItem> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1065]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncTdDropItem() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncTdDropItem(ScSyncTdDropItem other) : this() {
    dropId_ = other.dropId_;
    itemId_ = other.itemId_;
    num_ = other.num_;
    position_ = other.position_ != null ? other.position_.Clone() : null;
    duration_ = other.duration_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncTdDropItem Clone() {
    return new ScSyncTdDropItem(this);
  }

  /// <summary>Field number for the "drop_id" field.</summary>
  public const int DropIdFieldNumber = 1;
  private uint dropId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint DropId {
    get { return dropId_; }
    set {
      dropId_ = value;
    }
  }

  /// <summary>Field number for the "item_id" field.</summary>
  public const int ItemIdFieldNumber = 2;
  private string itemId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string ItemId {
    get { return itemId_; }
    set {
      itemId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "num" field.</summary>
  public const int NumFieldNumber = 3;
  private uint num_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint Num {
    get { return num_; }
    set {
      num_ = value;
    }
  }

  /// <summary>Field number for the "position" field.</summary>
  public const int PositionFieldNumber = 4;
  private global::Vector position_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::Vector Position {
    get { return position_; }
    set {
      position_ = value;
    }
  }

  /// <summary>Field number for the "duration" field.</summary>
  public const int DurationFieldNumber = 5;
  private uint duration_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint Duration {
    get { return duration_; }
    set {
      duration_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSyncTdDropItem);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSyncTdDropItem 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 (Num != other.Num) return false;
    if (!object.Equals(Position, other.Position)) return false;
    if (Duration != other.Duration) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (DropId != 0) hash ^= DropId.GetHashCode();
    if (ItemId.Length != 0) hash ^= ItemId.GetHashCode();
    if (Num != 0) hash ^= Num.GetHashCode();
    if (position_ != null) hash ^= Position.GetHashCode();
    if (Duration != 0) hash ^= Duration.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (DropId != 0) {
      output.WriteRawTag(8);
      output.WriteUInt32(DropId);
    }
    if (ItemId.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(ItemId);
    }
    if (Num != 0) {
      output.WriteRawTag(24);
      output.WriteUInt32(Num);
    }
    if (position_ != null) {
      output.WriteRawTag(34);
      output.WriteMessage(Position);
    }
    if (Duration != 0) {
      output.WriteRawTag(40);
      output.WriteUInt32(Duration);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (DropId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(DropId);
    }
    if (ItemId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(ItemId);
    }
    if (Num != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Num);
    }
    if (position_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Position);
    }
    if (Duration != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Duration);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSyncTdDropItem other) {
    if (other == null) {
      return;
    }
    if (other.DropId != 0) {
      DropId = other.DropId;
    }
    if (other.ItemId.Length != 0) {
      ItemId = other.ItemId;
    }
    if (other.Num != 0) {
      Num = other.Num;
    }
    if (other.position_ != null) {
      if (position_ == null) {
        position_ = new global::Vector();
      }
      Position.MergeFrom(other.Position);
    }
    if (other.Duration != 0) {
      Duration = other.Duration;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          DropId = input.ReadUInt32();
          break;
        }
        case 18: {
          ItemId = input.ReadString();
          break;
        }
        case 24: {
          Num = input.ReadUInt32();
          break;
        }
        case 34: {
          if (position_ == null) {
            position_ = new global::Vector();
          }
          input.ReadMessage(position_);
          break;
        }
        case 40: {
          Duration = input.ReadUInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class CsTdPickDropItem : pb::IMessage<CsTdPickDropItem> {
  private static readonly pb::MessageParser<CsTdPickDropItem> _parser = new pb::MessageParser<CsTdPickDropItem>(() => new CsTdPickDropItem());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsTdPickDropItem> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1066]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsTdPickDropItem() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsTdPickDropItem(CsTdPickDropItem other) : this() {
    dropIdList_ = other.dropIdList_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsTdPickDropItem Clone() {
    return new CsTdPickDropItem(this);
  }

  /// <summary>Field number for the "drop_id_list" field.</summary>
  public const int DropIdListFieldNumber = 1;
  private static readonly pb::FieldCodec<uint> _repeated_dropIdList_codec
      = pb::FieldCodec.ForUInt32(10);
  private readonly pbc::RepeatedField<uint> dropIdList_ = new pbc::RepeatedField<uint>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<uint> DropIdList {
    get { return dropIdList_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsTdPickDropItem);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsTdPickDropItem other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!dropIdList_.Equals(other.dropIdList_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= dropIdList_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    dropIdList_.WriteTo(output, _repeated_dropIdList_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += dropIdList_.CalculateSize(_repeated_dropIdList_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsTdPickDropItem other) {
    if (other == null) {
      return;
    }
    dropIdList_.Add(other.dropIdList_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10:
        case 8: {
          dropIdList_.AddEntriesFrom(input, _repeated_dropIdList_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScTdPickDropItem : pb::IMessage<ScTdPickDropItem> {
  private static readonly pb::MessageParser<ScTdPickDropItem> _parser = new pb::MessageParser<ScTdPickDropItem>(() => new ScTdPickDropItem());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScTdPickDropItem> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1067]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScTdPickDropItem() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScTdPickDropItem(ScTdPickDropItem other) : this() {
    dropIdList_ = other.dropIdList_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScTdPickDropItem Clone() {
    return new ScTdPickDropItem(this);
  }

  /// <summary>Field number for the "drop_id_list" field.</summary>
  public const int DropIdListFieldNumber = 1;
  private static readonly pb::FieldCodec<uint> _repeated_dropIdList_codec
      = pb::FieldCodec.ForUInt32(10);
  private readonly pbc::RepeatedField<uint> dropIdList_ = new pbc::RepeatedField<uint>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<uint> DropIdList {
    get { return dropIdList_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScTdPickDropItem);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScTdPickDropItem other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!dropIdList_.Equals(other.dropIdList_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= dropIdList_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    dropIdList_.WriteTo(output, _repeated_dropIdList_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += dropIdList_.CalculateSize(_repeated_dropIdList_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScTdPickDropItem other) {
    if (other == null) {
      return;
    }
    dropIdList_.Add(other.dropIdList_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10:
        case 8: {
          dropIdList_.AddEntriesFrom(input, _repeated_dropIdList_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class CsTdDropExpired : pb::IMessage<CsTdDropExpired> {
  private static readonly pb::MessageParser<CsTdDropExpired> _parser = new pb::MessageParser<CsTdDropExpired>(() => new CsTdDropExpired());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsTdDropExpired> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1068]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsTdDropExpired() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsTdDropExpired(CsTdDropExpired other) : this() {
    dropIdList_ = other.dropIdList_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsTdDropExpired Clone() {
    return new CsTdDropExpired(this);
  }

  /// <summary>Field number for the "drop_id_list" field.</summary>
  public const int DropIdListFieldNumber = 1;
  private static readonly pb::FieldCodec<uint> _repeated_dropIdList_codec
      = pb::FieldCodec.ForUInt32(10);
  private readonly pbc::RepeatedField<uint> dropIdList_ = new pbc::RepeatedField<uint>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<uint> DropIdList {
    get { return dropIdList_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsTdDropExpired);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsTdDropExpired other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!dropIdList_.Equals(other.dropIdList_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= dropIdList_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    dropIdList_.WriteTo(output, _repeated_dropIdList_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += dropIdList_.CalculateSize(_repeated_dropIdList_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsTdDropExpired other) {
    if (other == null) {
      return;
    }
    dropIdList_.Add(other.dropIdList_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10:
        case 8: {
          dropIdList_.AddEntriesFrom(input, _repeated_dropIdList_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class CsGameTimeFreezeStartReq : pb::IMessage<CsGameTimeFreezeStartReq> {
  private static readonly pb::MessageParser<CsGameTimeFreezeStartReq> _parser = new pb::MessageParser<CsGameTimeFreezeStartReq>(() => new CsGameTimeFreezeStartReq());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsGameTimeFreezeStartReq> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1069]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsGameTimeFreezeStartReq() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsGameTimeFreezeStartReq(CsGameTimeFreezeStartReq other) : this() {
    reason_ = other.reason_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsGameTimeFreezeStartReq Clone() {
    return new CsGameTimeFreezeStartReq(this);
  }

  /// <summary>Field number for the "reason" field.</summary>
  public const int ReasonFieldNumber = 1;
  private int reason_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Reason {
    get { return reason_; }
    set {
      reason_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsGameTimeFreezeStartReq);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsGameTimeFreezeStartReq other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Reason != other.Reason) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Reason != 0) hash ^= Reason.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Reason != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(Reason);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Reason != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Reason);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsGameTimeFreezeStartReq other) {
    if (other == null) {
      return;
    }
    if (other.Reason != 0) {
      Reason = other.Reason;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Reason = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class CsGameTimeFreezeEndReq : pb::IMessage<CsGameTimeFreezeEndReq> {
  private static readonly pb::MessageParser<CsGameTimeFreezeEndReq> _parser = new pb::MessageParser<CsGameTimeFreezeEndReq>(() => new CsGameTimeFreezeEndReq());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsGameTimeFreezeEndReq> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1070]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsGameTimeFreezeEndReq() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsGameTimeFreezeEndReq(CsGameTimeFreezeEndReq other) : this() {
    reason_ = other.reason_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsGameTimeFreezeEndReq Clone() {
    return new CsGameTimeFreezeEndReq(this);
  }

  /// <summary>Field number for the "reason" field.</summary>
  public const int ReasonFieldNumber = 1;
  private int reason_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Reason {
    get { return reason_; }
    set {
      reason_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsGameTimeFreezeEndReq);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsGameTimeFreezeEndReq other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Reason != other.Reason) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Reason != 0) hash ^= Reason.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Reason != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(Reason);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Reason != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Reason);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsGameTimeFreezeEndReq other) {
    if (other == null) {
      return;
    }
    if (other.Reason != 0) {
      Reason = other.Reason;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Reason = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class ScGameTimeFreezeStartRsp : pb::IMessage<ScGameTimeFreezeStartRsp> {
  private static readonly pb::MessageParser<ScGameTimeFreezeStartRsp> _parser = new pb::MessageParser<ScGameTimeFreezeStartRsp>(() => new ScGameTimeFreezeStartRsp());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScGameTimeFreezeStartRsp> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1071]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScGameTimeFreezeStartRsp() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScGameTimeFreezeStartRsp(ScGameTimeFreezeStartRsp other) : this() {
    reason_ = other.reason_;
    inTimeFreeze_ = other.inTimeFreeze_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScGameTimeFreezeStartRsp Clone() {
    return new ScGameTimeFreezeStartRsp(this);
  }

  /// <summary>Field number for the "reason" field.</summary>
  public const int ReasonFieldNumber = 1;
  private int reason_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Reason {
    get { return reason_; }
    set {
      reason_ = value;
    }
  }

  /// <summary>Field number for the "in_time_freeze" field.</summary>
  public const int InTimeFreezeFieldNumber = 2;
  private bool inTimeFreeze_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool InTimeFreeze {
    get { return inTimeFreeze_; }
    set {
      inTimeFreeze_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScGameTimeFreezeStartRsp);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScGameTimeFreezeStartRsp other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Reason != other.Reason) return false;
    if (InTimeFreeze != other.InTimeFreeze) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Reason != 0) hash ^= Reason.GetHashCode();
    if (InTimeFreeze != false) hash ^= InTimeFreeze.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Reason != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(Reason);
    }
    if (InTimeFreeze != false) {
      output.WriteRawTag(16);
      output.WriteBool(InTimeFreeze);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Reason != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Reason);
    }
    if (InTimeFreeze != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScGameTimeFreezeStartRsp other) {
    if (other == null) {
      return;
    }
    if (other.Reason != 0) {
      Reason = other.Reason;
    }
    if (other.InTimeFreeze != false) {
      InTimeFreeze = other.InTimeFreeze;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Reason = input.ReadInt32();
          break;
        }
        case 16: {
          InTimeFreeze = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class ScGameTimeFreezeEndRsp : pb::IMessage<ScGameTimeFreezeEndRsp> {
  private static readonly pb::MessageParser<ScGameTimeFreezeEndRsp> _parser = new pb::MessageParser<ScGameTimeFreezeEndRsp>(() => new ScGameTimeFreezeEndRsp());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScGameTimeFreezeEndRsp> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1072]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScGameTimeFreezeEndRsp() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScGameTimeFreezeEndRsp(ScGameTimeFreezeEndRsp other) : this() {
    reason_ = other.reason_;
    inTimeFreeze_ = other.inTimeFreeze_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScGameTimeFreezeEndRsp Clone() {
    return new ScGameTimeFreezeEndRsp(this);
  }

  /// <summary>Field number for the "reason" field.</summary>
  public const int ReasonFieldNumber = 1;
  private int reason_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int Reason {
    get { return reason_; }
    set {
      reason_ = value;
    }
  }

  /// <summary>Field number for the "in_time_freeze" field.</summary>
  public const int InTimeFreezeFieldNumber = 2;
  private bool inTimeFreeze_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool InTimeFreeze {
    get { return inTimeFreeze_; }
    set {
      inTimeFreeze_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScGameTimeFreezeEndRsp);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScGameTimeFreezeEndRsp other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Reason != other.Reason) return false;
    if (InTimeFreeze != other.InTimeFreeze) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Reason != 0) hash ^= Reason.GetHashCode();
    if (InTimeFreeze != false) hash ^= InTimeFreeze.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Reason != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(Reason);
    }
    if (InTimeFreeze != false) {
      output.WriteRawTag(16);
      output.WriteBool(InTimeFreeze);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Reason != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Reason);
    }
    if (InTimeFreeze != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScGameTimeFreezeEndRsp other) {
    if (other == null) {
      return;
    }
    if (other.Reason != 0) {
      Reason = other.Reason;
    }
    if (other.InTimeFreeze != false) {
      InTimeFreeze = other.InTimeFreeze;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Reason = input.ReadInt32();
          break;
        }
        case 16: {
          InTimeFreeze = input.ReadBool();
          break;
        }
      }
    }
  }

}

public sealed partial class ScSyncAllUnlock : pb::IMessage<ScSyncAllUnlock> {
  private static readonly pb::MessageParser<ScSyncAllUnlock> _parser = new pb::MessageParser<ScSyncAllUnlock>(() => new ScSyncAllUnlock());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSyncAllUnlock> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1073]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncAllUnlock() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncAllUnlock(ScSyncAllUnlock other) : this() {
    unlockSystems_ = other.unlockSystems_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncAllUnlock Clone() {
    return new ScSyncAllUnlock(this);
  }

  /// <summary>Field number for the "unlock_systems" field.</summary>
  public const int UnlockSystemsFieldNumber = 1;
  private static readonly pb::FieldCodec<int> _repeated_unlockSystems_codec
      = pb::FieldCodec.ForInt32(10);
  private readonly pbc::RepeatedField<int> unlockSystems_ = new pbc::RepeatedField<int>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<int> UnlockSystems {
    get { return unlockSystems_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSyncAllUnlock);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSyncAllUnlock other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!unlockSystems_.Equals(other.unlockSystems_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= unlockSystems_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    unlockSystems_.WriteTo(output, _repeated_unlockSystems_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += unlockSystems_.CalculateSize(_repeated_unlockSystems_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSyncAllUnlock other) {
    if (other == null) {
      return;
    }
    unlockSystems_.Add(other.unlockSystems_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10:
        case 8: {
          unlockSystems_.AddEntriesFrom(input, _repeated_unlockSystems_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScUnlockSystem : pb::IMessage<ScUnlockSystem> {
  private static readonly pb::MessageParser<ScUnlockSystem> _parser = new pb::MessageParser<ScUnlockSystem>(() => new ScUnlockSystem());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScUnlockSystem> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1074]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScUnlockSystem() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScUnlockSystem(ScUnlockSystem other) : this() {
    unlockSystemType_ = other.unlockSystemType_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScUnlockSystem Clone() {
    return new ScUnlockSystem(this);
  }

  /// <summary>Field number for the "unlock_system_type" field.</summary>
  public const int UnlockSystemTypeFieldNumber = 1;
  private int unlockSystemType_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int UnlockSystemType {
    get { return unlockSystemType_; }
    set {
      unlockSystemType_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScUnlockSystem);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScUnlockSystem other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (UnlockSystemType != other.UnlockSystemType) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (UnlockSystemType != 0) hash ^= UnlockSystemType.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (UnlockSystemType != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(UnlockSystemType);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (UnlockSystemType != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(UnlockSystemType);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScUnlockSystem other) {
    if (other == null) {
      return;
    }
    if (other.UnlockSystemType != 0) {
      UnlockSystemType = other.UnlockSystemType;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          UnlockSystemType = input.ReadInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class MoneyInfo : pb::IMessage<MoneyInfo> {
  private static readonly pb::MessageParser<MoneyInfo> _parser = new pb::MessageParser<MoneyInfo>(() => new MoneyInfo());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<MoneyInfo> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1075]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public MoneyInfo() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public MoneyInfo(MoneyInfo other) : this() {
    id_ = other.id_;
    amount_ = other.amount_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public MoneyInfo Clone() {
    return new MoneyInfo(this);
  }

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

  /// <summary>Field number for the "amount" field.</summary>
  public const int AmountFieldNumber = 2;
  private ulong amount_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong Amount {
    get { return amount_; }
    set {
      amount_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as MoneyInfo);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(MoneyInfo other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Id != other.Id) return false;
    if (Amount != other.Amount) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Id.Length != 0) hash ^= Id.GetHashCode();
    if (Amount != 0UL) hash ^= Amount.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Id.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(Id);
    }
    if (Amount != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(Amount);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Id.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(Id);
    }
    if (Amount != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(Amount);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(MoneyInfo other) {
    if (other == null) {
      return;
    }
    if (other.Id.Length != 0) {
      Id = other.Id;
    }
    if (other.Amount != 0UL) {
      Amount = other.Amount;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          Id = input.ReadString();
          break;
        }
        case 16: {
          Amount = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class CsMoneyChange : pb::IMessage<CsMoneyChange> {
  private static readonly pb::MessageParser<CsMoneyChange> _parser = new pb::MessageParser<CsMoneyChange>(() => new CsMoneyChange());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsMoneyChange> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1076]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsMoneyChange() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsMoneyChange(CsMoneyChange other) : this() {
    moneyFromId_ = other.moneyFromId_;
    moneyToId_ = other.moneyToId_;
    moneyFromCount_ = other.moneyFromCount_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsMoneyChange Clone() {
    return new CsMoneyChange(this);
  }

  /// <summary>Field number for the "money_from_id" field.</summary>
  public const int MoneyFromIdFieldNumber = 1;
  private string moneyFromId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string MoneyFromId {
    get { return moneyFromId_; }
    set {
      moneyFromId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "money_to_id" field.</summary>
  public const int MoneyToIdFieldNumber = 2;
  private string moneyToId_ = "";
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public string MoneyToId {
    get { return moneyToId_; }
    set {
      moneyToId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "money_from_count" field.</summary>
  public const int MoneyFromCountFieldNumber = 3;
  private ulong moneyFromCount_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong MoneyFromCount {
    get { return moneyFromCount_; }
    set {
      moneyFromCount_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsMoneyChange);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsMoneyChange other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (MoneyFromId != other.MoneyFromId) return false;
    if (MoneyToId != other.MoneyToId) return false;
    if (MoneyFromCount != other.MoneyFromCount) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (MoneyFromId.Length != 0) hash ^= MoneyFromId.GetHashCode();
    if (MoneyToId.Length != 0) hash ^= MoneyToId.GetHashCode();
    if (MoneyFromCount != 0UL) hash ^= MoneyFromCount.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (MoneyFromId.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(MoneyFromId);
    }
    if (MoneyToId.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(MoneyToId);
    }
    if (MoneyFromCount != 0UL) {
      output.WriteRawTag(24);
      output.WriteUInt64(MoneyFromCount);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (MoneyFromId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(MoneyFromId);
    }
    if (MoneyToId.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(MoneyToId);
    }
    if (MoneyFromCount != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(MoneyFromCount);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsMoneyChange other) {
    if (other == null) {
      return;
    }
    if (other.MoneyFromId.Length != 0) {
      MoneyFromId = other.MoneyFromId;
    }
    if (other.MoneyToId.Length != 0) {
      MoneyToId = other.MoneyToId;
    }
    if (other.MoneyFromCount != 0UL) {
      MoneyFromCount = other.MoneyFromCount;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          MoneyFromId = input.ReadString();
          break;
        }
        case 18: {
          MoneyToId = input.ReadString();
          break;
        }
        case 24: {
          MoneyFromCount = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class ScSyncWallet : pb::IMessage<ScSyncWallet> {
  private static readonly pb::MessageParser<ScSyncWallet> _parser = new pb::MessageParser<ScSyncWallet>(() => new ScSyncWallet());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSyncWallet> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1077]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncWallet() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncWallet(ScSyncWallet other) : this() {
    moneyList_ = other.moneyList_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncWallet Clone() {
    return new ScSyncWallet(this);
  }

  /// <summary>Field number for the "money_list" field.</summary>
  public const int MoneyListFieldNumber = 1;
  private static readonly pb::FieldCodec<global::MoneyInfo> _repeated_moneyList_codec
      = pb::FieldCodec.ForMessage(10, global::MoneyInfo.Parser);
  private readonly pbc::RepeatedField<global::MoneyInfo> moneyList_ = new pbc::RepeatedField<global::MoneyInfo>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<global::MoneyInfo> MoneyList {
    get { return moneyList_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSyncWallet);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSyncWallet other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!moneyList_.Equals(other.moneyList_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= moneyList_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    moneyList_.WriteTo(output, _repeated_moneyList_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += moneyList_.CalculateSize(_repeated_moneyList_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSyncWallet other) {
    if (other == null) {
      return;
    }
    moneyList_.Add(other.moneyList_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          moneyList_.AddEntriesFrom(input, _repeated_moneyList_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScWalletSyncMoney : pb::IMessage<ScWalletSyncMoney> {
  private static readonly pb::MessageParser<ScWalletSyncMoney> _parser = new pb::MessageParser<ScWalletSyncMoney>(() => new ScWalletSyncMoney());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScWalletSyncMoney> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1078]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScWalletSyncMoney() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScWalletSyncMoney(ScWalletSyncMoney other) : this() {
    id_ = other.id_;
    amount_ = other.amount_;
    opAmount_ = other.opAmount_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScWalletSyncMoney Clone() {
    return new ScWalletSyncMoney(this);
  }

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

  /// <summary>Field number for the "amount" field.</summary>
  public const int AmountFieldNumber = 2;
  private ulong amount_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong Amount {
    get { return amount_; }
    set {
      amount_ = value;
    }
  }

  /// <summary>Field number for the "op_amount" field.</summary>
  public const int OpAmountFieldNumber = 3;
  private long opAmount_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long OpAmount {
    get { return opAmount_; }
    set {
      opAmount_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScWalletSyncMoney);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScWalletSyncMoney other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Id != other.Id) return false;
    if (Amount != other.Amount) return false;
    if (OpAmount != other.OpAmount) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Id.Length != 0) hash ^= Id.GetHashCode();
    if (Amount != 0UL) hash ^= Amount.GetHashCode();
    if (OpAmount != 0L) hash ^= OpAmount.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Id.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(Id);
    }
    if (Amount != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(Amount);
    }
    if (OpAmount != 0L) {
      output.WriteRawTag(24);
      output.WriteInt64(OpAmount);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Id.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(Id);
    }
    if (Amount != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(Amount);
    }
    if (OpAmount != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(OpAmount);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScWalletSyncMoney other) {
    if (other == null) {
      return;
    }
    if (other.Id.Length != 0) {
      Id = other.Id;
    }
    if (other.Amount != 0UL) {
      Amount = other.Amount;
    }
    if (other.OpAmount != 0L) {
      OpAmount = other.OpAmount;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          Id = input.ReadString();
          break;
        }
        case 16: {
          Amount = input.ReadUInt64();
          break;
        }
        case 24: {
          OpAmount = input.ReadInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class ScRewardDropMoneyToast : pb::IMessage<ScRewardDropMoneyToast> {
  private static readonly pb::MessageParser<ScRewardDropMoneyToast> _parser = new pb::MessageParser<ScRewardDropMoneyToast>(() => new ScRewardDropMoneyToast());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScRewardDropMoneyToast> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1079]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScRewardDropMoneyToast() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScRewardDropMoneyToast(ScRewardDropMoneyToast other) : this() {
    id_ = other.id_;
    amount_ = other.amount_;
    pos_ = other.pos_ != null ? other.pos_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScRewardDropMoneyToast Clone() {
    return new ScRewardDropMoneyToast(this);
  }

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

  /// <summary>Field number for the "amount" field.</summary>
  public const int AmountFieldNumber = 2;
  private long amount_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public long Amount {
    get { return amount_; }
    set {
      amount_ = value;
    }
  }

  /// <summary>Field number for the "pos" field.</summary>
  public const int PosFieldNumber = 3;
  private global::Vector pos_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public global::Vector Pos {
    get { return pos_; }
    set {
      pos_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScRewardDropMoneyToast);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScRewardDropMoneyToast other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Id != other.Id) return false;
    if (Amount != other.Amount) return false;
    if (!object.Equals(Pos, other.Pos)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Id.Length != 0) hash ^= Id.GetHashCode();
    if (Amount != 0L) hash ^= Amount.GetHashCode();
    if (pos_ != null) hash ^= Pos.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Id.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(Id);
    }
    if (Amount != 0L) {
      output.WriteRawTag(16);
      output.WriteInt64(Amount);
    }
    if (pos_ != null) {
      output.WriteRawTag(26);
      output.WriteMessage(Pos);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Id.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(Id);
    }
    if (Amount != 0L) {
      size += 1 + pb::CodedOutputStream.ComputeInt64Size(Amount);
    }
    if (pos_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Pos);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScRewardDropMoneyToast other) {
    if (other == null) {
      return;
    }
    if (other.Id.Length != 0) {
      Id = other.Id;
    }
    if (other.Amount != 0L) {
      Amount = other.Amount;
    }
    if (other.pos_ != null) {
      if (pos_ == null) {
        pos_ = new global::Vector();
      }
      Pos.MergeFrom(other.Pos);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          Id = input.ReadString();
          break;
        }
        case 16: {
          Amount = input.ReadInt64();
          break;
        }
        case 26: {
          if (pos_ == null) {
            pos_ = new global::Vector();
          }
          input.ReadMessage(pos_);
          break;
        }
      }
    }
  }

}

public sealed partial class CsWeaponPuton : pb::IMessage<CsWeaponPuton> {
  private static readonly pb::MessageParser<CsWeaponPuton> _parser = new pb::MessageParser<CsWeaponPuton>(() => new CsWeaponPuton());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsWeaponPuton> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1080]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsWeaponPuton() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsWeaponPuton(CsWeaponPuton other) : this() {
    charid_ = other.charid_;
    weaponid_ = other.weaponid_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsWeaponPuton Clone() {
    return new CsWeaponPuton(this);
  }

  /// <summary>Field number for the "charid" field.</summary>
  public const int CharidFieldNumber = 1;
  private ulong charid_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong Charid {
    get { return charid_; }
    set {
      charid_ = value;
    }
  }

  /// <summary>Field number for the "weaponid" field.</summary>
  public const int WeaponidFieldNumber = 2;
  private ulong weaponid_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong Weaponid {
    get { return weaponid_; }
    set {
      weaponid_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsWeaponPuton);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsWeaponPuton other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Charid != other.Charid) return false;
    if (Weaponid != other.Weaponid) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Charid != 0UL) hash ^= Charid.GetHashCode();
    if (Weaponid != 0UL) hash ^= Weaponid.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Charid != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(Charid);
    }
    if (Weaponid != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(Weaponid);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Charid != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(Charid);
    }
    if (Weaponid != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(Weaponid);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsWeaponPuton other) {
    if (other == null) {
      return;
    }
    if (other.Charid != 0UL) {
      Charid = other.Charid;
    }
    if (other.Weaponid != 0UL) {
      Weaponid = other.Weaponid;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Charid = input.ReadUInt64();
          break;
        }
        case 16: {
          Weaponid = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class ScWeaponPuton : pb::IMessage<ScWeaponPuton> {
  private static readonly pb::MessageParser<ScWeaponPuton> _parser = new pb::MessageParser<ScWeaponPuton>(() => new ScWeaponPuton());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScWeaponPuton> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1081]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScWeaponPuton() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScWeaponPuton(ScWeaponPuton other) : this() {
    charid_ = other.charid_;
    weaponid_ = other.weaponid_;
    offweaponid_ = other.offweaponid_;
    putOffCharid_ = other.putOffCharid_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScWeaponPuton Clone() {
    return new ScWeaponPuton(this);
  }

  /// <summary>Field number for the "charid" field.</summary>
  public const int CharidFieldNumber = 1;
  private ulong charid_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong Charid {
    get { return charid_; }
    set {
      charid_ = value;
    }
  }

  /// <summary>Field number for the "weaponid" field.</summary>
  public const int WeaponidFieldNumber = 2;
  private ulong weaponid_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong Weaponid {
    get { return weaponid_; }
    set {
      weaponid_ = value;
    }
  }

  /// <summary>Field number for the "offweaponid" field.</summary>
  public const int OffweaponidFieldNumber = 3;
  private ulong offweaponid_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong Offweaponid {
    get { return offweaponid_; }
    set {
      offweaponid_ = value;
    }
  }

  /// <summary>Field number for the "put_off_charid" field.</summary>
  public const int PutOffCharidFieldNumber = 4;
  private ulong putOffCharid_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong PutOffCharid {
    get { return putOffCharid_; }
    set {
      putOffCharid_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScWeaponPuton);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScWeaponPuton other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Charid != other.Charid) return false;
    if (Weaponid != other.Weaponid) return false;
    if (Offweaponid != other.Offweaponid) return false;
    if (PutOffCharid != other.PutOffCharid) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Charid != 0UL) hash ^= Charid.GetHashCode();
    if (Weaponid != 0UL) hash ^= Weaponid.GetHashCode();
    if (Offweaponid != 0UL) hash ^= Offweaponid.GetHashCode();
    if (PutOffCharid != 0UL) hash ^= PutOffCharid.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Charid != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(Charid);
    }
    if (Weaponid != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(Weaponid);
    }
    if (Offweaponid != 0UL) {
      output.WriteRawTag(24);
      output.WriteUInt64(Offweaponid);
    }
    if (PutOffCharid != 0UL) {
      output.WriteRawTag(32);
      output.WriteUInt64(PutOffCharid);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Charid != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(Charid);
    }
    if (Weaponid != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(Weaponid);
    }
    if (Offweaponid != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(Offweaponid);
    }
    if (PutOffCharid != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(PutOffCharid);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScWeaponPuton other) {
    if (other == null) {
      return;
    }
    if (other.Charid != 0UL) {
      Charid = other.Charid;
    }
    if (other.Weaponid != 0UL) {
      Weaponid = other.Weaponid;
    }
    if (other.Offweaponid != 0UL) {
      Offweaponid = other.Offweaponid;
    }
    if (other.PutOffCharid != 0UL) {
      PutOffCharid = other.PutOffCharid;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Charid = input.ReadUInt64();
          break;
        }
        case 16: {
          Weaponid = input.ReadUInt64();
          break;
        }
        case 24: {
          Offweaponid = input.ReadUInt64();
          break;
        }
        case 32: {
          PutOffCharid = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class CsWeaponBreakthrough : pb::IMessage<CsWeaponBreakthrough> {
  private static readonly pb::MessageParser<CsWeaponBreakthrough> _parser = new pb::MessageParser<CsWeaponBreakthrough>(() => new CsWeaponBreakthrough());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsWeaponBreakthrough> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1082]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsWeaponBreakthrough() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsWeaponBreakthrough(CsWeaponBreakthrough other) : this() {
    weaponid_ = other.weaponid_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsWeaponBreakthrough Clone() {
    return new CsWeaponBreakthrough(this);
  }

  /// <summary>Field number for the "weaponid" field.</summary>
  public const int WeaponidFieldNumber = 1;
  private ulong weaponid_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong Weaponid {
    get { return weaponid_; }
    set {
      weaponid_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsWeaponBreakthrough);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsWeaponBreakthrough other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Weaponid != other.Weaponid) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Weaponid != 0UL) hash ^= Weaponid.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Weaponid != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(Weaponid);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Weaponid != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(Weaponid);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsWeaponBreakthrough other) {
    if (other == null) {
      return;
    }
    if (other.Weaponid != 0UL) {
      Weaponid = other.Weaponid;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Weaponid = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class ScWeaponBreakthrough : pb::IMessage<ScWeaponBreakthrough> {
  private static readonly pb::MessageParser<ScWeaponBreakthrough> _parser = new pb::MessageParser<ScWeaponBreakthrough>(() => new ScWeaponBreakthrough());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScWeaponBreakthrough> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1083]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScWeaponBreakthrough() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScWeaponBreakthrough(ScWeaponBreakthrough other) : this() {
    weaponid_ = other.weaponid_;
    breakthroughLv_ = other.breakthroughLv_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScWeaponBreakthrough Clone() {
    return new ScWeaponBreakthrough(this);
  }

  /// <summary>Field number for the "weaponid" field.</summary>
  public const int WeaponidFieldNumber = 1;
  private ulong weaponid_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong Weaponid {
    get { return weaponid_; }
    set {
      weaponid_ = value;
    }
  }

  /// <summary>Field number for the "breakthrough_lv" field.</summary>
  public const int BreakthroughLvFieldNumber = 2;
  private ulong breakthroughLv_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong BreakthroughLv {
    get { return breakthroughLv_; }
    set {
      breakthroughLv_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScWeaponBreakthrough);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScWeaponBreakthrough other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Weaponid != other.Weaponid) return false;
    if (BreakthroughLv != other.BreakthroughLv) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Weaponid != 0UL) hash ^= Weaponid.GetHashCode();
    if (BreakthroughLv != 0UL) hash ^= BreakthroughLv.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Weaponid != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(Weaponid);
    }
    if (BreakthroughLv != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(BreakthroughLv);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Weaponid != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(Weaponid);
    }
    if (BreakthroughLv != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(BreakthroughLv);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScWeaponBreakthrough other) {
    if (other == null) {
      return;
    }
    if (other.Weaponid != 0UL) {
      Weaponid = other.Weaponid;
    }
    if (other.BreakthroughLv != 0UL) {
      BreakthroughLv = other.BreakthroughLv;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Weaponid = input.ReadUInt64();
          break;
        }
        case 16: {
          BreakthroughLv = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class CsWeaponRefineUpgrade : pb::IMessage<CsWeaponRefineUpgrade> {
  private static readonly pb::MessageParser<CsWeaponRefineUpgrade> _parser = new pb::MessageParser<CsWeaponRefineUpgrade>(() => new CsWeaponRefineUpgrade());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsWeaponRefineUpgrade> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1084]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsWeaponRefineUpgrade() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsWeaponRefineUpgrade(CsWeaponRefineUpgrade other) : this() {
    weaponid_ = other.weaponid_;
    upgradeRefineLv_ = other.upgradeRefineLv_;
    costWeaponIds_ = other.costWeaponIds_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsWeaponRefineUpgrade Clone() {
    return new CsWeaponRefineUpgrade(this);
  }

  /// <summary>Field number for the "weaponid" field.</summary>
  public const int WeaponidFieldNumber = 1;
  private ulong weaponid_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong Weaponid {
    get { return weaponid_; }
    set {
      weaponid_ = value;
    }
  }

  /// <summary>Field number for the "upgrade_refine_lv" field.</summary>
  public const int UpgradeRefineLvFieldNumber = 2;
  private ulong upgradeRefineLv_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong UpgradeRefineLv {
    get { return upgradeRefineLv_; }
    set {
      upgradeRefineLv_ = value;
    }
  }

  /// <summary>Field number for the "cost_weapon_ids" field.</summary>
  public const int CostWeaponIdsFieldNumber = 3;
  private static readonly pb::FieldCodec<ulong> _repeated_costWeaponIds_codec
      = pb::FieldCodec.ForUInt64(26);
  private readonly pbc::RepeatedField<ulong> costWeaponIds_ = new pbc::RepeatedField<ulong>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<ulong> CostWeaponIds {
    get { return costWeaponIds_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsWeaponRefineUpgrade);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsWeaponRefineUpgrade other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Weaponid != other.Weaponid) return false;
    if (UpgradeRefineLv != other.UpgradeRefineLv) return false;
    if(!costWeaponIds_.Equals(other.costWeaponIds_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Weaponid != 0UL) hash ^= Weaponid.GetHashCode();
    if (UpgradeRefineLv != 0UL) hash ^= UpgradeRefineLv.GetHashCode();
    hash ^= costWeaponIds_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Weaponid != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(Weaponid);
    }
    if (UpgradeRefineLv != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(UpgradeRefineLv);
    }
    costWeaponIds_.WriteTo(output, _repeated_costWeaponIds_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Weaponid != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(Weaponid);
    }
    if (UpgradeRefineLv != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(UpgradeRefineLv);
    }
    size += costWeaponIds_.CalculateSize(_repeated_costWeaponIds_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsWeaponRefineUpgrade other) {
    if (other == null) {
      return;
    }
    if (other.Weaponid != 0UL) {
      Weaponid = other.Weaponid;
    }
    if (other.UpgradeRefineLv != 0UL) {
      UpgradeRefineLv = other.UpgradeRefineLv;
    }
    costWeaponIds_.Add(other.costWeaponIds_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Weaponid = input.ReadUInt64();
          break;
        }
        case 16: {
          UpgradeRefineLv = input.ReadUInt64();
          break;
        }
        case 26:
        case 24: {
          costWeaponIds_.AddEntriesFrom(input, _repeated_costWeaponIds_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScWeaponRefineUpgrade : pb::IMessage<ScWeaponRefineUpgrade> {
  private static readonly pb::MessageParser<ScWeaponRefineUpgrade> _parser = new pb::MessageParser<ScWeaponRefineUpgrade>(() => new ScWeaponRefineUpgrade());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScWeaponRefineUpgrade> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1085]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScWeaponRefineUpgrade() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScWeaponRefineUpgrade(ScWeaponRefineUpgrade other) : this() {
    weaponid_ = other.weaponid_;
    refineLv_ = other.refineLv_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScWeaponRefineUpgrade Clone() {
    return new ScWeaponRefineUpgrade(this);
  }

  /// <summary>Field number for the "weaponid" field.</summary>
  public const int WeaponidFieldNumber = 1;
  private ulong weaponid_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong Weaponid {
    get { return weaponid_; }
    set {
      weaponid_ = value;
    }
  }

  /// <summary>Field number for the "refine_lv" field.</summary>
  public const int RefineLvFieldNumber = 2;
  private ulong refineLv_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong RefineLv {
    get { return refineLv_; }
    set {
      refineLv_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScWeaponRefineUpgrade);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScWeaponRefineUpgrade other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Weaponid != other.Weaponid) return false;
    if (RefineLv != other.RefineLv) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Weaponid != 0UL) hash ^= Weaponid.GetHashCode();
    if (RefineLv != 0UL) hash ^= RefineLv.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Weaponid != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(Weaponid);
    }
    if (RefineLv != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(RefineLv);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Weaponid != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(Weaponid);
    }
    if (RefineLv != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(RefineLv);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScWeaponRefineUpgrade other) {
    if (other == null) {
      return;
    }
    if (other.Weaponid != 0UL) {
      Weaponid = other.Weaponid;
    }
    if (other.RefineLv != 0UL) {
      RefineLv = other.RefineLv;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Weaponid = input.ReadUInt64();
          break;
        }
        case 16: {
          RefineLv = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class CsWeaponAddExp : pb::IMessage<CsWeaponAddExp> {
  private static readonly pb::MessageParser<CsWeaponAddExp> _parser = new pb::MessageParser<CsWeaponAddExp>(() => new CsWeaponAddExp());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsWeaponAddExp> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1086]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsWeaponAddExp() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsWeaponAddExp(CsWeaponAddExp other) : this() {
    weaponid_ = other.weaponid_;
    costItemId2Count_ = other.costItemId2Count_.Clone();
    costWeaponIds_ = other.costWeaponIds_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsWeaponAddExp Clone() {
    return new CsWeaponAddExp(this);
  }

  /// <summary>Field number for the "weaponid" field.</summary>
  public const int WeaponidFieldNumber = 1;
  private ulong weaponid_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong Weaponid {
    get { return weaponid_; }
    set {
      weaponid_ = value;
    }
  }

  /// <summary>Field number for the "cost_item_id2_count" field.</summary>
  public const int CostItemId2CountFieldNumber = 2;
  private static readonly pbc::MapField<string, ulong>.Codec _map_costItemId2Count_codec
      = new pbc::MapField<string, ulong>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForUInt64(16), 18);
  private readonly pbc::MapField<string, ulong> costItemId2Count_ = new pbc::MapField<string, ulong>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::MapField<string, ulong> CostItemId2Count {
    get { return costItemId2Count_; }
  }

  /// <summary>Field number for the "cost_weapon_ids" field.</summary>
  public const int CostWeaponIdsFieldNumber = 3;
  private static readonly pb::FieldCodec<ulong> _repeated_costWeaponIds_codec
      = pb::FieldCodec.ForUInt64(26);
  private readonly pbc::RepeatedField<ulong> costWeaponIds_ = new pbc::RepeatedField<ulong>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<ulong> CostWeaponIds {
    get { return costWeaponIds_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsWeaponAddExp);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsWeaponAddExp other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Weaponid != other.Weaponid) return false;
    if (!CostItemId2Count.Equals(other.CostItemId2Count)) return false;
    if(!costWeaponIds_.Equals(other.costWeaponIds_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Weaponid != 0UL) hash ^= Weaponid.GetHashCode();
    hash ^= CostItemId2Count.GetHashCode();
    hash ^= costWeaponIds_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Weaponid != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(Weaponid);
    }
    costItemId2Count_.WriteTo(output, _map_costItemId2Count_codec);
    costWeaponIds_.WriteTo(output, _repeated_costWeaponIds_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Weaponid != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(Weaponid);
    }
    size += costItemId2Count_.CalculateSize(_map_costItemId2Count_codec);
    size += costWeaponIds_.CalculateSize(_repeated_costWeaponIds_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsWeaponAddExp other) {
    if (other == null) {
      return;
    }
    if (other.Weaponid != 0UL) {
      Weaponid = other.Weaponid;
    }
    costItemId2Count_.Add(other.costItemId2Count_);
    costWeaponIds_.Add(other.costWeaponIds_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Weaponid = input.ReadUInt64();
          break;
        }
        case 18: {
          costItemId2Count_.AddEntriesFrom(input, _map_costItemId2Count_codec);
          break;
        }
        case 26:
        case 24: {
          costWeaponIds_.AddEntriesFrom(input, _repeated_costWeaponIds_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class ScWeaponAddExp : pb::IMessage<ScWeaponAddExp> {
  private static readonly pb::MessageParser<ScWeaponAddExp> _parser = new pb::MessageParser<ScWeaponAddExp>(() => new ScWeaponAddExp());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScWeaponAddExp> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1087]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScWeaponAddExp() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScWeaponAddExp(ScWeaponAddExp other) : this() {
    weaponid_ = other.weaponid_;
    newExp_ = other.newExp_;
    weaponLv_ = other.weaponLv_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScWeaponAddExp Clone() {
    return new ScWeaponAddExp(this);
  }

  /// <summary>Field number for the "weaponid" field.</summary>
  public const int WeaponidFieldNumber = 1;
  private ulong weaponid_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong Weaponid {
    get { return weaponid_; }
    set {
      weaponid_ = value;
    }
  }

  /// <summary>Field number for the "new_exp" field.</summary>
  public const int NewExpFieldNumber = 2;
  private ulong newExp_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong NewExp {
    get { return newExp_; }
    set {
      newExp_ = value;
    }
  }

  /// <summary>Field number for the "weapon_lv" field.</summary>
  public const int WeaponLvFieldNumber = 3;
  private ulong weaponLv_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong WeaponLv {
    get { return weaponLv_; }
    set {
      weaponLv_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScWeaponAddExp);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScWeaponAddExp other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Weaponid != other.Weaponid) return false;
    if (NewExp != other.NewExp) return false;
    if (WeaponLv != other.WeaponLv) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Weaponid != 0UL) hash ^= Weaponid.GetHashCode();
    if (NewExp != 0UL) hash ^= NewExp.GetHashCode();
    if (WeaponLv != 0UL) hash ^= WeaponLv.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Weaponid != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(Weaponid);
    }
    if (NewExp != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(NewExp);
    }
    if (WeaponLv != 0UL) {
      output.WriteRawTag(24);
      output.WriteUInt64(WeaponLv);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Weaponid != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(Weaponid);
    }
    if (NewExp != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(NewExp);
    }
    if (WeaponLv != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(WeaponLv);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScWeaponAddExp other) {
    if (other == null) {
      return;
    }
    if (other.Weaponid != 0UL) {
      Weaponid = other.Weaponid;
    }
    if (other.NewExp != 0UL) {
      NewExp = other.NewExp;
    }
    if (other.WeaponLv != 0UL) {
      WeaponLv = other.WeaponLv;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Weaponid = input.ReadUInt64();
          break;
        }
        case 16: {
          NewExp = input.ReadUInt64();
          break;
        }
        case 24: {
          WeaponLv = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class CsWeaponAttachGem : pb::IMessage<CsWeaponAttachGem> {
  private static readonly pb::MessageParser<CsWeaponAttachGem> _parser = new pb::MessageParser<CsWeaponAttachGem>(() => new CsWeaponAttachGem());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsWeaponAttachGem> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1088]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsWeaponAttachGem() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsWeaponAttachGem(CsWeaponAttachGem other) : this() {
    weaponid_ = other.weaponid_;
    gemid_ = other.gemid_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsWeaponAttachGem Clone() {
    return new CsWeaponAttachGem(this);
  }

  /// <summary>Field number for the "weaponid" field.</summary>
  public const int WeaponidFieldNumber = 1;
  private ulong weaponid_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong Weaponid {
    get { return weaponid_; }
    set {
      weaponid_ = value;
    }
  }

  /// <summary>Field number for the "gemid" field.</summary>
  public const int GemidFieldNumber = 2;
  private ulong gemid_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong Gemid {
    get { return gemid_; }
    set {
      gemid_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsWeaponAttachGem);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsWeaponAttachGem other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Weaponid != other.Weaponid) return false;
    if (Gemid != other.Gemid) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Weaponid != 0UL) hash ^= Weaponid.GetHashCode();
    if (Gemid != 0UL) hash ^= Gemid.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Weaponid != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(Weaponid);
    }
    if (Gemid != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(Gemid);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Weaponid != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(Weaponid);
    }
    if (Gemid != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(Gemid);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsWeaponAttachGem other) {
    if (other == null) {
      return;
    }
    if (other.Weaponid != 0UL) {
      Weaponid = other.Weaponid;
    }
    if (other.Gemid != 0UL) {
      Gemid = other.Gemid;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Weaponid = input.ReadUInt64();
          break;
        }
        case 16: {
          Gemid = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class ScWeaponAttachGem : pb::IMessage<ScWeaponAttachGem> {
  private static readonly pb::MessageParser<ScWeaponAttachGem> _parser = new pb::MessageParser<ScWeaponAttachGem>(() => new ScWeaponAttachGem());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScWeaponAttachGem> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1089]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScWeaponAttachGem() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScWeaponAttachGem(ScWeaponAttachGem other) : this() {
    weaponid_ = other.weaponid_;
    gemid_ = other.gemid_;
    detachGemid_ = other.detachGemid_;
    detachGemWeaponid_ = other.detachGemWeaponid_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScWeaponAttachGem Clone() {
    return new ScWeaponAttachGem(this);
  }

  /// <summary>Field number for the "weaponid" field.</summary>
  public const int WeaponidFieldNumber = 1;
  private ulong weaponid_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong Weaponid {
    get { return weaponid_; }
    set {
      weaponid_ = value;
    }
  }

  /// <summary>Field number for the "gemid" field.</summary>
  public const int GemidFieldNumber = 2;
  private ulong gemid_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong Gemid {
    get { return gemid_; }
    set {
      gemid_ = value;
    }
  }

  /// <summary>Field number for the "detach_gemid" field.</summary>
  public const int DetachGemidFieldNumber = 3;
  private ulong detachGemid_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong DetachGemid {
    get { return detachGemid_; }
    set {
      detachGemid_ = value;
    }
  }

  /// <summary>Field number for the "detach_gem_weaponid" field.</summary>
  public const int DetachGemWeaponidFieldNumber = 4;
  private ulong detachGemWeaponid_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong DetachGemWeaponid {
    get { return detachGemWeaponid_; }
    set {
      detachGemWeaponid_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScWeaponAttachGem);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScWeaponAttachGem other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Weaponid != other.Weaponid) return false;
    if (Gemid != other.Gemid) return false;
    if (DetachGemid != other.DetachGemid) return false;
    if (DetachGemWeaponid != other.DetachGemWeaponid) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Weaponid != 0UL) hash ^= Weaponid.GetHashCode();
    if (Gemid != 0UL) hash ^= Gemid.GetHashCode();
    if (DetachGemid != 0UL) hash ^= DetachGemid.GetHashCode();
    if (DetachGemWeaponid != 0UL) hash ^= DetachGemWeaponid.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Weaponid != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(Weaponid);
    }
    if (Gemid != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(Gemid);
    }
    if (DetachGemid != 0UL) {
      output.WriteRawTag(24);
      output.WriteUInt64(DetachGemid);
    }
    if (DetachGemWeaponid != 0UL) {
      output.WriteRawTag(32);
      output.WriteUInt64(DetachGemWeaponid);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Weaponid != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(Weaponid);
    }
    if (Gemid != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(Gemid);
    }
    if (DetachGemid != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(DetachGemid);
    }
    if (DetachGemWeaponid != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(DetachGemWeaponid);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScWeaponAttachGem other) {
    if (other == null) {
      return;
    }
    if (other.Weaponid != 0UL) {
      Weaponid = other.Weaponid;
    }
    if (other.Gemid != 0UL) {
      Gemid = other.Gemid;
    }
    if (other.DetachGemid != 0UL) {
      DetachGemid = other.DetachGemid;
    }
    if (other.DetachGemWeaponid != 0UL) {
      DetachGemWeaponid = other.DetachGemWeaponid;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Weaponid = input.ReadUInt64();
          break;
        }
        case 16: {
          Gemid = input.ReadUInt64();
          break;
        }
        case 24: {
          DetachGemid = input.ReadUInt64();
          break;
        }
        case 32: {
          DetachGemWeaponid = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class CsWeaponDetachGem : pb::IMessage<CsWeaponDetachGem> {
  private static readonly pb::MessageParser<CsWeaponDetachGem> _parser = new pb::MessageParser<CsWeaponDetachGem>(() => new CsWeaponDetachGem());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsWeaponDetachGem> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1090]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsWeaponDetachGem() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsWeaponDetachGem(CsWeaponDetachGem other) : this() {
    weaponid_ = other.weaponid_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsWeaponDetachGem Clone() {
    return new CsWeaponDetachGem(this);
  }

  /// <summary>Field number for the "weaponid" field.</summary>
  public const int WeaponidFieldNumber = 1;
  private ulong weaponid_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong Weaponid {
    get { return weaponid_; }
    set {
      weaponid_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsWeaponDetachGem);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsWeaponDetachGem other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Weaponid != other.Weaponid) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Weaponid != 0UL) hash ^= Weaponid.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Weaponid != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(Weaponid);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Weaponid != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(Weaponid);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsWeaponDetachGem other) {
    if (other == null) {
      return;
    }
    if (other.Weaponid != 0UL) {
      Weaponid = other.Weaponid;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Weaponid = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class ScWeaponDetachGem : pb::IMessage<ScWeaponDetachGem> {
  private static readonly pb::MessageParser<ScWeaponDetachGem> _parser = new pb::MessageParser<ScWeaponDetachGem>(() => new ScWeaponDetachGem());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScWeaponDetachGem> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1091]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScWeaponDetachGem() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScWeaponDetachGem(ScWeaponDetachGem other) : this() {
    weaponid_ = other.weaponid_;
    detachGemid_ = other.detachGemid_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScWeaponDetachGem Clone() {
    return new ScWeaponDetachGem(this);
  }

  /// <summary>Field number for the "weaponid" field.</summary>
  public const int WeaponidFieldNumber = 1;
  private ulong weaponid_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong Weaponid {
    get { return weaponid_; }
    set {
      weaponid_ = value;
    }
  }

  /// <summary>Field number for the "detach_gemid" field.</summary>
  public const int DetachGemidFieldNumber = 2;
  private ulong detachGemid_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ulong DetachGemid {
    get { return detachGemid_; }
    set {
      detachGemid_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScWeaponDetachGem);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScWeaponDetachGem other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Weaponid != other.Weaponid) return false;
    if (DetachGemid != other.DetachGemid) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Weaponid != 0UL) hash ^= Weaponid.GetHashCode();
    if (DetachGemid != 0UL) hash ^= DetachGemid.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Weaponid != 0UL) {
      output.WriteRawTag(8);
      output.WriteUInt64(Weaponid);
    }
    if (DetachGemid != 0UL) {
      output.WriteRawTag(16);
      output.WriteUInt64(DetachGemid);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Weaponid != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(Weaponid);
    }
    if (DetachGemid != 0UL) {
      size += 1 + pb::CodedOutputStream.ComputeUInt64Size(DetachGemid);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScWeaponDetachGem other) {
    if (other == null) {
      return;
    }
    if (other.Weaponid != 0UL) {
      Weaponid = other.Weaponid;
    }
    if (other.DetachGemid != 0UL) {
      DetachGemid = other.DetachGemid;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Weaponid = input.ReadUInt64();
          break;
        }
        case 16: {
          DetachGemid = input.ReadUInt64();
          break;
        }
      }
    }
  }

}

public sealed partial class ScSyncAllWiki : pb::IMessage<ScSyncAllWiki> {
  private static readonly pb::MessageParser<ScSyncAllWiki> _parser = new pb::MessageParser<ScSyncAllWiki>(() => new ScSyncAllWiki());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<ScSyncAllWiki> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1092]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncAllWiki() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncAllWiki(ScSyncAllWiki other) : this() {
    latestUnlock_ = other.latestUnlock_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public ScSyncAllWiki Clone() {
    return new ScSyncAllWiki(this);
  }

  /// <summary>Field number for the "latest_unlock" field.</summary>
  public const int LatestUnlockFieldNumber = 1;
  private static readonly pb::FieldCodec<uint> _repeated_latestUnlock_codec
      = pb::FieldCodec.ForUInt32(10);
  private readonly pbc::RepeatedField<uint> latestUnlock_ = new pbc::RepeatedField<uint>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<uint> LatestUnlock {
    get { return latestUnlock_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as ScSyncAllWiki);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(ScSyncAllWiki other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!latestUnlock_.Equals(other.latestUnlock_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= latestUnlock_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    latestUnlock_.WriteTo(output, _repeated_latestUnlock_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += latestUnlock_.CalculateSize(_repeated_latestUnlock_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(ScSyncAllWiki other) {
    if (other == null) {
      return;
    }
    latestUnlock_.Add(other.latestUnlock_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10:
        case 8: {
          latestUnlock_.AddEntriesFrom(input, _repeated_latestUnlock_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class CsUnlockWiki : pb::IMessage<CsUnlockWiki> {
  private static readonly pb::MessageParser<CsUnlockWiki> _parser = new pb::MessageParser<CsUnlockWiki>(() => new CsUnlockWiki());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsUnlockWiki> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1093]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsUnlockWiki() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsUnlockWiki(CsUnlockWiki other) : this() {
    wikiId_ = other.wikiId_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsUnlockWiki Clone() {
    return new CsUnlockWiki(this);
  }

  /// <summary>Field number for the "wiki_id" field.</summary>
  public const int WikiIdFieldNumber = 1;
  private uint wikiId_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public uint WikiId {
    get { return wikiId_; }
    set {
      wikiId_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsUnlockWiki);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsUnlockWiki other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (WikiId != other.WikiId) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (WikiId != 0) hash ^= WikiId.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (WikiId != 0) {
      output.WriteRawTag(8);
      output.WriteUInt32(WikiId);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (WikiId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeUInt32Size(WikiId);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsUnlockWiki other) {
    if (other == null) {
      return;
    }
    if (other.WikiId != 0) {
      WikiId = other.WikiId;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          WikiId = input.ReadUInt32();
          break;
        }
      }
    }
  }

}

public sealed partial class CsMarkWikiRead : pb::IMessage<CsMarkWikiRead> {
  private static readonly pb::MessageParser<CsMarkWikiRead> _parser = new pb::MessageParser<CsMarkWikiRead>(() => new CsMarkWikiRead());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<CsMarkWikiRead> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1094]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsMarkWikiRead() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsMarkWikiRead(CsMarkWikiRead other) : this() {
    wikiIds_ = other.wikiIds_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public CsMarkWikiRead Clone() {
    return new CsMarkWikiRead(this);
  }

  /// <summary>Field number for the "wiki_ids" field.</summary>
  public const int WikiIdsFieldNumber = 1;
  private static readonly pb::FieldCodec<uint> _repeated_wikiIds_codec
      = pb::FieldCodec.ForUInt32(10);
  private readonly pbc::RepeatedField<uint> wikiIds_ = new pbc::RepeatedField<uint>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public pbc::RepeatedField<uint> WikiIds {
    get { return wikiIds_; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as CsMarkWikiRead);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(CsMarkWikiRead other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if(!wikiIds_.Equals(other.wikiIds_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    hash ^= wikiIds_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    wikiIds_.WriteTo(output, _repeated_wikiIds_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    size += wikiIds_.CalculateSize(_repeated_wikiIds_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(CsMarkWikiRead other) {
    if (other == null) {
      return;
    }
    wikiIds_.Add(other.wikiIds_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10:
        case 8: {
          wikiIds_.AddEntriesFrom(input, _repeated_wikiIds_codec);
          break;
        }
      }
    }
  }

}

public sealed partial class Opts : pb::IMessage<Opts> {
  private static readonly pb::MessageParser<Opts> _parser = new pb::MessageParser<Opts>(() => new Opts());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pb::MessageParser<Opts> Parser { get { return _parser; } }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public static pbr::MessageDescriptor Descriptor {
    get { return global::CampofinaleReflection.Descriptor.MessageTypes[1095]; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  pbr::MessageDescriptor pb::IMessage.Descriptor {
    get { return Descriptor; }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public Opts() {
    OnConstruction();
  }

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public Opts(Opts other) : this() {
    unique_ = other.unique_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public Opts Clone() {
    return new Opts(this);
  }

  /// <summary>Field number for the "unique" field.</summary>
  public const int UniqueFieldNumber = 1;
  private bool unique_;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Unique {
    get { return unique_; }
    set {
      unique_ = value;
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override bool Equals(object other) {
    return Equals(other as Opts);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public bool Equals(Opts other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Unique != other.Unique) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override int GetHashCode() {
    int hash = 1;
    if (Unique != false) hash ^= Unique.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public override string ToString() {
    return pb::JsonFormatter.ToDiagnosticString(this);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void WriteTo(pb::CodedOutputStream output) {
    if (Unique != false) {
      output.WriteRawTag(8);
      output.WriteBool(Unique);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public int CalculateSize() {
    int size = 0;
    if (Unique != false) {
      size += 1 + 1;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(Opts other) {
    if (other == null) {
      return;
    }
    if (other.Unique != false) {
      Unique = other.Unique;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  public void MergeFrom(pb::CodedInputStream input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Unique = input.ReadBool();
          break;
        }
      }
    }
  }

}

#endregion


#endregion Designer generated code
